Dell Networking SONiC. Перевод сетевых адресов (NAT)
Сводка: В этой статье рассказывается о переводе сетевых адресов (NAT) в Dell Networking SONiC. В этой статье используется коммутатор под управлением Dell SONiC 4.1.
Инструкции
|
Предварительные условия
Для демонстрации концепций используется стандартное именование интерфейсов. См. статью Dell 202172 Dell Networking серии S: Базовая конфигурация интерфейса — SONiC 4.0 для получения дополнительной информации об именовании интерфейсов |
Индекс
- Введение
- Включить NAT
- Порядок конфигурации NAT
- Зоны NAT
- Статическая запись NAT
- Пример статического NAT
- Динамический NAT
- Пул адресов NAT
- Привязка NAT
- Тайм-аут Dynamic NAT
- Пример dynamic NAT
- Команды NAT Configuration Show
Введение
Перевод сетевых адресов позволяет назначать публичный IP-адрес устройствам, которые имеют доступ к ресурсам за пределами сети. NAT сохраняет использование IP-адресов в локальной сети.
Протокол NAT в сети не требуется для маршрутизируемого трафика между частными IP-адресами. Шлюз NAT преобразует частные IP-адреса локальных сетевых устройств в глобальный уникальный общедоступный IP-адрес, когда они обмениваются данными с удаленными устройствами.
Включить NAT
Чтобы включить NAT и войти в команды конфигурации NAT в режиме конфигурации NAT, выполните следующие действия.- Чтобы включить ПРОТОКОЛ NAT, с помощью
sonic(config-nat)# enable admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
-
Чтобы отключить NAT, сйдите по этой ссылке:
DELLSONiC(config-nat)# no enable
Порядок конфигурации NAT
После включения NAT можно выполнить следующие действия в любом порядке:- Настройка зон NAT
- Добавление статической запись NAT
- Добавление статической запись NAT с портом L4
- Создание пула адресов NAT
- Настройка привязки NAT
- Настройка динамического тайм-аута NAT
Создание зон NAT
Настройка зоны NAT на интерфейсах L3 таким образом, чтобы преобразование адреса NAT выполнялся на пакетах, когда пакет проходит через зону на настроенных интерфейсах. Зона NAT может быть настроена на любой Ethernet, VLAN, агрегированный канал или интерфейс обратной связи, который настроен с IP-адресом. Диапазон значений зон NAT — от 0 до 3.Исходная зона пакета — это зона входящего интерфейса, в который поступает пакет. Целевая зона пакета — это зона интерфейса следующего перехода L3 из поиска маршрута L3 адреса назначения.
- Входящий трафик, входящий в исходный интерфейс, пересылается через преобразование статического целевого сетевого адреса (DNAT).
- Исходящий трафик, отправляемый в интерфейс назначения, динамически переводит преобразование адреса исходной сети (SNAT).
- Интерфейсы L3 по умолчанию находятся в зоне NAT 0. Зона NAT 0 считается внутренней зоной.
- Чтобы создать зону NAT, с помощью
sonic(conf-if-interface)# nat-zone <0..3> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC (config)# interface Eth1/2 DELLSONiC (conf-if-Eth1/2)# ip address 20.20.20.20/24 DELLSONiC (conf-if-Eth1/2)# nat-zone 1 DELLSONiC (conf-if-Eth1/2)# exit DELLSONiC (config)# interface Vlan 5 DELLSONiC (conf-if-Vlan5)# ip address 23.23.23.23/24 DELLSONiC (conf-if-Vlan5)# nat-zone 1 DELLSONiC (conf-if-Vlan5)# exit DELLSONiC (config)# interface PortChannel 2 DELLSONiC (conf-if-po2)# ip address 25.25.25.25/24 DELLSONiC (conf-if-po2)# nat-zone 1 DELLSONiC (conf-if-po2)# exit DELLSONiC (config)# interface Loopback 1 DELLSONiC (conf-if-lo1)# ip address 10.10.10.10/32 DELLSONiC (conf-if-lo1)# nat-zone 2
-
Удаление зоны NAT:
sonic(conf-if-interface)# no nat-zone <0..3> DELLSONiC (conf-if-lo1)# no nat-zone 2
Создайте статическую запись NAT.
Для обмена данными за пределами сети через Интернет пользователь может вручную настроить статическую запись NAT для замены локального IP-адреса на глобальный уникальный IP-адрес. Статические сетевые платы можно создать с переводом порта L4 или без нее. Статические NAT со ссылкой на порт L4 могут преобразовать локальный IP-адрес и номер порта TCP или UDP в глобальный IP-адрес с номером порта TCP или UDP.- Чтобы создать статический NAT без преобразования порта L4, с помощью
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
- Исходный NAT (SNAT) — преобразует исходный IP-адрес в локальной сети в глобальный IP-адрес, отправляемый во внешнюю сеть. Удаленные устройства вне сетей используют глобальный адрес для доступа к локальному устройству.
- Destination NAT (DNAT) — преобразует IP-адрес назначения в пакетах, полученных от внешней сети и передаваемых через локальную сеть, в локальный IP-адрес, используемый в локальной сети. ПО умолчанию используется DNAT.
- twice_nat_id — выполняет преобразование адресов на исходный и целевой IP-адреса для статических записей с одинаковым значением.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static basic 125.4.4.4 12.1.1.1 DELLSONiC(config-nat)# static basic 100.100.100.100 15.15.15.15 snat twice-nat-id 5 DELLSONiC(config-nat)# static basic 200.200.200.5 17.17.17.17 dnat twice-nat-id 5
- Чтобы создать статический NAT с преобразованием порта L4, с помощью
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
- Исходный протокол NAT (SNAT) — преобразует IP-адрес исходной системы и порт TCP/UDP в глобальный IP-адрес и порт TCP/UDP, отправляемые во внешнюю сеть. Удаленные устройства вне сетей используют глобальный адрес и порт L4 для доступа к локальному устройству.
- Destination NAT (DNAT) — преобразует IP-адрес назначения и порт TCP/UDP в пакетах, которые получены от внешней сети и проходят по локальной сети, в локальный IP-адрес и порт TCP/UDP, используемый в локальной сети. ПО умолчанию используется DNAT.
- twice_nat_id — преобразование адресов на исходный и целевой IP-адреса для статических записей с одинаковым значением идентификатора.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static udp 148.56.7.7 8991 10.11.1.12 2000 DELLSONiC(config-nat)# static tcp 123.3.4.1 901 11.11.1.1 1000 DELLSONiC(config-nat)# static tcp 65.55.46.6 106 20.0.0.6 206 dnat twice-nat-id 200 DELLSONiC(config-nat)# static tcp 65.55.45.5 100 20.0.0.5 200 snat twice-nat-id 200
- Удаление статической строки NAT:
sonic(conf-nat)# no static basic global-ip
sonic(conf-nat)# no static {tcp | udp} global-ip global-port
DELLSONiC(config-nat)# no static basic 125.4.4.4
DELLSONiC(config-nat)# no static basic 100.100.100.100
DELLSONiC(config-nat)# no static basic 200.200.200.5
DELLSONiC(config-nat)# no static udp 148.56.7.7 8991
DELLSONiC(config-nat)# no static tcp 123.3.4.1 901
DELLSONiC(config-nat)# no static tcp 65.55.46.6 106
DELLSONiC(config-nat)# no static tcp 65.55.45.5 100
Пример статического NAT
В примере ниже показано, что сеть A использует маршрутизатор с включенным протоколом NAT. Когда хост 100.100.100.101 в сегменте локальной сети отправляет трафик в сторону внешнего назначения (200.200.200.201), трафик отправляется в адрес маршрутизатора NAT, который будет направлен в адрес хоста 200.200.200.201 из Интернета. Маршрутизатор NAT преобразует исходный IP-адрес (SRC IP) 100.100.100.101 в новый исходный IP-адрес 1.1.1.2. Маршрутизатор NAT выполняет преобразование исходного сетевого адреса (SNAT), где внутренний закрытый адрес 100.100.100.101 переведен на внешний адрес 1.1.1.2. Маршрутизатор NAT выполняет преобразование целевого сетевого адреса (DNAT) для возврата трафика с хоста 200.200.200.201 обратно в сеть A на хост 100.100.100.101.
- Настройте зоны NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC (config)# interface Eth1/10 DELLSONiC (conf-if-Eth1/10)# ip address 100.100.100.1/24 DELLSONiC (conf-if-Eth1/10)# nat-zone 0 DELLSONiC (conf-if-Eth1/10)# exit DELLSONiC (config)# interface Eth1/20 DELLSONiC (conf-if-Eth1/20)# ip address 1.1.1.2/30 DELLSONiC (conf-if-Eth1/20)# nat-zone 1 DELLSONiC (conf-if-Eth1/20)# exit
-
Включение NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Создайте статический NAT без преобразования порта L4:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static basic 1.1.1.2 100.100.100.101
Создайте динамический NAT.
Динамический ПРОТОКОЛ NAT заменяет локальный адрес адресом из пула глобальных адресов.
Динамический перевод полезен, когда несколько пользователей в частной сети получают доступ к Интернету.
Настройка пула адресов NAT
Настройте пул доступных глобальных адресов, определив диапазон глобальных IP-адресов и (при необходимости) диапазон портов TCP/UDP, используемый для преобразования локального адреса.
- Создайте пул адресов NAT:
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
- Введите диапазон глобальных IP-адресов в формате IP-адрес ip-адреса.
- Введите диапазон номеров портов TCP/UDP в формате port-number-port-number.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 19.19.19.19 DELLSONiC(config-nat)# pool Pool2 20.0.0.7 1024-65535 DELLSONiC(config-nat)# pool Pool3 65.55.45.10-65.55.45.15 500-1000
- Удаление пула адресов NAT:
sonic(conf-nat)# no pool pool-name DELLSONiC(config-nat)# no pool Pool1
- Удаление всех пулов адресов NAT:
sonic(conf-nat)# no pools
Настройка привязки NAT
- Создание привязки NAT к пулу адресов NAT:
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
- SNAT — переводит исходный IP-адрес в глобальный IP-адрес в пуле. SNAT — это настройка по умолчанию в привязке NAT.
- DNAT — преобразует IP-адрес назначения в глобальный IP-адрес пула.
- twice_nat_id — выполняет преобразование адресов как на исходный, так и на целевой IP-адреса с помощью пула адресов для статических записей с одинаковым значением идентификатора.
- acl-name — для ограничения IP-адресов в глобальном пуле адресов NAT можно использовать список управления доступом (ACL). Оператор разрешения разрешает IP-адреса, которые имеют атрибуты, настроенные в правиле разрешения. В заявлении об отклонении отклоняется пакеты с атрибутами, настроенными в правиле запрета. В ACL запись do_not_nat позволяет перенаправить пакеты вместо перевода.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1 10_ACL_IPV4 DELLSONiC(config-nat)# binding Bind2 Pool2 12_ACL_IPV4 snat twice-nat-id 25 DELLSONiC(config-nat)# binding Bind3 Pool3 15_ACL_IPV4 dnat twice-nat-id 25
- Удаление привязки NAT:
sonic(conf-nat)# no binding binding-name DELLSONiC(config-nat)# no binding Bind1
- Удалите все привязки NAT:
sonic(conf-nat)# no bindings
Настройка тайм-аута Dynamic NAT
По умолчанию тайм-аут конфигураций динамического преобразования адресов только через 10 минут (600 секунд)
отсутствия активного трафика Отсутствует тайм-аут для статических записей NAT. Чтобы изменить динамическое значение тайм-аута NAT, укажите новое значение в секундах (от 300 до 432000).
- Изменение тайм-аута конфигураций динамического преобразования адресов:
sonic(conf-nat)# timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# timeout 1200
Также можно скорректировать тайм-ауты ввода NAT для записей L4 UDP и TCP NAT.
Чтобы изменить тайм-аут TCP для преобразования адресов, введите новое значение тайм-аута в секундах (от 300 до 432000; по умолчанию 86400). Чтобы изменить тайм-аут UDP для преобразования адресов, введите новое значение в секундах (от 120 до 600; по умолчанию 300).
- Изменение конфигураций динамического преобразования адресов тайм-аута UDP/TCP:
sonic(conf-nat)# udp-timeout <120..600> sonic(conf-nat)# tcp-timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# udp-timeout 600 DELLSONiC(config-nat)# tcp-timeout 66460
Пример dynamic NAT
В примере ниже показано, что сеть A использует маршрутизатор с включенным протоколом NAT. Когда хост 100.100.100.101 в сегменте локальной сети отправляет трафик в сторону внешнего назначения (200.200.200.201), трафик отправляется в адрес маршрутизатора NAT, который будет направлен в адрес хоста 200.200.200.201 из Интернета. Маршрутизатор NAT преобразует исходный IP-адрес (SRC IP) 100.100.100.101 в новый исходный IP-адрес 1.1.1.2. Маршрутизатор NAT выполняет преобразование исходного сетевого адреса (SNAT), где внутренний закрытый адрес 100.100.100.101 переведен на внешний адрес 1.1.1.2. Маршрутизатор NAT выполняет преобразование целевого сетевого адреса (DNAT) для возврата трафика с хоста 200.200.200.201 обратно в сеть A на хост 100.100.100.101. Тот же перевод NAT происходит для связи PC2 с PC3.

