iptables에서 테이블 만들기


8

iptables를 사용하여 사용자 정의 테이블을 작성하여 사용자 정의 체인을 추가 할 수 있습니다. 그러나 나는 그것을 할 수있는 옵션을 보지 못했습니다. 나는 그것을 찾으려고했지만 아무것도 찾지 못했습니다. 도와주세요.

답변:


16

테이블이 아닌 체인을 찾고 있다고 생각 합니다.

   -N, --new-chain chain
          Create a new user-defined chain by the given name.  There must be no target of that name already.

예 ( -t filter내재적) :

iptables -N Services
iptables -A INPUT -j Services
iptables -A Services -m tcp -p tcp --dport 80 -j ACCEPT

다음 -t옵션을 사용하여 테이블을 선택할 수 있습니다 .

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

를 사용 iptables-restore하는 경우 위의 두 규칙을 결합하여 다음을 수행 할 수 있습니다.

*nat
-A POSTROUTING -j MASQUERADE
COMMIT

*filter
:Services -
-A INPUT -j Services
-A Services -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT

답장을 보내 주셔서 감사하지만 내 맞춤 체인에 다른 테이블을 만들려고합니다. 다른 테이블을 만들 수 없습니까?
Tarun

1
왜 다른 테이블을 만들고 싶습니까? 체인을 그룹화 할 수 있습니까? 자체 커널 모듈을 작성하지 않으면 새 체인을 삽입 할 수 없습니다. 다른 테이블이 사용되는 것을 이해 하려면 패킷 흐름대한이 그림을 참조하십시오 .
Lekensteyn

알았어. 도와 주셔서 감사합니다.
Tarun

5

커널 레벨에서 테이블 작성이 수행됩니다. 일반적으로 커널의 TCP / IP 기능에 추가하지 않는 한 새로 만들 필요는 없습니다.

기존 테이블 중 하나에 -N플래그를 사용하여 새 체인을 만드는 것이 좋습니다.


"보통 필요가 없습니다 ..."-커스텀 체인은 일을 훨씬 더 깔끔하게 만듭니다. 예를 들어 인터페이스에 사용자 지정 체인을 추가합니다.
Konrad Gajewski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.