Настройка NAT через iptables

Настройка NAT через iptables

Я хочу это изменить:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
178.212.120.5   192.168.1.254   255.255.255.255 UGH   0      0        0 eth2.2
208.67.222.222  192.168.1.254   255.255.255.255 UGH   0      0        0 eth2.2
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2.2
192.168.10.0    *               255.255.255.0   U     0      0        0 br0
239.0.0.0       *               255.0.0.0       U     0      0        0 br0
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth2.2

в это:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
178.212.120.5   192.168.1.254   255.255.255.255 UGH   0      0        0 ra0
208.67.222.222  192.168.1.254   255.255.255.255 UGH   0      0        0 ra0
192.168.1.0     *               255.255.255.0   U     0      0        0 ra0
192.168.10.0    *               255.255.255.0   U     0      0        0 br0
239.0.0.0       *               255.0.0.0       U     0      0        0 br0
default         192.168.1.254   0.0.0.0         UG    0      0        0 ra0

и настроить NAT таким образом, чтобы:

  1. Публичный интерфейс NAT ra0с IP192.168.1.3
  2. Внутренняя подсеть NAT 192.168.10.0/24включенаbr0

Проблема в том, что я знаю, как использовать Linux routeи ifconfigкоманды, но ничего не знаю о iptables.

решение1

«Грубым и готовым» ответом было бы использовать route и ifconfig для настройки интерфейса ra и маршрутизации, а затем выполнить команду iptables -

/sbin/iptables -t nat -I POSTROUTING -o ra0 -j МАСКАРАД

Это замаскирует (весь) трафик, исходящий из ra0, но не из br0. Однако я отмечаю, что «интерфейс NAT ra0» на самом деле не является реальным IP-адресом, поэтому либо вы будете использовать двойной NAT, либо этот IP-адрес неверен.

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