Iptables: 태그가 지정된 트래픽을 다른 인터페이스로 리디렉션

Iptables: 태그가 지정된 트래픽을 다른 인터페이스로 리디렉션

태그가 지정된 모든 패킷을 포트 1082에서 수신 대기하는 프록시 서버로 리디렉션하는 구성이 있으며 작동합니다.

ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 1082
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblock dst -j REDIRECT --to-port 1082

또한 포트 48950에 IP 주소 172.16.0.2를 사용하는 Wireguard 인터페이스(ngw0)가 있습니다. 내가 원하는 것은 이러한 패킷을 wireguard 인터페이스로 리디렉션하는 것입니다. 노력한 영혼:

ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j DNAT --to-destination 172.16.0.2:48950
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblock dst -j DNAT --to-destination 172.16.0.2:48950

그리고

ipset create unblock hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblock dst -j MASQUERADE -o nwg0
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblock dst -j MASQUERADE -o nwg0

이들 중 어느 것도 작동하지 않습니다. 트래픽을 Wireguard로 리디렉션하는 방법은 무엇입니까?

고쳐 쓰다:

ip addr show br0
24: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global br0
       valid_lft forever preferred_lft forever

ip addr show nwg0
27: nwg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1324 qdisc noqueue qlen 50
    link/[65534] 
    inet 172.16.0.2/32 scope global nwg0
       valid_lft forever preferred_lft forever


~ # netstat -an | grep 48950
udp        0      0 0.0.0.0:48950           0.0.0.0:*
udp        0      0 :::48950                :::*
~ # netstat -an | grep 1082
tcp        0      0 :::1082                 :::*                    LISTEN
tcp        0      0 ::ffff:192.168.0.1:1082 ::ffff:192.168.0.130:56540 TIME_WAIT

관련 정보