Как переслать UDP-трафик между двумя интерфейсами с помощью iptables

Как переслать UDP-трафик между двумя интерфейсами с помощью iptables

Доброе утро,

Мне нужна помощь в пересылке трафика в двух интерфейсах на сервере Debian12. У меня есть сервер с двумя интерфейсами по такой схеме:

ИНТЕРНЕТ приходит на ens224

  |

LAN перейти на ens192

Я хочу перенаправить весь трафик 3480/UDP, получаемый ens224, на ens192. Думаю, для этого можно использовать следующее правило:

iptables -A FORWARD -i ens224 -o ens192 -p udp --dport 3480 -d 10.67.1.101 -j ACCEPT как вы думаете, это нормально?

Заранее спасибо за помощь.

С уважением,

решение1

Если у вас есть трафик, приходящий на интерфейс, ens224привязанный к этой машине, и вы хотите переслать этот трафик на другую машину, подключенную к интерфейсу ens192, вы можете сделать это с помощью пары правил NAT. Первое переписывает адрес назначения, чтобы пакет мог быть переслан вашей цели, а второе переписывает адрес источника, чтобы целевая машина знала, куда следует отправлять ответы. Это второе правило не всегда необходимо, если целевая машина уже маршрутизировала пакеты обратно в правильном направлении.

iptables -t nat -A PREROUTING -d A.A.A.A -p udp --dport 3480 -j DNAT --to-destination B.B.B.B
iptables -t nat -A POSTROUTING -d B.B.B.B -p udp --dport 3480 -j MASQUERADE

Где A.A.A.Aнаходится машина, получающая трафик, который вы хотите переслать, и B.B.B.Bявляется ли это целевой машиной, на которую вы хотите переслать этот трафик?

Связанный контент