iptables 규칙 이동(삭제 및 추가 아님)

iptables 규칙 이동(삭제 및 추가 아님)

iptables규칙을 이동 하고 위치를 변경할 수 있는 방법이 있나요 ? 나는 이것을 사용하여 -I특정 위치에 규칙을 삽입할 수 있다는 것을 알고 있지만 카운터를 유지하는 것도 좋아합니다.

답변1

다음을 수행할 수도 있습니다.

  1. 출력을 iptables-save파일에 씁니다. iptables-save > /tmp/iptables.txt
  2. 텍스트 편집기를 사용하여 이 파일을 편집하고 원하는 줄을 이동하세요.
  3. 파일을 다시 로드합니다.iptables-restore < /tmp/iptables.txt

답변2

아니요, 규칙을 이동할 수 없습니다. 그러나 추가/삽입/교체된 규칙에 대해 카운터( -c또는 --set-counters매개변수 사용) 를 설정할 수 있습니다. 따라서 현재 개수를 확인하고 규칙을 삭제한 후 이전 개수 값으로 다시 삽입할 수 있습니다.

답변3

가지고 있는 것과 변경하려는 것을 이해하려면 먼저 몇 가지 검사를 수행해야 합니다.

  1. 카운터를 확인하고 나중에 입력할 수 있도록 어딘가에 적어 두세요.
    iptables-save -c
    
  2. 교체/재배치하려는 라인을 확인하세요.
    iptables -L -v -n --line-n
    
  3. 지정된 CHAIN에 규칙을 작성하고 단계에서 설명한 카운터를 추가합니다. 예를 들어.
    iptables -R INPUT 5 -i virbr0 -p udp -m udp -c 3441 472271 --dport 53 -j ACCEPT -m comment --comment "Some comment"
    

그 의미-c

-c [packets:bytes]

위의 iptables 규칙은 5행에 입력됩니다.

다음을 통해 현재 iptables(및 카운터)를 저장할 수 있습니다.

iptables-save -c -f /somepath/iptrules-$(date +%F)

답변4

에 추가하다Valentin Bajrami의 답변:

현재 iptables 규칙과 파일 카운터가 있는 경우 다음을 사용하세요.

iptables-save -c -f /somepath/iptrules-$(date +%F)

그런 다음 필요에 따라 파일을 변경할 수 있습니다.

nano /somepath/iptrules-$(date +%F)

그런 다음 카운터를 사용하여 복원하십시오.

iptables-restore -c /somepath/iptrules-$(date +%F)

ipv6을 다루는 경우 위의 두 명령을 모두 ip6tables로 대체할 수 있습니다.

관련 정보