libnetfilter NATing 문제가 있는 IPtables

libnetfilter NATing 문제가 있는 IPtables

프로그래밍 방식으로 패킷을 변경하기 위해 net-filter 대기열과 함께 IP 테이블을 사용하고 있습니다.

인터넷에 eth0, LAN에 eth1이 있는 2개의 NIC가 있는 우분투 연구실에서 iptables 규칙을 사용하고 있습니다. eth0에서 매스커레이딩을 사용하여 NATing에 잘 알려진 iptables 규칙을 사용했습니다. Sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE sudo iptables -append FORWARD -i eth1 -j 수락. sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 Sudo iptables -t mangle -A OUTPUT -j NFQUEUE. 이 4가지 규칙은 프로그램 내에서 패킷을 캡처하고 패킷을 수정하거나 nfq_set_verdict를 사용하여 원하는 것을 삭제하는 데 사용됩니다. 실제로 모든 것이 예상대로 진행되고 있습니다. 즉, 세 가지 프로토콜 유형 icmp, tcp 및 udp 패킷이 수정되고 다시 주입됩니다. 대기열에서 그런 다음 eth0 IP 주소를 소스 주소로 사용하여 eth0을 종료하고 인터넷으로 이동합니다(MASQUERADE NAT 규칙 사용 효과 ). 이는 icmp ping 응답 또는 tcp ack 패킷을 제외한 모든 패킷에 해당됩니다. 그들은 LAN 장치의 개인 IP인 192.168.xx를 사용하여 인터넷으로 나가고 이 개인 소스 IP 주소를 사용하여 반대편에 도달합니다. 어떤 아이디어라도 가능합니다. 고마워.

답변1

인터넷에 eth0, LAN에 eth1이 있는 2개의 NIC가 있는 우분투 연구실에서 iptables 규칙을 사용하고 있습니다. eth0에서 매스커레이딩을 사용하여 NATing에 잘 알려진 iptables 규칙을 사용했습니다. Sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE sudo iptables -append FORWARD -i eth1 -j 수락. sudo iptables -t mangle -A PREROUTING -j NFQUEUE --queue-num 0 Sudo iptables -t mangle -A OUTPUT -j NFQUEUE. 이 4가지 규칙은 프로그램 내에서 패킷을 캡처하고 패킷을 수정하거나 nfq_set_verdict를 사용하여 원하는 것을 삭제하는 데 사용됩니다. 실제로 모든 것이 예상대로 진행되고 있습니다. 즉, 세 가지 프로토콜 유형 icmp, tcp 및 udp 패킷이 수정되고 다시 주입됩니다. 대기열에서 그런 다음 eth0 IP 주소를 소스 주소로 사용하여 eth0을 종료하고 인터넷으로 이동합니다(MASQUERADE NAT 규칙 사용 효과 ). 이는 icmp ping 응답 또는 tcp ack 패킷을 제외한 모든 패킷에 해당됩니다. 그들은 LAN 장치의 개인 IP인 192.168.xx를 사용하여 인터넷으로 나가고 이 개인 소스 IP 주소를 사용하여 반대편에 도달합니다. 어떤 아이디어라도 가능합니다. 고마워.

관련 정보