Настройка NAT: Часть 3

Частные случаи использования нескольких IP-адресов на WAN-интерфейсе. Бонус: наиболее частые ошибки при работе с NAT.

Нет комментариевПросмотров: 32830
05июня 2015
все статьи

Введение

В этой части статьи мы рассмотрим частные случаи использования нескольких IP-адресов на WAN-интерфейсе. И в качестве бонуса, в конце статьи расскажу про наиболее частые ошибки при работе с NAT.

Итак, провайдер предоставил вам несколько WAN-адресов. И у вас возникает вопрос, как их правильно использовать.

Предположим, провайдер выдал вам адреса:

Вам помогла эта статья?

Приглашаем пройти обучение в нашем тренинг-центре и научиться настраивать оборудование MikroTik на профессиональном уровне! Узнайте расписание ближайших курсов и бронируйте место!

1.1.1.1/24 и 1.1.1.2/24
 

Оба этих адреса вы назначили на интерфейс WAN. Кроме того, у вас есть локальные подсети 192.168.0.0/24 и 192.168.1.0/24, расположенные на интерфейсах LAN и DMZ.

Source NAT

Если вам просто хочется использовать оба внешних адреса для выхода из вашей локальной сети в Интернет.

Понятно, что Action=masquerade, в этом случае нам не очень подходит, потому что она автоматически будет использовать только один из адресов, назначенный интерфейсу.

Вместо этого воспользуемся Action=same

Правило будет выглядеть следующим образом:

/ip firewall nat add action=same chain=srcnat out-interface=WAN to-addresses=1.1.1.1-1.1.1.2
 

То есть маршрутизатор будет сначала использовать свободные порты для адреса 1.1.1.1, а когда они закончатся, начнет использовать свободные порты адреса 1.1.1.2

Это может оказаться необходимым, если у вас в локальной сети активно работает с интернетом большое количество пользователей.

Теперь рассмотрим более сложный случай. Мы хотим, чтобы компьютеры из локальной сети выходили в интернет с адреса 1.1.1.1, а компьютеры из DMZ — с адреса 1.1.1.2

nat

Для этого нам придется написать 2 правила NAT:

/ip firewall nat 
add action=src-nat chain=srcnat out-interface=WAN src-address=192.168.0.0/24 \
to-addresses=1.1.1.1 
add action=src-nat chain=srcnat out-interface=WAN src-address=192.168.1.0/24 \
to-addresses=1.1.1.2
 

Destination NAT

При работе с Destination NAT нужно не забывать, что если вы не указали явно в правиле NAT адрес назначения, пакет будет обработан независимо от того, на какой внешний адрес он придет.

Например, вы решили опубликовать WWW-сервер, имеющий внутренний адрес 192.168.1.2

Если вы создадите правило: />

/ip firewall nat 
add action=dst-nat chain=dstnat dst-port=80 in-interface=WAN protocol=tcp \
to-addresses=192.168.1.2
 

— то независимо, на какой из внешних адресов поступит обращение на 80 порт, он будет обработан вашим www-сервером.

Теперь предположим, что у вас есть еще один www-сервер, имеющий внутренний адрес 192.168.1.3, и вы хотите опубликовать сервера следующим образом

Сервер 192.168.1.2 должен быть опубликован на внешнем адресе 1.1.1.1

Сервер 192.168.1.3 должен быть опубликован на внешнем адресе 1.1.1.2

настройка nat

Тогда правила примут следующий вид:

/ip firewall nat 
add action=dst-nat chain=dstnat dst-address=1.1.1.1 dst-port=80 protocol=tcp \ 
to-addresses=192.168.1.2 
add action=dst-nat chain=dstnat dst-address=1.1.1.2 dst-port=80 protocol=tcp \ 
to-addresses=192.168.1.3
 

Обратите внимание, что вам необходимо корректно указывать в правиле dst-nat или входящий интерфейс (in-interface) или адрес назначения (dst-address) или и то, и другое.

Если вы сделаете правило без этого ограничения, то последствия будут весьма неожиданными. Например, правило:

/ip firewall nat add action=dst-nat chain=dstnat dst-port=80 protocol=tcp to-addresses=192.168.1.2
 

приведет к тому, что при обращении любого компьютера вашей локальной сети на 80 порт любого сервера в Интернет он будет перенаправлен на ваш www-сервер.

Еще более нежелательный результат можно получить, если забыть указать интерфейс в правиле Source NAT с Action=masquerade.

Это приведет к тому, что все пакеты будут иметь адрес источника, равный адресу интерфейса маршрутизатора, через который вышел пакет. И если у вас есть в сети, например, почтовый сервер, который вы опубликовали в Интернет, и на котором разрешен релей для адресов локальной сети, то вы получите Open Relay, всего лишь ошибившись в src-nat.

Пример такой некорректной конфигурации, для SMTP-сервера 192.168.1.4:

/ip firewall nat 
add action=dst-nat chain=dstnat dst-port=25 in-interface=WAN protocol=tcp to-addresses=\ 192.168.1.4
add action=masquerade chain=srcnat
 

В этом примере, если маршрутизатор имеет адрес 192.168.1.1, то SMTP сервер будет воспринимать все внешние подключения как выполненные с адреса 192.168.1.1 и обрабатывать их как локальные. Что грозит вам попаданием в Spam-листы.

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

Поэтому, при работе с NAT нужно быть крайне внимательным.

Технический директор Илья Князев (тренер MikroTik, MTCNA, MTCWE, MTCTCE)

поделиться материалом:

Читайте также

комментарии — 0