iptables소스 설치시 데몬파일과 정책 저장 파일이 없는 것인지요?

dvvbstation의 이미지

배포판 설치시에 설치되어 있는 iptables 패키지를 지우고
iptables-1.4.2-rc1 소스 설치를 시도했습니다.
뒤적뒤적 거려보니... 아래와 같이 옵션을 줘서 설치를 하더군요.

make KERNEL_DIR=/usr/src/linux
make install KERNEL_DIR=/usr/src/linux
make install-devel

언뜻 보니 커널 디렉터리를 지정해서 커널에 올리는 것 아닌가 하는 생각에,
모듈인데 왜 커널 디렉터리에 설치하냐는 반문으로 기본옵션으로 설치를 해버렸습니다.
제가 청개구리라 ㅡㅡ;

저는 아래와 같이 컴파일을 하였습니다.

[root@localhost /]#tar xvfz iptables-1.4.2-rc1.tar.gz -C /usr/src
[root@localhost /]cd /usr/src
[root@localhost src]#ln -s iptables-1.4.2-rc1 iptables
[root@localhost src]#cd iptables
[root@localhost iptables]#./configure
[root@localhost iptables]#make
[root@localhost iptables]#make install

기본옵션 컴파일에 실행파일 각각 링크를 걸었습니다.
/usr/local/sbin에 설치된 iptables파일들을 일일히 /sbin으로 링크를 걸었습니다.
배포판 설치시에는 /sbin/iptables-save하면 /etc/sysconfig/iptables에 정책을 쓰게 되서
재부팅 후에도 적용이 되었는데 소스 설치를 해보니 궁금한 것이 생겼네요.
/sbin/iptables-save하면 설정이 적용되어 iptables -L 하면 정책 내용이 뜹니다.
그런데 그 설정을 저장하는 파일을 찾지를 못하겠습니다.
재부팅하면 그냥 리셋이지요.
설상가상. 데몬 파일도 못찾겠네요.
궁여지책으로 /etc/iptables파일을 생성하고 스크립트 처럼 만들어 퍼미션 700 주고 /etc/rc.d/rc.local파일에 써 넣어
리눅스 시작할 떄 자동실행 되게 해놨는데 뭔가 잘못됬는지 뜨질 않고,
응급책으로 .bash_profile생각하고 있습니다.

요점은 이겁니다.
기존 rpm설치시에 /etc/sysconfig/iptables 역할을 하던 파일이 소스설치시에는 어떤 파일인가?
시작 데몬파일이 소스설치시에는 어떤 파일인가?
없는 것 인가?

읽어주셔서 감사합니다. 도움 주시면 좋겠네요^^;

