Перейти до

Mikrotik - настройка NAT на насколько подсетей.


Рекомендованные сообщения

Добрый вечер, коллеги!
Столкнулся с такой ситуацией.

Вышестоящий провайдер выдаёт интернет посредством gre-tunnel.

К серверу (микротику) подключается 5 отдельных локальных подсетей.

Раньше на этом туннеле был один ай-пи, допустим 111.111.111.111

В ip - firewall было создано одно правило НАТ, применен scr-nat, в настройках было указано to-address 111.111.111.111

Всё работало.

Было принято решение чуть разгрузить это всё и добавлен ещё один внешний ай-пи, отличающийся на 1 цифру допустим 111.111.111.112.

К слову, оба этих ай-пи прописаны прямо на интерфейс туннеля (в ip - addresses).

Для того, чтобы две из пяти локальных сети выходили в мир по 111.111.111.111, а три другие по 111.111.111.112, я принял решение создать отдельно 5 правил scr-nat.

Вот кусок конфига:

 

/ip firewall nat
add action=src-nat chain=srcnat dst-address=!192.168.0.0/16 out-interface=gw-a src-address=192.168.0.0/24 src-address-list=Clients to-addresses=111.111.111.111
add action=src-nat chain=srcnat dst-address=!192.168.0.0/16 out-interface=gw-a src-address=192.168.1.0/24 src-address-list=Clients to-addresses=111.111.111.111
add action=src-nat chain=srcnat dst-address=!192.168.0.0/16 out-interface=gw-a src-address=192.168.2.0/24 src-address-list=Clients to-addresses=111.111.111.112
add action=src-nat chain=srcnat dst-address=!192.168.0.0/16 out-interface=gw-a src-address=192.168.3.0/24 src-address-list=Clients to-addresses=111.111.111.112
add action=src-nat chain=srcnat dst-address=!192.168.0.0/16 out-interface=gw-a src-address=192.168.4.0/24 src-address-list=Clients to-addresses=111.111.111.112

 

Вроде всё работает, но то ли мне кажется, то ли сайты иногда подвисают.

 

Посему вопросы:

1. Правильно ли я разрулил 2 внешних ай-пи на 5 локальных сетей?

2. Что это такое !192.168.0.0/16. Я понимаю, что это исключение адресного пространства локалки из НАТа, но с какой целью? Надо ли так делать?

3. Если на туннеле прописаны оба внешника 111.111.111.111 и 111.111.111.112, то если я буду пинговать некий сайт прямо с микротика, с какого из этих двух адресов будут идти запросы на сайт?

Ссылка на сообщение
Поделиться на других сайтах

1. Да.

2. Да, правило на всякий случай чтоб локальный трафик через НАТ не бегал.

3. Трафик всегда должен уходить от основного ip, от алиаса можно отправить выбрав другой src ip в настройках софта. Ключём у пинга.

  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Туйон сказал:

 

Вроде всё работает, но то ли мне кажется, то ли сайты иногда подвисают.

 

 

Можно уменьшить кол-во правил просуммировав подсети, к примеру 192.168.0.0/24 + 192.168.1.0/24 = > 192.168.0.0/23 . В итоге 5 правил заменить на 2.

  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах
Только что, wantmore сказал:

Можно уменьшить кол-во правил просуммировав подсети, к примеру 192.168.0.0/24 + 192.168.1.0/24 = > 192.168.0.0/23 . В итоге 5 правил заменить на 2.

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

Допустим, 192.168.0 и 192.168.1 мы превращаем в 192.168.0.0/23

А так объединить 192.168.2, 192.168.3, 192.168.4 ?

Ссылка на сообщение
Поделиться на других сайтах

А никак. Да и смысла в суммировании никакого, что 3 строки в фаерволе, что 10 - разницы вы не увидите даже в тестах.

Відредаговано KaYot
Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Туйон сказал:

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

Допустим, 192.168.0 и 192.168.1 мы превращаем в 192.168.0.0/23

А так объединить 192.168.2, 192.168.3, 192.168.4 ?

Можно сместить диапазон(если это не критично) .Прописать 192.168.4.0/22 - доступные подсети с 4 по 7 . 

Ссылка на сообщение
Поделиться на других сайтах
15 часов назад, wantmore сказал:

Можно сместить диапазон(если это не критично) .Прописать 192.168.4.0/22 - доступные подсети с 4 по 7 . 

А для чего это ?Прироста по скрости это не даст . Тут проблем скорее всего в другом. Надо проверять.

А какой днс используют клиенты ? Днс Мт или наружний ?

Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, max_m сказал:

А какой днс используют клиенты ? Днс Мт или наружний ?

ДНС используется микротиковский.

На микротике в качестве вышестоящих ДНС используется 1.1.1.1 и вышестоящего провайдера.

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

В фаерволе входящие подключения извне на ДНС закрыты, из внешки его ничего не нагружает.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Отмечу, что если проверять ДНС с помощью nslookup то ответы приходят моментально. Даже на такие сайты, которых нет в кеше.

