溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何部署DNSmasq

發(fā)布時(shí)間:2022-02-18 16:10:30 來源:億速云 閱讀:167 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“如何部署DNSmasq”,在日常操作中,相信很多人在如何部署DNSmasq問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何部署DNSmasq”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

DNSmasq是一個(gè)輕巧的,容易使用的DNS服務(wù)工具,它可以應(yīng)用在內(nèi)部網(wǎng)和Internet連接的時(shí)候的IP地址NAT轉(zhuǎn)換,也可以用做小型網(wǎng)絡(luò)的DNS服務(wù)。

如何部署DNSmasq

1.直接使用yum安裝,并且設(shè)置開機(jī)自啟,關(guān)閉SELinux

[root@localhost ]# yum install dnsmasq* -y[root@localhost ]# chkconfig dnsmasq on

2.修改本地網(wǎng)絡(luò)配置文件

修改網(wǎng)卡參數(shù)

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

IPADDR=172.19.30.250

PREFIX=24

GATEWAY=172.19.30.254

DNS1=127.0.0.1

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME=”System eth0″

**修改**hostname

[root@localhost ~]# vim /etc/sysconfig/networkNETWORKING=yes

HOSTNAME=ad.cloud.com

GATEWAY=172.19.30.254

3.修改iptables(嫌麻煩的直接關(guān)掉就可以了)

  • 允許本機(jī)的53端口可對(duì)外訪問
$ iptables -A INPUT -p udp -m udp –dport 53 -j ACCEPT

$ iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT
  • 轉(zhuǎn)發(fā)DNS請(qǐng)求

# 開啟流量轉(zhuǎn)發(fā)功能

$ echo ‘1’ > /proc/sys/net/ipv4/ip_forward

$ echo ‘1’ > /proc/sys/net/ipv6/ip_forward   # IPv6 用戶選用

# 添加流量轉(zhuǎn)發(fā)規(guī)則,將外部到53的端口的請(qǐng)求映射到Dnsmasq服務(wù)器的53端口

$ iptables -t nat -A PREROUTING -p udp –dport 53 -j REDIRECT –to-ports 53

$ iptables -t nat -A PREROUTING -p tcp –dport 53 -j REDIRECT –to-ports 53

# 如果要限制只允許內(nèi)網(wǎng)的請(qǐng)求,方法如下,如果是一個(gè)網(wǎng)卡,直接把eth2替換成eth0即可

$ iptables -t nat -A PREROUTING -i eth2 -p upd –dport 53 -j REDIRECT –to-port 53

  • 保存規(guī)則并重啟
$ service iptables save $ service iptables restart

4.修改/etc/dnsmasq.conf

[root@localhost dnsmasq.d]# vim /etc/dnsmasq.conf填入以下內(nèi)容

no-hosts

#不加載本地的/etc/hosts文件

local-ttl=3600

#本地緩存時(shí)間,通常不要求緩存本地,這樣更改hosts文件后即使生效

cache-size=1000000

#最大緩存條數(shù)

dns-forward-max=1000000

listen-address=127.0.0.1,172.19.30.250

#如果想要這臺(tái)服務(wù)器做解析,就要填上自己的地址,并且填上127.0.0.1的地址

resolv-file=/etc/resolv.dnsmasq.conf

#這個(gè)文件是可以自定義的,我就跟隨大流,直接復(fù)制了一份resolv.conf改了名稱就用了

all-servers

#這條語句的意思就是如果本地沒查詢到,則想我們的resolv.dnsmasq.conf文件中所有的DNS查詢,誰查到的快就用誰的

log-queries

#開啟日志選項(xiàng)

log-facility=/var/log/dnsmasq/dnsmasq.loglog-async=100

#異步log,緩解阻塞,提高性能。默認(rèn)為5,最大為100

conf-dir=/etc/dnsmasq.d

#這條應(yīng)該是最后一句,它的作用其實(shí)就是說明該目錄下的所有.conf文件都是要做解析的

**提示:**如果咱們內(nèi)網(wǎng)中存在多個(gè)不同域名,我們可以加上上面的這一句,我們做解析時(shí)就好分類配置文件

5.添加resolv解析文件

修改我們剛才復(fù)制的配置文件,指定我們正常需要的DNS,這樣的話我們的內(nèi)網(wǎng)就可以正常的使用網(wǎng)絡(luò),而不至于用了自己搭建的DNS,卻訪問不了互聯(lián)網(wǎng)。

[root@localhost dnsmasq.d]# vim /etc/resolv.dnsmasq.confnameserver 202.106.0.20

nameserver 192.168.59.241

nameserver 114.114.114.114

nameserver 8.8.8.8

nameserver 168.95.1.1

#最后一條為臺(tái)灣的DNS,我們蘋果的官方appstore下載東西會(huì)快一些,并且蘋果電腦在線重裝系統(tǒng)用這個(gè)DNS也會(huì)快一些

6.添加其他域名解析

我們切換到這個(gè)目錄下,添加我們不同內(nèi)部域名的解析

[root@localhost dnsmasq.d]#cd /etc/dnsmasq.d/

添加一個(gè)解析文件

[root@localhost dnsmasq.d]#vim cloud.conf[root@localhost dnsmasq.d]# lscloud.conf  seccloud.conf

7.配置文件語法規(guī)則

正常下我們添加的解析內(nèi)容如下,解析地址的語法規(guī)則為:

address=/domain/ip_address

[root@localhost dnsmasq.d]#cat cloud.confaddress=/im.cloud.top/192.168.59.12

address=/git.cloud.top/192.168.59.20

address=/crm.cloud.top/192.168.59.11

address=/ftp.cloud.top/172.19.2.253

address=/note.cloud.top/172.19.30.250

8.啟動(dòng)dnsmasq服務(wù)

[root@localhost ~]#service dnsmasq start

9.我們進(jìn)行測(cè)試驗(yàn)證:

自己的筆記本上域名訪問進(jìn)行測(cè)試:

localhost:~ admin$ nslookup

> git.cloud.top

Server:172.19.30.250

Address:172.19.30.250#53Name:git.cloud.top

Address: 192.168.59.20

> www.baidu.com

Server:172.19.30.250

Address:172.19.30.250#53Non-authoritative answer:

www.baidu.comcanonical name = www.a.shifen.com.

Name:www.a.shifen.com

Address: 61.135.169.121

Name:www.a.shifen.com

Address: 61.135.169.125

緩存驗(yàn)證:

[root@ad ~]# dig www.baidu.com; > DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 > www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER#53(127.0.0.1)

;; WHEN: Sat Jul  1 13:25:51 2017

;; MSG SIZE  rcvd: 226

[root@ad ~]# dig www.baidu.com; > DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 > www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER#53(127.0.0.1)

;; WHEN: Sat Jul  1 13:25:59 2017

;; MSG SIZE  rcvd: 93

我們可以看到,上次解析保留了緩存,這次解析直接讀取了緩存文件。

到此,關(guān)于“如何部署DNSmasq”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI