Сетевые технологии
NAT
Примеры конфигурации

Source NAT на статическом внешнем интерфейсе

ip
: nat
: : POSTROUTING
: : : 1
: : : : out-interface = "eth1"
: : : : target = "SNAT"
: : : : to-source = "123.45.67.89"
port
: eth1
: : ifAddress
: : : prefix = "123.45.67.89/30"

MASQUERADING на сеансовом внешнем интерфейсе PPP

ip
: nat
: : POSTROUTING
: : : 1
: : : : out-interface = "m1"
: : : : target = "MASQUERADING"
port
: m1
: : type = "3g"

MASQUERADING на сеансовом Ethernet-подобном внешнем интерфейсе

ip
: nat
: : POSTROUTING
: : : 1
: : : : out-interface = "m1"
: : : : target = "MASQUERADING"
port
: m1
: : type = "lte"
: : ifAddress
: : : configurable = "dhcp"

Проброс портов из внешнего мира во внутреннюю сеть

port
: eth0
: : ifAddress
: : : prefix = "192.168.1.1/24"
: eth1
: : ifAddress
: : : prefix = "123.45.67.89/30"

Начальные условия. eth0 — внутренний интерфейс, eth1 — внешний.

ip
: nat
: : PREROUTING
: : : 1
: : : : protocol = "tcp"
: : : : destination = "123.45.67.89"
: : : : destination-port = "20022"
: : : : in-interface = "eth1"
: : : : target = "DNAT"
: : : : to-destination = "192.168.1.2:22"

Это проброс SSH. Порт 22 на внешнем интерфейсе занят нашим собственным SSH для доступа на наше устройство, поэтому для другой машины необходимо выбрать какой-нибудь иной порт. А иначе как же определить, кому из двух хостов адресован пакет?

: : : 2
: : : : protocol = "tcp"
: : : : destination = "123.45.67.89"
: : : : destination-port = "3389"
: : : : in-interface = "eth1"
: : : : target = "DNAT"
: : : : to-destination = "192.168.1.3"

Это проброс удалённого рабочего стола Windows.

: : : 3
: : : : protocol = "tcp"
: : : : destination = "123.45.67.89"
: : : : destination-port = "43389"
: : : : in-interface = "eth1"
: : : : target = "DNAT"
: : : : to-destination = "192.168.1.4:3389"

Это проброс удалённого рабочего стола Windows ещё на одну машину. Штатный порт уже занят первой машиной, поэтому его приходится переназначать.

: : : 4
: : : : protocol = "tcp"
: : : : destination = "123.45.67.89"
: : : : destination-port = "21"
: : : : in-interface = "eth1"
: : : : target = "DNAT"
: : : : to-destination = "192.168.1.5:21"
: : : 5
: : : : protocol = "tcp"
: : : : destination = "123.45.67.89"
: : : : destination-port = "20"
: : : : in-interface = "eth1"
: : : : target = "DNAT"
: : : : to-destination = "192.168.1.5:20"

Это проброс FTP на внутренний сервер в обоих возможных вариантах. Если клиент работает в активном режиме, то задействуется ещё HELPER FTP для обслуживания встречного соединения ftp-data. На стандартных портах TCP (21 и 20) он включается автоматически, при использовании нестандарных портов его следует включить вручную:

: : : HELPERS
: : : : FTP
: : : : enable = true
: : : : ports = "2021"

Если же они изволят работать в пассивном режиме (например, Web-броузером), то для этого нужно второе из вышеприведённых правил — проброс соединения ftp-data (TCP port 20) со стороны клиента.

Проброс PPTP

ip
: raw
: : PREROUTING
: : : 1
: : : : protocol = "tcp"
: : : : in-interface = "eth0"
: : : : destination-port = "1723"
: : : : target = "CT"
: : : : helper = "PPTP"
: nat
: : POSTROUTING
: : : out-interface = "eth1"
: : : target = "SNAT"
: : : to-source = "123.45.67.89"
: : HELPERS
: : : PPTP = true

Здесь eth0 — порт, через который входит трафик со стороны клиента; eth1 — порт, выходящий в сторону сервера PPTP.

ПРИМЕЧАНИЕ. Указывать одновременно критерии destination и in-interface, вообще говоря, не обязательно; в данных случаях достаточно чего-либо одного из них. Однако рекомендуется указывать оба критерия, для наглядности конфигурации и во избежание ошибок в более сложных ситуациях.
Обратно в узел .ip.nat...

© Network Systems Group 2015–2024 Отдел документации