2 つのインターフェース (eth1 と eth0) を備えた Linux ボックスがあります。eth1 にデバイスが接続され、eth0 に PC が接続されています。それぞれの IP アドレスは次のとおりです。
eth1: 10.75.0.1 ネットマスク 255.255.0.0
eth0: 10.76.0.1 ネットマスク 255.255.0.0
eth1 上のデバイス: 10.75.255.210
eth0 上の PC: 10.76.0.3
私のルーティングテーブルは現在このようになっています
Destination Gateway Genmask Flags Metric Ref Use Iface
10.75.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
10.76.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
PC には、eth1 のデバイスに接続する必要があるプログラムがあります。eth1 のデバイスは、ポート 53103 でメッセージをブロードキャストしています。これらのパケットを eth0 に転送して、PC のプログラムで確認できるようにしたいと考えています。基本的に、PC のプログラム (eth0) と eth1 のデバイス間の双方向通信を有効にするように iptable ルールを設定します。プログラムが使用するポートも 53103 です。
以下のことを試しましたが、tcpdump を使用して eth0 上のパケットが表示されません。
iptables -t nat -A PREROUTING -p udp --dport 53103 -i eth1 -j DNAT --to-destination 10.76.0.1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE