Iptables에서 줄 수정

Iptables에서 줄 수정

iptables 파일(debian)에서 다음 줄을 어떻게 수정합니까?

ACCEPT     all  --  XXX.XXX.XX.X         anywhere            PHYSDEV match --physdev-in vif3.1 

도착하다

ACCEPT     all  --  YYY.YYY.YY.Y         anywhere            PHYSDEV match --physdev-in vif3.1 

나는 h를 확인했다ttps://wiki.debian.org/iptables 이 수정을 정확히 수행하는 방법을 파악하는 데 어려움을 겪고 있습니다. 하나의 명령으로 수행할 수 있습니까? 아니면 iptables 파일을 일시적으로 "추출"하고 nano 또는 vi를 사용하여 수정한 다음 다시 제자리에 두는 방법이 있습니까?

답변1

이 특정 규칙에 대해 바꾸기를 사용하려면 iptables먼저 몇 가지 디버깅을 수행해야 합니다.

첫 번째 옵션은 규칙을 즉시 바꾸는 것입니다.

1) 해당 라인이 어떤 라인 번호와 어느 CHAIN에 배치되어 있는지 확인하세요. 예를 들어:

iptables -L -v -n --line-n

2) 라인을 찾아 출력에 따라 교체합니다.

iptables -R [CHAIN_NAME] [LINE_NUMBER] -s YYY.YYY.YYY.YYY -m physdev  --physdev-in vif3.1  -j ACCEPT

두 번째 옵션은 iptables 규칙을 저장하고 파일을 수정하여 가져오는 것입니다.

1) 규칙을 저장합니다.

iptables-save > my_ipt-$(date +%F).ipt

2) my_ipt-$(date +$F).ipt 수정

3) 수입my_ipt-$(date +%F).ipt

iptables-restore < my_ipt-$(date +%F).ipt

참고: $(date +%F)파일을 저장한 날짜입니다. 예: 2013-11-07

모든 것이 예상한 대로인지 확인하세요.

iptables -L -v -n --line-n

답변2

예, 가능합니다. 규칙 표시 규칙 iptables -L CHAIN -n -v --line-numbers에 색인을 제공하세요. iptables -S CHAIN INDEX

편집하려면 -R CHAIN ​​​​INDEX 매개변수를 사용하십시오.

예: iptables -L Visioconf-OUT -n -v --line-numbers

Chain Visioconf-OUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1     719K   49M LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "DROP4 Visioconf-OUT "
2     719K   49M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

iptables -S Visioconf-OUT 2

-A Visioconf-OUT -j 삭제

iptables -R Visioconf-OUT 2 -s 1.2.3.4 -j DROP

관련 정보