Переадресация IP уровня 3 / NAT между двумя интерфейсами

У меня странная конфигурация, посмотрим, не дадите ли вы мне какой-нибудь совет :)

У меня две сети (10.X / 24 и 20.X / 24) связаны между собой Linux-машиной. Этот Linux имеет два интерфейса, каждый из которых подключен к одной из этих сетей. Устройства, подключенные к этим сетям, не имеют шлюза, и я не могу его изменить, а также устанавливать дополнительное программное обеспечение, такое как VPN и т. Д. Также я не могу изменить маску подсети.

Я хочу связать по одному устройству каждого сеть, и я подумал, что нужно настроить что-то вроде IP FORWARDING, но, изменив SRC и DST, я думаю, что это больше похоже на NAT. Идея состоит в том, чтобы сделать это, если я пингую на 20.254 (не существует) из 20.50 (устройство из сети A), он перенаправляет этот пакет на 10.50, изменяя src на 10.254. Это что-то вроде виртуальных IP-адресов.

Основная идея состоит в том, чтобы сделать это преобразование:

input eth0 (network A) SRC 20.50 DST 20.254 -> output eth1 SRC 10.254 DST 10.50

input eth1 (network B) SRC 10.50 DST 10.254 -> output eth0 SRC 20.254 DST 20.50

Имейте в виду, что адреса 10.254 и 20.254 не существуют, и я использую их для связи с другой сетью, ПОТОМУ ЧТО Я не могу настроить шлюз для запроса неизвестных сетей и не добавляю статические маршруты.

Посмотрим, может ли кто-нибудь дать мне лучший способ сделать это.

Спасибо!

0
задан 23 February 2017 в 13:38
1 ответ

Вам необходимо назначить эти IP-адреса своему шлюзу, например:

ip addr add 192.168.10.254/24 dev eth0
ip addr add 192.168.20.254/24 dev eth1

Затем вы можете выполнить преобразование, используя правила NAT, например:

iptables -t nat -A PREROUTING -i eth0 -s 192.168.20.50 -d 192.168.20.254 -j DNAT --to-destination 192.168.10.50
iptables -t nat -A POSTROUTING -o eth1 -d 192.168.10.50 -j MASQUERADE

Другой перевод можно сделать аналогично. Кроме того, приведенные выше правила написаны на основе вашего примера перевода. Вы можете обобщить проверку для подсети, используя нотацию / 24 .

1
ответ дан 4 December 2019 в 16:20

Теги

Похожие вопросы