W oparciu o artykuł na stronie http://www.cyberciti.biz/tips/linux-ipt ... rt-53.html stworzyłem firewalla dla swojego serwera DNS oraz dwóch zapasowych serwerów DNS. Zmienna SERVER_IP zawiera adres ip serwera na którym będzie uruchomiona usługa bind oraz firewall, a DNS1_IP i DNS2_IP to adresy ip serwerów zapasowych na które będą transferowane pliki stref. Będę wdzięczny za ewentualne opinie.
Kod: Zaznacz cały
#!/bin/sh
IPTABLES=/sbin/$IPTABLES
$IPTABLES -F
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
$IPTABLES -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Zezwalam na zapytania do serwera DNS
SERVER_IP="202.54.10.20"
iptables -A INPUT -p udp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -s $SERVER_IP --sport 53 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --sport 53 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -s $SERVER_IP --sport 53 -d 0/0 --dport 53 -m state --state ESTABLISHED -j ACCEPT
# Ta część pozwala na transfer strefy do serwera zapasowego
DNS1_IP="202.54.10.1"
iptables -A INPUT -p tcp -s $DNS1_IP --sport 1024:65535 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 53 -d $DNS1_IP --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
DNS2_IP="202.54.10.2"
iptables -A INPUT -p tcp -s $DNS2_IP --sport 1024:65535 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 53 -d $DNS2_IP --dport 1024:65535 -m state --state ESTABLISHED -j ACCEP