DNS umleiten
Notiz: Falls ich wieder einmal jemanden einen DNS Server aufzwingen möchte.
Alles auf Port 53 auf lokalen DNS umleiten
# alle DNS Anfragen auf lokalen Bind9 umleiten [ $ifc_eth1 -eq 1 ] && $iptables -t nat -A PREROUTING -i eth1 -p udp -s $net_eth1 -d ! $ip_eth1 --dport 53 -j DNAT --to $ip_eth1 [ $ifc_eth1 -eq 1 ] && $iptables -t nat -A PREROUTING -i eth1 -p tcp -s $net_eth1 -d ! $ip_eth1 --dport 53 -j DNAT --to $ip_eth1 [ $ifc_eth2 -eq 1 ] && $iptables -t nat -A PREROUTING -i eth2 -p udp -s $net_eth2 -d ! $ip_eth2 --dport 53 -j DNAT --to $ip_eth2 [ $ifc_eth2 -eq 1 ] && $iptables -t nat -A PREROUTING -i eth2 -p tcp -s $net_eth2 -d ! $ip_eth2 --dport 53 -j DNAT --to $ip_eth2 [ $ifc_eth4 -eq 1 ] && $iptables -t nat -A PREROUTING -i eth4 -p udp -s $net_eth4 -d ! $ip_eth4 --dport 53 -j DNAT --to $ip_eth4 [ $ifc_eth4 -eq 1 ] && $iptables -t nat -A PREROUTING -i eth4 -p tcp -s $net_eth4 -d ! $ip_eth4 --dport 53 -j DNAT --to $ip_eth4
Bind nach draussen
# Bind9 darf DNS Anfragen stellen [ $ifc_eth0 -eq 1 ] && $iptables -A OUTPUT -o eth0 -p udp -s $ip_eth0 --dport 53 -m owner --uid-owner 103 -m state --state NEW -j ACCEPT [ $ifc_eth0 -eq 1 ] && $iptables -A OUTPUT -o eth0 -p tcp -s $ip_eth0 --dport 53 -m owner --uid-owner 103 -m state --state NEW -j ACCEPT
Oder nur als Forwarder auf die DNS Server in der resolv.conf?
# DNS Server aus der /etc/resolv.conf zaehlen int_dnsserver=$($grep ^nameserver /etc/resolv.conf | $wc -l | $tr -d " ") # DNS Anfragen auf Server in /etc/resolv.conf for ((I=1; $I <= $int_dnsserver; I++)) ; do # DNS-IP's ermitteln dnsip=$($grep ^nameserver /etc/resolv.conf | $head -n $I | $tail -n 1 | $cut -d " " -f 2) # $DNSIP in die chains schreiben [ $ifc_eth0 -eq 1 ] && $iptables -A OUTPUT -o eth0 -p tcp -s $ip_eth0 -d $dnsip --dport 53 -m state --state NEW -j ACCEPT [ $ifc_eth0 -eq 1 ] && $iptables -A OUTPUT -o eth0 -p udp -s $ip_eth0 -d $dnsip --dport 53 -m state --state NEW -j ACCEPT # Schleifenabbruch if [ $I -eq $int_dnsserver ] ; then break fi done