하나의 iptables PREROUTING 규칙은 작동하지 않지만 다른 하나는 작동합니다.

하나의 iptables PREROUTING 규칙은 작동하지 않지만 다른 하나는 작동합니다.

두 개의 iptables 규칙이 있는 Linux 장치가 있습니다. 그리고 행동이 흥미롭습니다.

root@xxx:~# iptables -t nat -nvL PREROUTING
Chain PREROUTING (policy ACCEPT 4 packets, 812 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REDIRECT   udp  --  *      *       10.20.40.10          0.0.0.0/0            udp dpt:514 redir ports 5633
    0     0 REDIRECT   udp  --  *      *       10.20.40.15          0.0.0.0/0            udp dpt:514 redir ports 5634

이미 514를 수신하는 rsyslog 애플리케이션이 있으므로 iptables는 rsyslog보다 먼저 적용되어야 한다고 생각합니다. 하지만 결과는 뜻밖이 됐다. 규칙 1(10.20.40.10)의 경우 5633의 애플리케이션이 패킷을 수신했으므로 514에서 5633으로 패킷을 리디렉션하는 작업을 수행하고 있음을 확인할 수 있습니다. 그러나 rule2(10.20.40.10)의 경우 작업을 수행하지 않습니다. 패킷은 514에 있는 애플리케이션으로 직접 이동합니다.

rsyslog를 종료하고 살펴볼 계획입니다.

이런 종류의 문제를 해결하는 다른 좋은 방법이나 도구가 있습니까? 패킷 흐름을 알고 싶습니다. 감사합니다!

관련 정보