iptables:! 여러 IP 주소 일치

iptables:! 여러 IP 주소 일치

네트워크 외부(5.9.0.0)에서 들어오는 패킷을 리디렉션해야 하므로 이를 컴퓨터 중 하나에 추가하려고 시도했지만(세 개의 인터페이스 5.9.30.20, 5.9.20.20, 5.9.10.20이 있음)RTNETLINK answers: Network is unreachable

iptables -t nat -A PREROUTING –p icmp --icmp-type echo-reply ! -d 5.9.0.0/16 -j DNAT --to-destination 5.9.40.10

내 인터넷 검색에 따르면 내 컴퓨터가 5.9.30.0/24, 5.9.20.0/24 및 5.9.10.0/24에 있고 5.9.0.0/16이 다음 레벨이기 때문입니다.

그래서 나는 또한 다음과 같은 접근 방식을 시도했습니다.

iptables -t nat -A PREROUTING –p icmp --icmp-type echo-reply ! -d 5.9.30.0/24,5.9.10.0/24,5.9.20.0/24 -j DNAT --to-destination 5.9.40.10

하지만 난 얻었어iptables: ! is not allowed with multiple IP addresses

패킷의 대상/소스가 5.9.10.0/24, 5.9.20.0/24 또는 5.9.30.0/24가 아닌지 확인할 수 있나요?

답변1

당신이 거기에서 무엇을 하려는지에 대한 나의 의심과는 별개로:

여러 주소를 개별적으로 확인할 수 있습니다.

iptables -t nat -N dnat_operation
iptables -t nat -A PREROUTING -j dnat_operation
iptables -t nat -A dnat_operation -d 5.9.30.0/24 -j RETURN
iptables -t nat -A dnat_operation -d 5.9.10.0/24 -j RETURN
iptables -t nat -A dnat_operation -d 5.9.20.0/24 -j RETURN
iptables -t nat -A dnat_operation # do whatever with the packets which are left

관련 정보