iptables 규칙을 추가 명령으로 나열

iptables 규칙을 추가 명령으로 나열

얼마 전 나는 Linux 전문가의 어깨 너머로 살펴보았고 그는 모든 iptables 규칙을 빌드하는 데 필요한 추가 명령 형식으로 나열하는 명령을 실행했지만 모든 인터넷 검색 및 매뉴얼 페이지 검색에도 불구하고 알 수 없습니다. 그가 무슨 짓을 했는지.

예를 들어 출력이 iptables -nL INPUT다음과 같은 경우:

Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            192.168.0.1           tcp dpt:80

내가 찾고 있는 명령의 출력은 다음과 유사합니다.

1  -A INPUT -i eth0 -p tcp --dport 80 -d 192.168.0.1 -j ACCEPT

iptables -L나는 이것이 표준 명령에 전달된 또 다른 옵션 이라는 것을 기억하는 것 같지만 틀릴 수도 있습니다. 이 작업을 수행하는 명령을 아는 사람이 있습니까?

답변1

매우 간단합니다. iptables -S 귀하의 요구 사항을 충족하십시오.

답변2

iptables-save다음 명령을 사용하여 유사한 출력을 얻을 수 있습니다 .

*nat
:PREROUTING ACCEPT [381:53396]
:INPUT ACCEPT [286:22260]
:OUTPUT ACCEPT [1462:92025]
:POSTROUTING ACCEPT [1450:91003]
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 

숫자와 몇 가지 추가 정보가 있지만 다음과 같이 작성하여 제거할 수 있습니다.

iptables-save | grep -v -e "^[*:#]" -e "COMMIT" | cat -n

그리고 출력:

     1  -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 
     2  -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 

관련 정보