Centos6.5-dnsmasq安装
1、使用yum install dnsmasq -y 安装dns(含dns server和dns代理功能)
2、查询dnsmasq已经安装成功
[root@localhost ~]# rpm -q dnsmasq
dnsmasq-2.48-18.el6_9.x86_64
[root@localhost ~]#
3、配置/etc/dnsmasq.conf文件
对于/etc/dnsmasq.conf文件的行太多的话,我们只需要添加我们需要的行,先把所有行都注释掉,然后echo追加进去我们所需要的行。
3.1、修改/etc/dnsmasq.conf的快速方法:在每行的头添加字符,比如"#",注释掉文件的所有行,命令如下:
sed -i 's/^/#&/g' /etc/dnsmasq.conf //注释掉/etc/dnsmasq.conf文件中的所有的行
cat /etc/dnsmasq.conf |grep -v "#" //查看注释是否OK
3.2、然后把需要的行echo追加进去
echo resolv-file=/etc/resolv.dnsmasq.conf >>/etc/dnsmasq.conf #此/etc/resolv.dnsmasq.conf文件还需后续编辑
echo strict-order >>/etc/dnsmasq.conf
echo interface=eth0 >>/etc/dnsmasq.conf #对特定接口提供dns服务
echo interface=eth1 >>/etc/dnsmasq.conf #在增加一个interface=可对多个接口提供dns服务
echo except-interface=eth2 >>/etc/dnsmasq.conf #对特定接口不提供dns服务
echo addn-hosts=/etc/dnsmasq.hosts >>/etc/dnsmasq.conf #此/etc/dnsmasq.hosts文件还需后续编辑
[root@localhost ~]# cat /etc/dnsmasq.conf |grep -v "#" //查看echo是否追加ok
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
interface=eth0
interface=eth1
except-interface=eth2
addn-hosts=/etc/dnsmasq.hosts
[root@localhost ~]#
////////sed -i 's/^#//' 123.txt //删除文件的行首字符# 注意 要加-i才能修改文件生效
////////sed -i 's/^/#&/g' 123.txt //每行添加行首字符# 注意 要加-i才能修改文件生效
4、编辑配置文件
4.1编辑/etc/resolv.dnsmasq.conf配置文件
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
[root@localhost ~]# vim /etc/resolv.dnsmasq.conf
nameserver 8.8.8.8
[root@localhost ~]#
4.2编辑 /etc/dnsmasq.hosts配置文件
cp /etc/hosts /etc/dnsmasq.hosts
[root@localhost ~]# vim /etc/dnsmasq.hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
100.100.100.100 rms.china.com *.china.com #劫持域名映射到100.100.100.100
2300:8:8:8::1 rms.china.com *.china.com
5、service dnsmasq restart 启动服务
[root@Apache zfp]# service dnsmasq start
Starting dnsmasq: [确定]
[root@Apache zfp]#
[root@Apache zfp]# service dnsmasq status
dnsmasq (pid 1139) 正在运行...
[root@Apache zfp]#
6、查看53端口监听状态
[root@localhost ~]# netstat -tunlp |grep 53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 2465/dnsmasq
tcp 0 0 :::53 :::* LISTEN 2465/dnsmasq
udp 0 0 0.0.0.0:53 0.0.0.0:* 2465/dnsmasq
udp 0 0 :::53 :::* 2465/dnsmasq
[root@localhost ~]#
7、设置随系统启动dnsmasq服务
[root@localhost ~]#chkconfig dnsmasq on //随linux系统启动dnsmasq服务
[root@localhost ~]# chkconfig --list |grep dnsmasq //查看是否设置成功
dnsmasq 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@localhost ~]#
注意:防火墙规则可能将端口收到的53端口的报文丢弃而未交给响应的监听进程(dnsmasq),将下面的防火墙规则做一下
iptables -I INPUT -p udp --dport 53 -j ACCEPT
或者
iptables -I INPUT -i ens33+ -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i ppp+ -p udp --dport 53 -j ACCEPT
注意:
可以tail -f /var/log/messages &打开,service dnsmasq restart 查看dnsmasq进程在启动过程中的日志信息,看看是否有warning、error
注意:
也要注意下防火墙规则(INPUT链)是否丢弃了报文。iptables -nvL
--------End Of Text-------