데비안 사지(sarge)에서의 iptables 자동 시작 실행 | 리눅스 2005/05/11
08:30
http://blog.naver.com/rekcuf/140012786995
우디(woody)에서는,
콘솔상에서 #iptables -A INPUT -p tcp --dport 22 -j ACCEPT 등을 이용하여
입력하고,
iptables -L으로 규칙 확인 후,
/etc/init.d/iptables save (파일이름)
/etc/init.d/iptables load (파일이름)
/etc/init.d/iptables save active
파일 위치는 /var/lib/iptables/내의 (파일이름) .
-------------------------------------------------------------
사지(sarge)2.6에서는,
/etc/init.d/iptables 와 /var/lib/iptables/ 가 없는 경우,
(1) woody의 iptables 파일과 디렉토리를 그대로 복사해 넣어도 된다.
(2) 또는 iptables 규칙 입력 후,
# iptables-save > (파일이름, 예: /etc/myrule) 로 저장하고,
# iptables-restore (파일이름, 예: /etc/myrule) 로 필요할 때 적용시
킨다.
단, 이 경우는 시스템 재시작시 자동 실행이 안 된다 (rcconf에도 안 잡
힌다).
따라서, 자동 실행 스크립트를 /etc/init.d에 만들어 준다.
(http://debianusers.org/seminar/conference1/network/packet_filter.txt 참조).
(아래는 참조문서의 내용 그대로이므로 변화필요 ?)
-------------------------------------------------------------
/etc/init.d/myRule
#/bin/sh <--- #!/bin/sh (?)
case "$1" in
start)
echo "iptables myrule start"
iptables-restore /etc/myrule.conf <--- myrule
stop)
echo "iptables myrule stop"
iptables -F
iptables -t nat -F
;;
restart)
echo "iptables stop"
iptables -F
iptables -t nat -F
echo "iptables start"
iptables-restore /etc/myrule.conf
esac
exit 0
-------------------------------------------------------------
(3) 또는 자동 실행을 위해서는 아예 /etc/init.d 같은 아무 곳에나 iptables
규칙을 적은 shell script를 만든후, 자신이 실행하는 런레벨의 rc().d/ 에 링
크를 만들어 준다.
[예]
# cd /etc/init.d
# vi myrule <--- (iptables 규칙을 작성한다. 아래는 아주 간단한 예)
#!/bin/sh
modprobe iptable_filter
/sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 1:1024 -j REJECT
# chmod 777 myrule
# cd /etc/rc5.d <--- (실행 런레벨이 5일 경우)
# ln -s ../init.d/myrule S99myrule 과 같이 한다.
(iptables 규칙 입력하고 iptables -L 확인후),
# cd /usr/share/doc/iptables/examples
# gunzip oldinitdscript.gz
# cp oldinitdscript /etc/init.d/iptables
# cd /etc/init.d/iptables
# chmod 777 iptables
# mkdir /var/lib/iptables
# /etc/init.d/iptables save active
# rcconf (iptables 지정해 준다.)
# reboot하여 확인...