특정 iptables 규칙 세트를 영구적으로 만들려면 어떻게해야합니까?


42

일부 iptables 규칙을 영구적으로 만드는 "모범 사례"또는 표준이 있습니까? 의미 : 시스템 재부팅시 자동으로 적용됩니까?

Ubuntu Server 10.04 LTS (Lucid Lynx)와 함께 VPS를 사용하고 있습니다.

감사합니다.

큰 편집 : 모든 규칙이 유지되기를 원하지 않습니다 ( iptables-persistent패키지 처럼 ). iptables를 실행하여 다른 규칙을 추가하면이 규칙을 삭제해야합니다.

답변:


51

가장 간단한 방법은 iptables-saveiptables-restore 를 사용하여 현재 정의 된 iptables 규칙을 파일에 저장하고 다시로드 (예 : 재부팅시)하는 것입니다.

예를 들어

sudo iptables-save | sudo tee /etc/iptables.conf

현재 iptables 규칙을 저장 /etc/iptables.conf하고 다음 행을 삽입하십시오 /etc/rc.local.

# Load iptables rules from this file
iptables-restore < /etc/iptables.conf

2
+1 당신의 대답은 나의 원래 질문에 완벽합니다. 또한 내가 정말로 원하는 것을 깨달았 기 때문에 "iptables 규칙을 어떻게 영구적으로 만들 수 있습니까?"에서 질문을 변경해야했습니다. "특정 iptables 규칙 세트를 영구적으로 만들 수 있습니까?"
J. Bruni

질문에 대한 변경 사항을 반영하기 위해 답변을 약간 수정 해주세요. 기꺼이 수락하겠습니다. iptables-save한 번 사용 하고 항상 다시로드 해야합니다 (iptables-restore at /etc/rc.local 소리가 좋습니다).
J. Bruni

1
당신이 얻는 경우 permission denied사용하려고 할 때 >다음 이 스택 오버플로 대답은 유용 할 것이다.
David Tuite

2
sudo sh -c "iptables-save > /etc/iptables.conf"대신 사용sudo iptables-save > /etc/iptables.conf
Rajat Gupta

31

12.04를 사용 중일 때의 빠른 업데이트로 더 좋습니다.

iptables-persistent패키지는 지금이 문제를 해결합니다. 설치하기 위해서,

sudo apt-get install iptables-persistent

패키지 설치시 정의 된 규칙은 이후의 각 부팅시 저장 및 사용됩니다. 새로로드되면로드 된 새 규칙이 삭제됩니다.

설정 파일을 변경할 필요가 (한 번 할 경우 iptables-persistent설치를)입니다 /etc/iptables/rules.v4또는 /etc/iptables/rules.v6IPv4 및 IPv6 iptables에 대한 각각.


를 수정하면 /etc/iptables/rules.v4[공식적으로] 어떻게 적용됩니까? 현재하고 있습니다sudo iptables-restore < /etc/iptables/rules.v4
Bruno Bronosky

24

iptable의 규칙을 저장 한 후 다음과 같이 /etc/rc.local줄을 추가하는 것보다 낫습니다./etc/network/interfaces

post-up iptables-restore < /etc/iptables.up.rules

또는 파일을 /etc/network/if-down.d/or /etc/network/if-post-down.d/또는 /etc/network/if-pre-up.d/or 안에 넣는 것과 같습니다 /etc/network/if-up.d/.


1
@ Kreker :에서 복원 스크립트를 실행하는 것보다 어떻게 접근하는 것이 더 낫 rc.local습니까? 어떤 경우에는 다른 접근 방식이 작동하지 않습니까?
Rajat Gupta

2
네트워크 구성에 추가하면 "servicenetwork restart"명령을 실행 한 후에 다시로드됩니다. 시스템 시작에만 국한되지 않습니다.
K. Darien Freeheart

4
인터페이스가 다운 될 때 왜 하나의 post-up iptables가 복원됩니까?
alphadogg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.