|
hosts文件的强大之处还在于能够劫持解析,譬如mirror.centos.org是CentOS仓库所在,几乎是机器正常必访问一个域名,我将它解析成一个内网地址,搭建一个内网镜像站,不仅内网机器也可以及时得到安全更新,每月还可以节省很多流量.
修改配置,增加自定义hosts文件位置.
$ vi /etc/dnsmasq.conf
addn-hosts=/etc/dnsmasq.hosts
在/etc/dnsmasq.hosts文件中添加DNS记录
$ vi /etc/dnsmasq.hosts
192.168.101.107 ? web01.mike.com ? ?web01
192.168.101.107 ? web02.mike.com ? ?web02
$ vi /etc/dnsmasq.d/address.conf
# 指定dnsmasq默认查询的上游服务器,此处以Google Public DNS为例.
server=8.8.8.8
server=8.8.4.4
# 把所有.cn的域名全部通过114.114.114.114这台国内DNS服务器来解析
server=/cn/114.114.114.114
# 给*.apple.com和taobao.com使用专用的DNS
server=/taobao.com/223.5.5.5
server=/.apple.com/223.5.5.5
# 把www.hi-linux.com解析到特定的IP
address=/www.hi-linux.com/192.168.101.107
在这里hi-linux.com相当于*.mike.com泛解析
address=/hi-linux.com/192.168.101.107
注:也可以直接添加到/etc/dnsmasq.conf中,不过/etc/dnsmasq.d/*.conf的优先级大于/etc/dnsmasq.conf.
修改iptables配置
$ iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
$ iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
# 开启流量转发功能
$ echo '1' > /proc/sys/net/ipv4/ip_forward
$ echo '1' > /proc/sys/net/ipv6/ip_forward ? # IPv6 用户选用
# 添加流量转发规则,将外部到53的端口的请求映射到Dnsmasq服务器的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
# 如果要限制只允许内网的请求,方法如下
$ iptables -t nat -A PREROUTING -i eth1 -p upd --dport 53 -j REDIRECT --to-port 53
$ service iptables save
$ service iptables restart
测试Dnsmasq
$ service dnsmasq start
将其他机器的DNS换成dnsmasq所在的IP即可,就这么容易.
$ dig @192.168.101.104 www.hi-linux.com
一些Dnsmasq技巧
Dnsmasq性能优化
(编辑:网站开发网_盐城站长网 )
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|