Назад | Перейти на главную страницу

NAT и iptables

Я новичок в iptables и NAT. Но я работаю над этим с помощью различных материалов как в Интернете, так и в книгах. У меня есть сомнения по поводу реализации NAT с помощью iptables.

Предположим, мой сетевой сценарий показан ниже.

                  linuxbox2 (10.0.0.3)
                    |
                    |
linuxbox1-------- Switch ----- INTERNET
(10.0.0.2)        (194.160.1.1)

Мои Linux-боксы 1 и 2 подключаются к Интернету через коммутатор, и у меня только один публичный IP-адрес (194.160.1.1). Но общение немного странное. box2 не подключается напрямую к внешнему миру через коммутатор. Но он есть во влане с box1. Следовательно, трафик от box2 идет к box1, а затем спускается вниз, чтобы подключиться к внешнему миру. Мы делаем наттинг в box1

Поскольку мы пытаемся замаскироваться на один и тот же публичный IP-адрес, какими должны быть правила в iptable.

Мой вопрос может показаться странным, но я не могу его объяснить ясно ...

Начат новый поток с более подробной информацией и выводами на

Iptables и SNAT

Если я хорошо понимаю ваш вопрос, Box 2 находится в VLAN с Box 1, а Box 1 также находится в другой VLAN, у которой есть доступ к Интернету.

Предполагая, что первая VLAN, например, VLAN 100 и вторая VLAN - это VLAN 200, я предполагаю, что вы правильно настроили VLAN в блоке 1 и, следовательно, у вас есть два сетевых интерфейса для двух VLAN (обычно eth0.100 и eth0.200).

В этом случае решение простое, на Блоке 1:

iptables -t nat -A POSTROUTING -o eth0.200 -j MASQUERADE

С помощью этой команды Box 1 будет маскировать NAT-пакеты в Интернет в VLAN 200. Таким образом, когда Box 2 будет отправлять пакеты в Box 1 в VLAN 100, Box 1 пересылает их в VLAN 200.

Убедитесь, что переадресация IP включена в Box 1 (sysctl -w net.ipv4.ip_forward=1).