최근리눅스의 DNS 설정시 IPtable 설정

최근 리눅스 OS의 경우 기본적으로 Firewall mode로 설치되도록 되어 있습니다.

OS설치후 로컬에서 테스트하면 잘되는데  서비스를 돌리면 되지 않는 경우가 발생합니다.

DNS서버의 경우  IPTables를 사용하지 않거나, 반드시 TCP/UDP 53번포트를 허용해줘야 서비스가 됩니다.

 

1. 리눅스의 경우

# ntsysv 를 통해  iptables 체크해제해서 부팅시 iptables서비스가 올라오지 않도록 한다.

iptables 서비스 잠시 내리는 명령어

# service iptables stop

 

2. 부팅시 tcp/udp 53번 포트 열어주는법 - rc.local에 넣어 허용해주는법

etc# more rc.local


echo "Starting Named.."
 /usr/sbin/named -u named 
 

echo "Starting Apache Webserver.."
/usr/local/apache/bin/apachectl start
  

#echo "Starting MySQL Database"
#/usr/local/mysql/bin/safe_mysqld -uroot &
  
echo "Sync Time.."
/usr/local/bin/ntpdate time.bora.net &> /dev/null

   
echo "Starting Reject Host..."
/sbin/route add -host 210.143.108.195 reject

  
echo "Starting adjust local MTU Value..."
/sbin/ifconfig lo mtu 1500
  
echo "Adjust Firewall Rule..."
/sbin/iptables -I INPUT -s 210.172.169.181 -j DROP

 

# for system을 위해 허용해야 하는 포트
/sbin/iptables -I INPUT -p udp --dport 20 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 21 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 53 -j ACCEPT     <- 요부분 추가
/sbin/iptables -I INPUT -p tcp --dport 53 -j ACCEPT      <- 요부분 추가

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -P INPUT DROP

 

- 이상 -