Мне кажется, что дело не в ДНС.

Интернет приходит по GRE туннелю. Попробую сегодня MTU поставить меньше. Там по умолчанию стоит, оно выдает 1472 вроде. Поставлю 1420 для начала.

Відредаговано Туйон
Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, Туйон сказал:

 

В фаерволе входящие подключения извне на ДНС закрыты, из внешки его ничего не нагружает.

Как выглядит это правило? Посмотри в правиле нет ли исключений. Если у тебя просто добавился ип то всякие мту и тд тут не причем ты же физику не менял , до этого оно работало без проблем. Поэтому проблема у тебя в скорее в правилах фаервола.

Ссылка на сообщение
Поделиться на других сайтах

add action=accept chain=input comment="Established Internet" connection-state=established in-interface-list=Internet
add action=drop chain=input comment="Deny Input Internet" in-interface-list=Internet

 

Первое правило разрешает Established соединения извне

Второе правило запрещает всё входящее извне.

В интерфейс-листе Internet этот gre-тунель и был ещё один канал ADSL, щас нету.

Ссылка на сообщение
Поделиться на других сайтах

Тут как бы есть такой нюанс, незнаю на сколько он будет критичен но выглядит это примерно так ДНС запрос на выше стоящего ты отдаеш от имени МТ то биш ИП который на интерфейсе допустим 111.111.111.111, ответ пытаешся получить по ип 111.111.111.112 вот тут и могет быть проблема. Попрообуй клиентам которые НАТятся за ИП  111.111.111.112 выдать сторонний днс к примеру 8,8,8,8 или ДНС вышестоящего и посмотри на результат. 

Відредаговано max_m
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, max_m сказал:

Тут как бы есть такой нюанс, незнаю на сколько он будет критичен но выглядит это примерно так ДНС запрос на выше стоящего ты отдаеш от имени МТ то биш ИП который на интерфейсе допустим 111.111.111.111, ответ пытаешся получить по ип 111.111.111.112 вот тут и могет быть проблема. Попрообуй клиентам которые НАТятся за ИП  111.111.111.112 выдать сторонний днс к примеру 8,8,8,8 или ДНС вышестоящего и посмотри на результат. 

К слову, я проверял именно с той подсети, где 111.111.111.111

Попробую и так.

Ссылка на сообщение
Поделиться на других сайтах

Да ерунда это, к какому интерфейсу роутера не обратись - любой будет доступен и ответит от запрошенного ИП. Он в принципе не может отвечать с другого ИП.

Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, Туйон сказал:

Кто пользуется DNS-сервером в ROS, скажите какой конфиг используете? Стандартный? Или что-то меняете?

На Мт не юзаем, нет необходимости отказались от разного рода граблей + при галке алов ремут реквест всяки ботнеты через твой МТ днс так как он светится наружу  начинают ддосить или напиши правило для с фильтром кому разрешено пользоваться днс это как минимум твоя подсеть и ип днс сервера в твоем случае 1.1.1.1. Но для начала просто смени ДНС на клиенте на сторонний от МТ, а потом начнем дальшесмотреть.

Ссылка на сообщение
Поделиться на других сайтах

Тут ещё одна мысль. Возможно дело в ROS 6.43.2. Я её за полдня до манипуляций с этими всеми ай-пи обновил с 6.42.7

Сегодня попробую даунгрейднуть. Мало ли. У Микротика приколы бывают...

Ссылка на сообщение
Поделиться на других сайтах
В 23.09.2018 в 20:37, Туйон сказал:

Вроде всё работает, но то ли мне кажется, то ли сайты иногда подвисают.

Главное - определится что не так.

Кажется или медленно открываются?

Пинги идут без потерь?

nslookup на разные направления мгновенно отрабатывает?

Пинг пакетами 1472(или 1500, сколько там в MT нужно задать) проходит?

 

P.S. у одмина не может быть диагноза "сайты подвисают", это вас юзер покусал походу)))

Відредаговано KaYot
Ссылка на сообщение
Поделиться на других сайтах
31 минуту назад, KaYot сказал:

Главное - определится что не так.

Кажется или медленно открываются?

Пинги идут без потерь?

nslookup на разные направления мгновенно отрабатывает?

Пинг пакетами 1472(или 1500, сколько там в MT нужно задать) проходит?

 

P.S. у одмина не может быть диагноза "сайты подвисают", это вас юзер покусал походу)))

80% что проблема будет в ДНС у нас были уже грабли на МТ только на 5 ветке  поэтому не стали сильно извращаться и просто его не используем. Если память не изменяет то выглядело примерно как страница не полностью открываеться и подвисает , чем то похоже на то когда заблочили всякие вконтакты и т.д. на страницах где были ссылки на эти сети долго страница тупила при открытии. 

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, Туйон сказал:

add action=accept chain=input comment="Established Internet" connection-state=established in-interface-list=Internet
add action=drop chain=input comment="Deny Input Internet" in-interface-list=Internet

