OpenWrt路由器上的SmartDNS提供DNS服务,侦听端口为6053,Windows不能指定DNS端口号所以试着用一台内网Ubuntu虚拟机转发DNS请求.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/bin/bash DNS_server="192.168.1.1" DNS_port="6053"
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination ${DNS_server}:${DNS_port} iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to-destination ${DNS_server}:${DNS_port}
iptables -t nat -A POSTROUTING -p udp -d ${DNS_server} --dport ${DNS_port} -j MASQUERADE iptables -t nat -A POSTROUTING -p tcp -d ${DNS_server} --dport ${DNS_port} -j MASQUERADE
iptables -I FORWARD -d ${DNS_server} -p udp --dport ${DNS_port} -j ACCEPT iptables -I FORWARD -s ${DNS_server} -p udp --sport ${DNS_port} -j ACCEPT
iptables -I FORWARD -d ${DNS_server} -p tcp --dport ${DNS_port} -j ACCEPT iptables -I FORWARD -s ${DNS_server} -p tcp --sport ${DNS_port} -j ACCEPT
|