NAT
Техподдержка Фактор-ТСNAT (Network Address Translation) — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса в заголовках пакетов. Различают два типа NAT:
- SNAT – замена адреса источника, используется для предоставления пользователям локальной сети с внутренними адресами доступа к внешней сети.
- DNAT – замена адреса назначения, используется для доступа из внешней к ресурсам внутренней.
Следует иметь в виду, что, если задано преобразования DNAT относительно какого-либо IP-адреса назначения, предполагается, что сетевые пакеты с таким адресом назначения дойдут до сетевого интерфейса. Чаще всего это означает необходимость задания дополнительного ip-адреса (ip secondary-address) для интерфейса, с которым связано преобразование DNAT.
В приведенном примере применена типовая схема коммутации № 8
Для созданий правил трансляции NAT в Dionis-NX используются списки NAT (ip nat-list).
Работа со списками NAT во многом совпадает с работой со списками контроля доступа. Так, для создания (редактирования) списка NAT необходимо в режиме configure выполнить следующую команду:
NX-1(config)# ip nat-list mynat
Параметр <тип NAT> задает тип преобразования. Основные типы: snat, dnat или masquerade
- MASQUERADE — это такой тип SNAT, который меняет адрес источника пакета (при выходе с внешнего интерфейса) на текущий адрес интерфейса.
Чтобы позволить выходить во внешнюю сеть устройствам, подключенным к маршрутизатору, необходимо настроить трансляцию адресов:
NX-1(config)# ip nat-list mynat
NX-1(config-nat-mynat)# nat masquerade
Для проверки доступности внешних адресов с ПК-1 необходимо запустить ping с указанным внешним адресом и с помощью команды tcpdump посмотреть трафик, проходящий через маршрутизатор:
12:05:20.844995 IP 192.168.90.2 > ya.ru: ICMP echo request, id 1, seq 1, length 40
12:05:20.845040 IP 192.168.53.200 > ya.ru: ICMP echo request, id 1, seq 1, length 40
12:05:20.851323 IP ya.ru > 192.168.53.200: ICMP echo reply, id 1, seq 1, length 40
12:05:20.851349 IP ya.ru > 192.168.90.2: ICMP echo reply, id 1, seq 1, length 40
12:05:21.847909 IP 192.168.90.2 > ya.ru: ICMP echo request, id 1, seq 2, length 40
12:05:21.847941 IP 192.168.53.200 > ya.ru: ICMP echo request, id 1, seq 2, length 40
При проверке было выявлено, что адрес подменяется согласно правилам NAT и устройство из внутренней сети имеет доступ во внешнюю.
В параметрах созданных списков NAT есть возможность перенаправлять траффик, который приходит на указанные в правилах порты на указанный IP-адрес, для перенаправления необходимо произвести следующую настройку:
NX-1(config-nat-mynat)# nat dst 192.168.53.200 tcp dport 3389 dnat ip 192.168.90.2
Таким образом траффик, приходящий из внешней сети на порт 3389 (по умолчанию протокол RDP) будет перенаправляться на ПК-1.
Для проверки необходимо с устройства из внешней сети подключиться по протоколу RDP к внешнему адресу маршрутизатора, который должен перенаправить пакеты на ПК-1 согласно правилам NAT.
При подключении устройства из внешней сети во внутреннюю на ПК-1 необходимо прослушать траффик, проходящий через маршрутизатор на порт 3389 на котором сконфигурированы NAT-списки:
NX-1# tcpdump port 3389
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
12:58:34.008480 IP 192.168.228.42.64743 > 192.168.53.200.3389: Flags [S], seq 320742696, win 64240, options [mss 1348,nop,wscale 8,nop,nop,sackOK], length 0
12:58:34.008505 IP 192.168.228.42.64743 > 192.168.90.2.3389: Flags [S], seq 320742696, win 64240, options [mss 1348,nop,wscale 8,nop,nop,sackOK], length 0
12:58:34.009136 IP 192.168.90.2.3389 > 192.168.228.42.64743: Flags [S.], seq 3786637910, ack 320742697, win 64000, options [mss 1460,nop,wscale 0,nop,nop,sackOK], length 0
12:58:34.009143 IP 192.168.53.200.3389 > 192.168.228.42.64743: Flags [S.], seq 3786637910, ack 320742697, win 64000, options [mss 1460,nop,wscale 0,nop,nop,sackOK], length 0
12:58:34.040630 IP 192.168.228.42.64743 > 192.168.53.200.3389: Flags [.], ack 1, win 258, length 0
12:58:34.040637 IP 192.168.228.42.64743 > 192.168.90.2.3389: Flags [.], ack 1, win 258, length 0
В этот момент на ПК-2, который подключается из внешней сети к ПК-1, который находится во внутренней сети, происходит следующее:
C помощью утилиты tcpdump при прослушивании траффика подключения по RDP было выявлено, что сначала пакеты с портом назначения 3389 был сначала направлен на интерфейс NX-1, подключенный к внешней сети, после этого маршрутизатор с помощью правил NAT установленных на интерфейсе перенаправил пакет на соответствующий IP-адрес.