.
.
make[1]: Leaving directory `/usr/src/iptables-1.4.2-rc1/extensions'
make[1]: Entering directory `/usr/src/iptables-1.4.2-rc1'
make[2]: Entering directory `/usr/src/iptables-1.4.2-rc1'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/bin/sh ./libtool --mode=install /usr/bin/install -c 'iptables-xml' '/usr/local/bin/iptables-xml'
/usr/bin/install -c iptables-xml /usr/local/bin/iptables-xml
test -z "/usr/local/sbin" || mkdir -p -- "/usr/local/sbin"
/bin/sh ./libtool --mode=install /usr/bin/install -c 'iptables' '/usr/local/sbin/iptables'
/usr/bin/install -c iptables /usr/local/sbin/iptables
/bin/sh ./libtool --mode=install /usr/bin/install -c 'iptables-multi' '/usr/local/sbin/iptables-multi'
/usr/bin/install -c iptables-multi /usr/local/sbin/iptables-multi
/bin/sh ./libtool --mode=install /usr/bin/install -c 'iptables-restore' '/usr/local/sbin/iptables-rest
ore'
/usr/bin/install -c iptables-restore /usr/local/sbin/iptables-restore
/bin/sh ./libtool --mode=install /usr/bin/install -c 'iptables-save' '/usr/local/sbin/iptables-save'
/usr/bin/install -c iptables-save /usr/local/sbin/iptables-save
/bin/sh ./libtool --mode=install /usr/bin/install -c 'ip6tables' '/usr/local/sbin/ip6tables'
/usr/bin/install -c ip6tables /usr/local/sbin/ip6tables
/bin/sh ./libtool --mode=install /usr/bin/install -c 'ip6tables-multi' '/usr/local/sbin/ip6tables-mult
i'
/usr/bin/install -c ip6tables-multi /usr/local/sbin/ip6tables-multi
/bin/sh ./libtool --mode=install /usr/bin/install -c 'ip6tables-restore' '/usr/local/sbin/ip6tables-re store'
/usr/bin/install -c ip6tables-restore /usr/local/sbin/ip6tables-restore
/bin/sh ./libtool --mode=install /usr/bin/install -c 'ip6tables-save' '/usr/local/sbin/ip6tables-save'
/usr/bin/install -c ip6tables-save /usr/local/sbin/ip6tables-save
test -z "/usr/local/include" || mkdir -p -- "/usr/local/include"
/usr/bin/install -c -m 644 'include/xtables.h' '/usr/local/include/xtables.h'
/usr/bin/install -c -m 644 'include/iptables.h' '/usr/local/include/iptables.h'
/usr/bin/install -c -m 644 'include/ip6tables.h' '/usr/local/include/ip6tables.h'
test -z "/usr/local/include/libiptc" || mkdir -p -- "/usr/local/include/libiptc"
/usr/bin/install -c -m 644 'include/libiptc/libxtc.h' '/usr/local/include/libiptc/libxtc.h'
/usr/bin/install -c -m 644 'include/libiptc/ipt_kernel_headers.h' '/usr/local/include/libiptc/ipt_kerne l_headers.h'
test -z "/usr/local/share/man/man8" || mkdir -p -- "/usr/local/share/man/man8"
/usr/bin/install -c -m 644 './iptables.8' '/usr/local/share/man/man8/iptables.8'
/usr/bin/install -c -m 644 './iptables-restore.8' '/usr/local/share/man/man8/iptables-restore.8'
/usr/bin/install -c -m 644 './iptables-save.8' '/usr/local/share/man/man8/iptables-save.8'
/usr/bin/install -c -m 644 './iptables-xml.8' '/usr/local/share/man/man8/iptables-xml.8'
/usr/bin/install -c -m 644 './ip6tables.8' '/usr/local/share/man/man8/ip6tables.8'
/usr/bin/install -c -m 644 './ip6tables-restore.8' '/usr/local/share/man/man8/ip6tables-restore.8'
/usr/bin/install -c -m 644 './ip6tables-save.8' '/usr/local/share/man/man8/ip6tables-save.8'
make[2]: Leaving directory `/usr/src/iptables-1.4.2-rc1'
make[1]: Leaving directory `/usr/src/iptables-1.4.2-rc1'
[root@localhost iptables]#

[root@localhost sbin]#ln -s /usr/local/sbin/iptables iptables
[root@localhost sbin]#ln -s /usr/local/sbin/iptables-multi iptables-multi
[root@localhost sbin]#ln -s /usr/local/sbin/iptables-save iptables-save
[root@localhost sbin]#ln -s /usr/local/sbin/iptables-restore iptables-restore
[root@localhost sbin]#ln -s /usr/local/sbin/ip6tables ip6tables
[root@localhost sbin]#ln -s /usr/local/sbin/ip6tables-multi ip6tables-multi
[root@localhost sbin]#ln -s /usr/local/sbin/ip6tables-save ip6tables-save
[root@localhost sbin]#ln -s /usr/local/sbin/ip6tables-restore ip6tables-restore

김정균의 이미지

일단, iptables 는 daemon 이 아닙니다. kernel 의 netfilter 의 frontend 일 뿐입니다. 즉 커널에 ACL을 반영 시키는 개념일 뿐이죠.

그리고, 님이 원하시는 내용들은 모두 package 에서 제공하는 addon 들 입니다. 알게 모르게 배포본에서 사용자의 편의를 위해서 제공하는 것들이 많은데, 많은 분들이 당연히 지원하는 것으로 알고 있더군요. 개발자들은 그리 사용자의 편의에 대해서 고민하지 않습니다. 특히 오픈소스 개발자들의 경우 사용자가 다 알아서 잘 할 수 있을 거라고 생각하는 비중이 크다고 봅니다. (아니면 배포본에서 알아서 해 줄거고, 사용자들은 배포본 것 쓸거라고 생각할까요? 별로 신빙성이 없어 보인다는..)

가장 간단한 방법은 iptables 의 source rpm 을 받아서 분석해 보시기 바랍니다. 그럼 얼마나 사용자의 편의를 위해서 배포본이 하는 일이 많은지 아실 수 있을 겁니다. :-)

academic의 이미지

김정균님 말씀처럼 제공되는 패키지를 그냥 쓰시지요.

굳이 소스를 컴파일해서 설치하려는 이유가 있다면 모르지만, 암만 생각해봐도 그럴 이유가 있을까 싶습니다.

--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

monovision의 이미지

1. 기본적으로 설치된 iptables 패키지를 지울 필요는 없습니다.

2. ./configure --enable-devel && make && make install 로 설치하시고 그냥 사용하시면 됩니다.

3. 리부팅 시 컴파일 한 iptables 를 사용하고 싶으시면 ntsysv 나 chkconfig list 에서 iptables 를 stop 합니다.
그 후, /etc/rc.d/rc.local 등에 iptables-restore < iptables 와 같은 형태로 시스템 시작시에 불러오도록 하면 됩니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.