Еще вот тут вопрос по правилу в первой строке разрешены connection-state=established, а не корректнее для ДНС записать вот так add action=accept chain=input src-address=8.8.8.8 comment="Allow DNS request" in-interface-list=Internet protocol=udp src-port=53

 

Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, max_m сказал:

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

Да, в какой-то мере похоже на эти симптомы. Причем одни сайты открываются лучше, другие хуже. Через время могут те сайты, которые открывались хуже, начать летать, а потом снова тупить. Началось это, всё таки, либо после моих манипуляций с фаерволом и вторым ай-пи, либо после обновления на 43.2. Для начала откачусь на 42.7.

 

6 минут назад, max_m сказал:

Еще вот тут вопрос по правилу в первой строке разрешены connection-state=established, а не корректнее для ДНС записать вот так add action=accept chain=input src-address=8.8.8.8 comment="Allow DNS request" in-interface-list=Internet protocol=udp src-port=53

 

Ну все буквари по базовой настройке Микротика именно так и предлагают (как я сделал), ещё они предлагают добавлять правило для related, но я его добавлял и там за сутки 0 пакетов, посему его выкинул. 

В Вашем примере это для одного адреса. А если их несколько? А если кроме ДНС у меня используется ещё и NTP сервер / клиент, для них ведь тоже придется такое делать. Не думаю что дело в этом правиле, оно там "с рождения" висит.

Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, max_m сказал:

разрешены connection-state=established, а не корректнее для ДНС записать вот так

Allow established разрешает все что инициировал клиент, отдельные правила не нужны.

Другой вопрос что state-less фаервол(тот что проходит всю цепочку правил для разрешения пакета не зависимо от данных модуля state и таблицы соединений) в принципе эффективнее чем state full(который использует conntrack и таблицу состояний). 

Если есть возможность прописать все возможные запросы-ответы это будете дешевле по CPU чем использовать одну строку "allow established" которая просматривает conntrack table для каждого пакета.

 

P.S. реализовывал на своих NASах полностью state-less режим, по ресурсам вышло +- монопенисуально с банальным allow established. Ну а длинна фаервола и количество подводных камней отличается на порядок. Но у меня НАТ вынесен с серверов доступа, как и должно быть.. А клиенты идут мимо conntrack.

Відредаговано KaYot
Ссылка на сообщение
Поделиться на других сайтах

Давай так у нас твоя схема по мт работает вот так 

add address=1.xxx.xxx.225/28 comment=NN-NAT-POOL1 interface=bonding1 network=1.xxx.xxx.224
add address=1.xxx.xxx.226/28 comment=NN-NAT-POOL2 interface=bonding1 network=1.xxx.xxx.224
add address=1.xxx.xxx.227/28 comment=NN-NAT-POOL3 interface=bonding1 network=1.xxx.xxx.224
далее

add action=src-nat chain=srcnat comment=Local-Pool-NAT1  out-interface=bonding1 src-address-list=Local-NAT-1 to-addresses=1.xxx.xxx.225
add action=src-nat chain=srcnat comment=Local-Pool-NAT2  out-interface=bonding1 src-address-list=Local-NAT-2 to-addresses=1.xxx.xxx.226
add action=src-nat chain=srcnat comment=Local-Pool-NAT3  out-interface=bonding1 src-address-list=Local-NAT-3 to-addresses=1.xxx.xxx.227

все и работает без проблем , только ДНС сервер у нас у клиентов не МТ.

Попробуй приведи к вот такому же, это 100% рабочий конфиг.src-address-list=Local-NAT-1 Список сетей в пуле которые натятся к примеру 192,168,0,0/24 у тебя еще будет строка dst-address=!192.168.0.0/16 ну так как ты напсал в первом посте так что тут все правильно.

 

Відредаговано max_m
Ссылка на сообщение
Поделиться на других сайтах

Если все +- так же надо смотреть что то другое , а что то другое в твоем случае это ДНС сервер МТ , можеш его исключть если на клиенте пропишиш сторонний. Если все таки упрешся в него то тут как я описывал ранее у Мт могут быть разные глюки может и версия МТ, а может и параметры ДНС и всякие правила надо переберать.   

Да у нас версия МТ 6,42,5

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Ночью удаленно сделал даунгрейд на 6.42.7

Сутречка проверил - всё летает.

То ли из за того, что нагрузки почти нет, то ли всё таки в 6.43 какой-то косяк.

День покажет.

 

P.S. Да, кстати. В 6.43 начали "внедрять" 802.3bz, появились в интерфейсах скорости 2.5 и 5 гбит/с.

При этом при экспорте конфига, интерфейс, на котором нормально работает по автоопределению 100 мбит, выдается такая каша:

 

set [ find default-name=ether1 ] advertise=\
    10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full disabled=yes \
    name=port1

 

Хотя галочки и на 2.5 и на 5 тоже поставлены.

Режет глаза.

Відредаговано Туйон
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

×
×
  • Створити нове...