iptables의 rule을 시시템 부팅시 적용시기기
글쓴이: rain / 작성시간: 월, 2004/09/13 - 12:52오후
iptables를 설정하는 스크립트를 하나 만들었습니다.
이걸 부팅시에 실행시키도록 할려구 했는데
/etc/init.d/iptables라는 스크립트를 보니
iptables-save/iptables-restore를 이용해서
rule을 적용시키는 거 같더라구요.
rule파일을 /var/lib/iptables/ 밑에 저장하는 거 같긴한데
잘 않돼네요.
저는 debian woody(kernel 2.4.26)를 사용하고 있습니다.
Forums:
전 fedora 사용자이긴 합니다만스크립트를 실행시켜서 rule을 적
전 fedora 사용자이긴 합니다만
스크립트를 실행시켜서 rule을 적용시키고 iptables-save를 하면 뭔가 텍스트가 쫙 나오지 않습니까?
그걸 리다이렉트해서 서비스 시작시 읽는 rule 파일에 써버리면 되더군요.
저의 경우는 /etc/sysconfig/iptables 파일이라
iptables-save > /etc/sysconfig/iptables
해서 저장하고
/etc/init.d/iptables restart
해서 확인해봤습니다.
잘 되던데요.
그리고 마지막으로 iptables를 시작프로그램으로 등록해줘야겠죠. 전 ntsysv로 했습니다 데뱐에도 같은 게 있겠죠?
rommance.net
음...
위와 같이 생성한 iptables rules 는 restart와 같은 인자를 필요로 하지 않습니다. 단순히 flush 하고 add 하겠지요.
ntsysv 와 같이 사용하려면 init.d 아래의 다른 스크립트와 같이 start,stop 정도는 case 를 이용해 별도의 작동을 하도록 스크립트를 적어야 합니다.
위의 글은 헛겁니다.
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
윗 글은 읽지 마세요! 읽지 마세요!
죄송합니다.
송지석님의 글을 제대로 읽지 않고 답변을 달고 말았습니다. 달고 나서 지우려고 보니 손님으로 적었더군요.
송지석님 글대로 하면 됩니다. 100% 됩니다.
송지석님 죄송합니다. (_ _) 죄송합니다. 죄송합니다.
-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===
Debian 에서!
debian 에서는 다음과 같은 스타일로 지정합니다. (/etc/default/iptables를 참고합니다)
1. 우선 모든 규칙(firewall,portforwarding,NAT 등등)을 적용하여 필터를 시스템에 적용시키고 나서 다음의 명령을 실행합니다.
/etc/init.d/iptables save active
2. 그리고 iptable이 작동하지 않을 때 (보통은 모든 룰을 지우고 정책을 기본인 ACCEPT로 바꾸겠죠)로 시스템을 설정한 뒤에 다음을 실행합니다.
/etc/init.d/iptables save inactive
다른 내용은 /etc/default/iptables 를 참고하세요.
ps: 송지석님 죄송합니다. 송지석님 죄송합니다. 송지석님 죄송합니다.
-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===
음...위에 말씀하신건 잘 모르겠고요....^^ 간단히 원리를 말씀드
음...위에 말씀하신건 잘 모르겠고요....^^
간단히 원리를 말씀드리자면(배포판마다 다틀리기때문입니다...),
iptalbes-save > save_file
하시면 현재 설정이 저장이 되구요. 부팅하실때는
iptables-restore < save_file
하시면 적용이 되는 것입니다. 배포판마다의 부팅스크립트 차이가 있으니깐 적당히
작성, 혹은 수정해 사용하시면 되겠죠...
---------------------------------------------------
야!...
Re: Debian 에서!
헉 그렇게 죄송하실 것 까지야 ^^ 저는 아무 상관 없었으니 잊어버리시죠.
rommance.net
답변 감사합니다.
제가 iptables를 첨 써보는 거라 좀 잘 않돼네요.
로 하면 /var/lib/iptables/active로 저장이 되더군요.
를 하는 경우에 /var/lib/iptables/active를 load하구요.
설정 했을 때 iptables -L의 출력과 재부팅 했을 때
iptables -L 출력 결과가 같아야 되는 거죠?
그런데 재부팅을 하면 설정이 되어 있지 않습니다.
/etc/init.d/iptabes 가 실행돼지 않는 것 같아서
update-rc.d로 해보아도 이미 링크가 걸려있다구 나옵니다.
dpkg-reconfigure iptables 해서 /etc/init.d/iptables 에 관한 설정을
해줘도 않돼네요.
먼가 빠진거 같은데....도통 어딘지 감을 못잡겠네요....
update-rc.d 는 잘 모르겠는데혹시 /etc/init.d/ip
update-rc.d 는 잘 모르겠는데
혹시 /etc/init.d/iptables status 에서 보면 시작되어있지 않은 것 아닙니까?
rommance.net
[code:1]ns:~# /etc/init.d/iptables
status는 없는 인자 같습니다. 참고로 저는 debian woody 사용자입니다.
혹시 부팅시에 적용시키려면
커널 옵션 중에 설정해줘야 하는 부분이 있는지요?
세상에서 가장 이해하기 힘든 것은 내 자신이 그것을 이해할 수 있다는 것이다.
- 알베르트 아인슈타인 -
죄송합니다. 역시 fedora와 debian이 다른가보군요.그냥 궁금
죄송합니다. 역시 fedora와 debian이 다른가보군요.
그냥 궁금했던 것이 iptables가 실행되고 있는 지였습니다.
update-rc.d 를 찾아보니 ntsysv랑 같은 역할이로군요.
로그 메시지를 잘 파보셔야 할 듯. 도움이 못 돼 죄송하네요.
rommance.net
댓글 달기