Рис. 2. Пример перевода динамических сетевых адресов
- Настройте зоны NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC (config)# interface Vlan 100 DELLSONiC (conf-if-Vlan100)# ip address 100.100.100.1/24 DELLSONiC (conf-if-Vlan100)# nat-zone 0 DELLSONiC (conf-if-Vlan100)# exit DELLSONiC (config)# interface Vlan 300 DELLSONiC (conf-if-Vlan300)# ip address 300.300.300.1/24 DELLSONiC (conf-if-Vlan300)# nat-zone 0 DELLSONiC (conf-if-Vlan300)# exit DELLSONiC (config)# interface Eth1/20 DELLSONiC (conf-if-Eth1/20)# ip address 1.1.1.2/30 DELLSONiC (conf-if-Eth1/20)# nat-zone 1 DELLSONiC (conf-if-Eth1/20)# exit
- Включение NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Создайте пул NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 1.1.1.2
- Создание привязки NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1
Просмотр конфигурации NAT
Используйте эти команды для отображения записей таблицы NAT конфигурации и операций, а также таблицы NAT.
- Таблица перевода NAT:
S5296F-Mid-SPINE# show nat translations Protocol Source Destination Translated Source Translated Destination ---------------------------------------------------------------------------------------------------------------------------- all 10.32.20.3 ---- 100.100.100.1 ---- all ---- 100.100.100.1 ---- 10.32.20.3 udp ---- 10.32.20.2:311 ---- 100.100.100.100:63 udp 100.100.100.100:63 ---- 10.32.20.2:311 ----
- Чтобы очистить записи перевода NAT, выполните:
DELLSONiC# clear nat translations
- Просмотр статистики перевода NAT:
DELLSONiC# show nat statistics ----------------------------------------------------------------------------- Protocol Source Destination Packets Bytes ----------------------------------------------------------------------------- udp 100.100.100.100:63 --- 15522575563164 993444836042496
- Просмотр конфигурации NAT и NAT:
DELLSONiC# show nat config static --------------------------------------------------------------------------------------------------------------------- Nat Type IP Protocol Global IP Global L4 Port Local IP Local L4 Port Twice-Nat Id ---------------------------------------------------------------------------------------------------------------------------- dnat all 100.100.100.1 ---- 10.32.20.3 ---- ----
- Просмотр пулов NAT:
DELLSONiC# show nat config pool Pool Name Global IP Range Global L4 Port Range ----------------------------------------------------------------------------- POOL1 100.100.100.2 1024-6034 POOL2 100.100.100.3-100.100.100.4 ----
- Просмотр конфигурации привязки NAT:
DELLSONiC# show nat config bindings Binding Name Pool Name Access-List Nat Type Twice-Nat Id ----------------------------------------------------------------------------- EXT1 POOL1 ---- ---- --- EXT2 POOL2 NAT_IPS ---- ---
- Просмотр глобальной конфигурации NAT:
DELLSONiC# show nat config globalvalues Admin Mode : enabled Global Timeout : 600 secs TCP Timeout : 86400 secs UDP Timeout : 300 secs
- Просмотр зон интерфейса L3:
DELLSONiC# show nat config zones Port Zone ------------------------------------------------- Eth1/1 2 PortChannel12 2 Vlan200 1 Loopback1 1
-
Просмотр количества переводов NAT:
DELLSONiC# show nat translations count Static NAT Entries ................. 2 Static NAPT Entries ................. 0 Dynamic NAT Entries ................. 0 Dynamic NAPT Entries ................. 2 Static Twice NAT Entries ................. 0 Static Twice NAPT Entries ................. 0 Dynamic Twice NAT Entries ................. 0 Dynamic Twice NAPT Entries ................ 0 Total SNAT/SNAPT Entries ................ 2 Total DNAT/DNAPT Entries ................ 2 Total Entries .......................... 4