iptables
규정을 좀 더 자세히 볼 수 있는 방법이 있나요 ?
최근에 다양한 IP에 가장을 추가했습니다.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save
service iptables restart
이것은 이미 내가 원하는 것을 수행하지만 다음을 사용할 때:
iptables -L
내가 얻는 결과는 내가 일반적으로 얻는 것과 동일합니다.
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
규칙(내가 추가한 규칙 포함)을 보려면 어떻게 해야 합니까? (시스템은 CentOS 6입니다)
답변1
-L
, 옵션을 사용하여 현재 방화벽 규칙을 나열하는 경우 --list
해당 Netfilter 테이블( filter
, nat
또는 중 하나 mangle
) 도 지정해야 합니다 . 따라서 테이블에 대한 규칙을 추가하는 경우 옵션 을 사용하여 명시적으로 지정 해야 합니다 .raw
security
nat
-t
--table
iptables --table nat --list
또는 옵션 약어를 사용하십시오.
iptables -t nat -L
특정 테이블을 지정하지 않으면 해당 filter
테이블이 기본 테이블로 사용됩니다.
-n
더 빠른 결과를 얻으려면 호스트 이름 대신 숫자 IP 주소를 인쇄하는 옵션 을 포함하여 --numeric
역방향 DNS 조회를 기다릴 필요가 없습니다.
-v
옵션을 포함하면 더 많은 정보를 얻을 수 있습니다 --verbose
.
답변2
iptables
filter
, 및 5개의 서로 다른 테이블을 제어 nat
합니다 . 주어진 호출에서 옵션 인수에 의해 지정된 테이블 중 하나만 표시되거나 수정됩니다 (기본값은 ). 방화벽의 전체 상태를 보려면 각 테이블을 차례로 호출해야 합니다.mangle
raw
security
iptables
-t
filter
iptables
또한 규칙을 정확하게 표현하려면 options 를 전달해야 합니다 -v
. 그렇지 않으면 필터링 규칙의 인터페이스와 같은 일부 중요한 기준이 출력에서 생략됩니다(예: "모든 항목 허용" 규칙과 "루프백 인터페이스의 모든 항목 허용" 규칙은 구별하는 데에만 사용할 수 있음 -v
).
따라서 필요한 netfilter 규칙의 완전한 데모를 얻으려면
iptables -vL -t filter
iptables -vL -t nat
iptables -vL -t mangle
iptables -vL -t raw
iptables -vL -t security
또는 iptables-save
모든 테이블의 모든 규칙을 구문 분석 가능한 형식으로 표시하는 프로그램을 호출할 수 있습니다 iptables-restore
. 이 형식은 사람이 읽을 수도 있습니다( iptables
테이블을 작성하는 명령에 대한 일련의 호출 과 매우 유사함 ).
답변3
iptables -S
나를 위해 작동합니다. 서비스가 다운된 경우에도 모든 활성 규칙을 나열하는 것 같습니다.
매뉴얼 페이지에서:
-S, --list-rules [chain] 선택한 체인의 모든 규칙을 인쇄합니다. 체인을 선택하지 않으면 모든 체인이 iptables-save처럼 인쇄됩니다. 다른 모든 iptables 명령과 마찬가지로 지정된 테이블에 적용됩니다(기본값은 필터입니다).
답변4
당신은 그것을 사용할 수 있습니다 :
# lsmod | grep ip_tables
ip_tables 13193 4 iptable_raw,iptable_mangle,iptable_nat,iptable_filter
모든 테이블을 찾고 테이블 내의 특정 규칙을 표시합니다.