IPtables에는 규칙 목록이 있으며 각 패킷마다 규칙 목록을 순서대로 확인합니다. 패킷과 일치하고 정책 (ACCEPT, REJECT, DROP)을 지정하는 규칙이 발견되면 일치하는 패킷의 운명이 결정됩니다. 더 이상 규칙이 검사되지 않습니다.
이것은 명령을 실행하는 순서가 중요하다는 것을 의미합니다. 를 사용 iptables -A
하면 규칙 목록 끝에 규칙을 추가하므로 다음과 같은 규칙 목록이 나타납니다.
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT all -- anywhere anywhere
REJECT
규칙이 규칙 보다 우선 하므로 규칙이 먼저ACCEPT
트리거되므로 전달이 수행되지 않습니다.
따라서 REJECT
규칙을 추가하는 대신 규칙 을 삭제해야합니다 ACCEPT
. 거부 규칙을 삭제하려면 다음을 실행하십시오.
iptables -D FORWARD -j REJECT
자세한 내용은 iptables 맨 페이지를 참조하십시오.
-A
, 어쩌면 당신은 사용할-P
세트에 P의 (체인에서 다른 규칙이 적용되지 않습니다 때 기본 동작을) olicy을. 예를 들어iptables -P FORWARD DROP
(이 될 수 없음REJECT
).