iptables의 rule을 시시템 부팅시 적용시기기

rain의 이미지

iptables를 설정하는 스크립트를 하나 만들었습니다.
이걸 부팅시에 실행시키도록 할려구 했는데
/etc/init.d/iptables라는 스크립트를 보니
iptables-save/iptables-restore를 이용해서
rule을 적용시키는 거 같더라구요.
rule파일을 /var/lib/iptables/ 밑에 저장하는 거 같긴한데
잘 않돼네요.
저는 debian woody(kernel 2.4.26)를 사용하고 있습니다.

송지석의 이미지

전 fedora 사용자이긴 합니다만
스크립트를 실행시켜서 rule을 적용시키고 iptables-save를 하면 뭔가 텍스트가 쫙 나오지 않습니까?
그걸 리다이렉트해서 서비스 시작시 읽는 rule 파일에 써버리면 되더군요.
저의 경우는 /etc/sysconfig/iptables 파일이라

iptables-save > /etc/sysconfig/iptables

해서 저장하고

/etc/init.d/iptables restart
해서 확인해봤습니다.
잘 되던데요.
그리고 마지막으로 iptables를 시작프로그램으로 등록해줘야겠죠. 전 ntsysv로 했습니다 데뱐에도 같은 게 있겠죠?

익명 사용자의 이미지

송지석 wrote:
전 fedora 사용자이긴 합니다만
스크립트를 실행시켜서 rule을 적용시키고 iptables-save를 하면 뭔가 텍스트가 쫙 나오지 않습니까?
그걸 리다이렉트해서 서비스 시작시 읽는 rule 파일에 써버리면 되더군요.
저의 경우는 /etc/sysconfig/iptables 파일이라

iptables-save > /etc/sysconfig/iptables

해서 저장하고

/etc/init.d/iptables restart
해서 확인해봤습니다.
잘 되던데요.
그리고 마지막으로 iptables를 시작프로그램으로 등록해줘야겠죠. 전 ntsysv로 했습니다 데뱐에도 같은 게 있겠죠?

위와 같이 생성한 iptables rules 는 restart와 같은 인자를 필요로 하지 않습니다. 단순히 flush 하고 add 하겠지요.

ntsysv 와 같이 사용하려면 init.d 아래의 다른 스크립트와 같이 start,stop 정도는 case 를 이용해 별도의 작동을 하도록 스크립트를 적어야 합니다.

무한포옹의 이미지

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
윗 글은 읽지 마세요! 읽지 마세요!

죄송합니다.

송지석님의 글을 제대로 읽지 않고 답변을 달고 말았습니다. 달고 나서 지우려고 보니 손님으로 적었더군요.

송지석님 글대로 하면 됩니다. 100% 됩니다.

송지석님 죄송합니다. (_ _) 죄송합니다. 죄송합니다.

-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===

무한포옹의 이미지

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 ===

orangecrs의 이미지

음...위에 말씀하신건 잘 모르겠고요....^^
간단히 원리를 말씀드리자면(배포판마다 다틀리기때문입니다...),

iptalbes-save > save_file

하시면 현재 설정이 저장이 되구요. 부팅하실때는

iptables-restore < save_file

하시면 적용이 되는 것입니다. 배포판마다의 부팅스크립트 차이가 있으니깐 적당히
작성, 혹은 수정해 사용하시면 되겠죠...

---------------------------------------------------
야!...

송지석의 이미지

무한포옹 wrote:
ps: 송지석님 죄송합니다. 송지석님 죄송합니다. 송지석님 죄송합니다.

헉 그렇게 죄송하실 것 까지야 ^^ 저는 아무 상관 없었으니 잊어버리시죠.
익명 사용자의 이미지

제가 iptables를 첨 써보는 거라 좀 잘 않돼네요.

/etc/init.d/iptables save active

로 하면 /var/lib/iptables/active로 저장이 되더군요.
/etc/init.d/iptables start

를 하는 경우에 /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/iptables status 에서 보면 시작되어있지 않은 것 아닙니까?

rain의 이미지

ns:~# /etc/init.d/iptables status
Aborting iptables initd: unknown command(s): "status".
/etc/init.d/iptables options:
  start|restart|reload|force-reload
     load the "active" ruleset
  save <ruleset>
     save the current ruleset
  load <ruleset>
     load a ruleset
  stop
     load the "inactive" ruleset
  clear
     remove all rules and user-defined chains, set default policy to ACCEPT
  halt
     remove all rules and user-defined chains, set default policy to DROP

Saved rulesets:
  active, inactive

Please read: /etc/default/iptables

status는 없는 인자 같습니다. 참고로 저는 debian woody 사용자입니다.

혹시 부팅시에 적용시키려면
커널 옵션 중에 설정해줘야 하는 부분이 있는지요?

세상에서 가장 이해하기 힘든 것은 내 자신이 그것을 이해할 수 있다는 것이다.
- 알베르트 아인슈타인 -

송지석의 이미지

죄송합니다. 역시 fedora와 debian이 다른가보군요.
그냥 궁금했던 것이 iptables가 실행되고 있는 지였습니다.
update-rc.d 를 찾아보니 ntsysv랑 같은 역할이로군요.
로그 메시지를 잘 파보셔야 할 듯. 도움이 못 돼 죄송하네요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.