У меня есть Linux-бокс с двумя интерфейсами (eth1 и eth0). У меня есть устройство, подключенное к eth1, и ПК, подключенный к eth0. Ниже приведены их 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: 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
У меня есть программа на ПК, которой нужно подключиться к устройству на eth1. Устройство на eth1 транслирует сообщение на порт 53103. Я хочу переслать эти пакеты на eth0, чтобы их могла видеть программа на ПК. По сути, я хочу установить правила iptable так, чтобы включить двустороннюю связь между программой на ПК (eth0) и устройством на eth1. Порт, используемый программой, также 53103.
Я попробовал следующее, но не вижу пакетов на eth0 с помощью tcpdump:
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