Jump to content
Калькуляторы

Mikrotik CCR NAT best practices

Поделитесь как реализовать NAT для абонентов на CCR1016-12G?

Что есть:

0. Есть железка CCR1016-12G.

  • eth1 смотрит на пограничный маршрутизатор и получает от него default
  • eth2 смотрит на абонентов с private IPV4

1. Есть "белые" IPV4 /23

2. Есть абоненты private IPV4 address 172.16.0.0/20

 

Задача:


     
  • сделать на CCR1016-12G просто NAT private IPV4 address 172.16.0.0/20 в пул IPV4 /23 без дополнительных "фишек"
  • сделать трансляцию преобразования для COPM.

 

Ищутся проверенные мануалы как это сделать или если есть какой либо дистрибутив, умеющий это из коробки без шаманства - просто замечательно. Времени пилить вручную Linux нет.

Share this post


Link to post
Share on other sites

сделать на CCR1016-12G просто NAT private IPV4 address 172.16.0.0/20 в пул IPV4 /23 без дополнительных "фишек"

 

Вот как-то так:

1. Создаете на внешнем интерфейсе записи для всех своих белых ИП участвующих в нате абонента, в данном случае подсеть /28 без первого адреса.

2. Создаете адрес листы со списком серых подсетей и со списком всех внутренних сетей.

3. Создаете маркировки для добавления разделенных адресов абонентов по своим адрес листам, то есть все абоненты разбиваются по равным группам в свои адрес листы.

4. Создаете нужное количество правил НАТ, каждое для своей маркировки.

 

Если у вас /23 пул то вам надо просто сделать около 500 правил в манглах, 500 правил в нате и повесить 500 внешних адресов.

 

/ip address
add address=91.33.21.3/28 interface=ether1 
add address=91.33.21.4/28 interface=ether1 
add address=91.33.21.5/28 interface=ether1 
add address=91.33.21.6/28 interface=ether1 
add address=91.33.21.7/28 interface=ether1 
add address=91.33.21.8/28 interface=ether1 
add address=91.33.21.9/28 interface=ether1 
add address=91.33.21.10/28 interface=ether1 
add address=91.33.21.11/28 interface=ether1 
add address=91.33.21.12/28 interface=ether1 
add address=91.33.21.13/28 interface=ether1 
add address=91.33.21.14/28 interface=ether1 

/ip firewall address-list
add address=10.0.0.0/8 list=Local-IP
add address=91.33.21.0/24 list=Local-IP
add address=10.100.10.0-10.200.255.255 list=Local-ABON

/ip firewall mangle
add action=add-src-to-address-list address-list=NAT_2 address-list-timeout=1h chain=prerouting comment=NAT2 dst-address-list=!Local-IP per-connection-classifier=src-address:12/0 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_3 address-list-timeout=1h chain=prerouting comment=NAT3 dst-address-list=!Local-IP per-connection-classifier=src-address:12/1 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_4 address-list-timeout=1h chain=prerouting comment=NAT4 dst-address-list=!Local-IP per-connection-classifier=src-address:12/2 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_5 address-list-timeout=1h chain=prerouting comment=NAT5 dst-address-list=!Local-IP per-connection-classifier=src-address:12/3 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_6 address-list-timeout=1h chain=prerouting comment=NAT6 dst-address-list=!Local-IP per-connection-classifier=src-address:12/4 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_7 address-list-timeout=1h chain=prerouting comment=NAT7 dst-address-list=!Local-IP per-connection-classifier=src-address:12/5 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_8 address-list-timeout=1h chain=prerouting comment=NAT8 dst-address-list=!Local-IP per-connection-classifier=src-address:12/6 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_9 address-list-timeout=1h chain=prerouting comment=NAT9 dst-address-list=!Local-IP per-connection-classifier=src-address:12/7 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_10 address-list-timeout=1h chain=prerouting comment=NAT10 dst-address-list=!Local-IP per-connection-classifier=src-address:12/8 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_11 address-list-timeout=1h chain=prerouting comment=NAT11 dst-address-list=!Local-IP per-connection-classifier=src-address:12/9 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_12 address-list-timeout=1h chain=prerouting comment=NAT12 dst-address-list=!Local-IP per-connection-classifier=src-address:12/10 src-address-list=Local-ABON
add action=add-src-to-address-list address-list=NAT_13 address-list-timeout=1h chain=prerouting comment=NAT13 dst-address-list=!Local-IP per-connection-classifier=src-address:12/11 src-address-list=Local-ABON

/ip firewall nat
add action=src-nat chain=srcnat comment=NAT2 dst-address-list=!Local-IP src-address-list=NAT_2 to-addresses=91.33.21.3
add action=src-nat chain=srcnat comment=NAT3 dst-address-list=!Local-IP src-address-list=NAT_3 to-addresses=91.33.21.4
add action=src-nat chain=srcnat comment=NAT4 dst-address-list=!Local-IP src-address-list=NAT_4 to-addresses=91.33.21.5
add action=src-nat chain=srcnat comment=NAT5 dst-address-list=!Local-IP src-address-list=NAT_5 to-addresses=91.33.21.6
add action=src-nat chain=srcnat comment=NAT6 dst-address-list=!Local-IP src-address-list=NAT_6 to-addresses=91.33.21.7
add action=src-nat chain=srcnat comment=NAT7 dst-address-list=!Local-IP src-address-list=NAT_7 to-addresses=91.33.21.8
add action=src-nat chain=srcnat comment=NAT8 dst-address-list=!Local-IP src-address-list=NAT_8 to-addresses=91.33.21.9
add action=src-nat chain=srcnat comment=NAT9 dst-address-list=!Local-IP src-address-list=NAT_9 to-addresses=91.33.21.10
add action=src-nat chain=srcnat comment=NAT10 dst-address-list=!Local-IP src-address-list=NAT_10 to-addresses=91.33.21.11
add action=src-nat chain=srcnat comment=NAT11 dst-address-list=!Local-IP src-address-list=NAT_11 to-addresses=91.33.21.12
add action=src-nat chain=srcnat comment=NAT12 dst-address-list=!Local-IP src-address-list=NAT_12 to-addresses=91.33.21.13
add action=src-nat chain=srcnat comment=NAT13 dst-address-list=!Local-IP src-address-list=NAT_13 to-addresses=91.33.21.14

 

сделать трансляцию преобразования для COPM.

 

Это нельзя. Нужно перед микротиком поставить коммутатор и в него сливать исходный трафик абонентов по серым адресам. Обычно, если топология такая, что трафик приходит разными способами в центр, то НАТ выносят на отдельную железку, которую и подключают через коммутатор, который зеркалирует трафик.

Share this post


Link to post
Share on other sites

Если у вас /23 пул то вам надо просто сделать около 500 правил в манглах, 500 правил в нате и повесить 500 внешних адресов.

Ого...а можете пояснить почему нельзя "same"

http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT

same - gives a particular client the same source/destination IP address from supplied range for each connection. This is most frequently used for services that expect the same client address for multiple connections from the same client

 

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

Так сейчас и сделано. Мне не понятно как СОРМ будет получать соответствие Private IP -> Public IP from pool

Share this post


Link to post
Share on other sites

Ого...а можете пояснить почему нельзя "same"

 

Чем же указанное вами same лучше src-nat?

 

Так сейчас и сделано. Мне не понятно как СОРМ будет получать соответствие Private IP -> Public IP from pool

 

Вообще он слушает приходящий на него трафик, IP адреса абонентов у вас же серые фиксированные? Вот если серые или белые внутренние динамические, тогда нужно соответствие привязок конкретного IP к конкретному абоненту, а привязки серых и внешних не требуют.

Share this post


Link to post
Share on other sites

Если у вас /23 пул то вам надо просто сделать около 500 правил в манглах, 500 правил в нате и повесить 500 внешних адресов.

Какая прелесть... Т.е., каждый пакет будет проходить через 1000 правил? Офигеть :) Интересно, хотя бы 300 мбит CCR при этом пронатит? :)

Share this post


Link to post
Share on other sites

Какая прелесть... Т.е., каждый пакет будет проходить через 1000 правил? Офигеть :) Интересно, хотя бы 300 мбит CCR при этом пронатит? :)

 

(Или 500 микротиков, по одному на адрес)

Share this post


Link to post
Share on other sites

Чем же указанное вами same лучше src-nat?

Честно - не знаю у меня нет опыта в large scale nat. same часто указывают что с ним меньше проблем. Я пытаюсь разобраться.

Плюсы предложенного решения как я понимаю: жесткая привязка частного адреса к внешнему пул-пул что удобно для СОРМа

Минусы: большое количество правил что будет загружать процессор.

 

Коллеги если Вы такое уже реализовывали на Микротиках - поделитесь идеями пожалуйста.

 

Вообще он слушает приходящий на него трафик, IP адреса абонентов у вас же серые фиксированные? Вот если серые или белые внутренние динамические, тогда нужно соответствие привязок конкретного IP к конкретному абоненту, а привязки серых и внешних не требуют.

 

Пока все на бумаге. Адреса серые динамические (история выдачи будет в биллинге). Абонентская база большая и привязать вручную каждому серый адрес большая задача. У нас требуют сопоставление серых и белых в момент нужного времени. Т.К. от органов приходит запрос кому был назначен IP такой-то. Если он из nat-пула нам как-то надо привязать его к серому адресу.

Share this post


Link to post
Share on other sites

Пока все на бумаге. Адреса серые динамические (история выдачи будет в биллинге). Абонентская база большая и привязать вручную каждому серый адрес большая задача. У нас требуют сопоставление серых и белых в момент нужного времени. Т.К. от органов приходит запрос кому был назначен IP такой-то. Если он из nat-пула нам как-то надо привязать его к серому адресу.

 

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

 

Какая прелесть... Т.е., каждый пакет будет проходить через 1000 правил? Офигеть :) Интересно, хотя бы 300 мбит CCR при этом пронатит? :)

 

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

Share this post


Link to post
Share on other sites

задействовав, тем самым, 4 устройства.

Микротик устаревшая технология, один PC с линуксом пронатит всё как надо ТС, одной строкой iptables.

Share this post


Link to post
Share on other sites

Почему белый поставить нельзя?

Адресов мало - абонентская база растет. Сейчас получить пулы по вменяемым деньгам хотя бы в аренду - это почти нереально в нашей глубинке :)

 

Есть у кого опыт MIKROTIK+NAT+СОРМ?

Share this post


Link to post
Share on other sites

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

Т.е. CCR1016 может жевать не более 75 мбит стабильно, я правильно понял? :)

Share this post


Link to post
Share on other sites

Т.е. CCR1016 может жевать не более 75 мбит стабильно, я правильно понял? :)

 

Вы поняли не правильно, обычно на каждых 100 абонентов идет 1 внешний адрес, если 1 внешний на 50 это уже хорошо. В любом случае микротик легко пропускает по 1-2 гига трафика с НАТ.

Share this post


Link to post
Share on other sites

Если у вас /23 пул то вам надо просто сделать около 500 правил в манглах, 500 правил в нате и повесить 500 внешних адресов.

 

 

Вы поняли не правильно, обычно на каждых 100 абонентов идет 1 внешний адрес, если 1 внешний на 50 это уже хорошо. В любом случае микротик легко пропускает по 1-2 гига трафика с НАТ.

 

С 500 правилами он скуксится гораздо раньше гига.

Share this post


Link to post
Share on other sites

Это очень жирно, столько выделять адресов на нат. По опыту эксплуатации FWSM модуля от циски, ~1000 юзеров (в районе 100k трансляций), спокойно натились в 12 внешних адресов. Жалоб ни от кого ни разу не было, ни на капчи в поисковиках, ни на прочие проблемы. На ASR сейчас ситуация схожая, в нат пуле из 32 адресов задействовалось 10.

Share this post


Link to post
Share on other sites

Почему белый поставить нельзя?

Адресов мало - абонентская база растет. Сейчас получить пулы по вменяемым деньгам хотя бы в аренду - это почти нереально в нашей глубинке :)

 

Есть у кого опыт MIKROTIK+NAT+СОРМ?

 

Делайте 50/1, но не менее:)

 

Какая у вас вменяемая цена за /24?

 

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

Т.е. CCR1016 может жевать не более 75 мбит стабильно, я правильно понял? :)

 

У меня как маин роутер в датацентре стоит CCR1016-12g без проблемы 3Г (конечно без натов)

Share this post


Link to post
Share on other sites

У меня как маин роутер в датацентре стоит CCR1016-12g без проблемы 3Г (конечно без натов)

Добавьте 25 правил фильтрации в фаер, посмотрим сколько оно прожует. Без натов.

Share this post


Link to post
Share on other sites

У меня как маин роутер в датацентре стоит CCR1016-12g без проблемы 3Г (конечно без натов)

Пффф... На тупом форвардинге 3 гига - это смешные цифры. Речь шла о нате. Тем более - в идиотской его реализации с 1000 правил, потому что микротик иначе нормально не работает, статистику сливать не умеет, а так будет хоть какое-то жалкое подобие учета кто куда ходил.

 

Создайте на своем CCR 1000 правил файрвола (ну к примеру однотипных правил дропа при форварде всего, что идет на 10.1.2.3/32, или маркировки чего-то, или еще чего) - и примерно поймете, какой идиотизм тут советуют продаваны микротика :)

Share this post


Link to post
Share on other sites

У меня как маин роутер в датацентре стоит CCR1016-12g без проблемы 3Г (конечно без натов)

Пффф... На тупом форвардинге 3 гига - это смешные цифры. Речь шла о нате. Тем более - в идиотской его реализации с 1000 правил, потому что микротик иначе нормально не работает, статистику сливать не умеет, а так будет хоть какое-то жалкое подобие учета кто куда ходил.

 

Создайте на своем CCR 1000 правил файрвола (ну к примеру однотипных правил дропа при форварде всего, что идет на 10.1.2.3/32, или маркировки чего-то, или еще чего) - и примерно поймете, какой идиотизм тут советуют продаваны микротика :)

 

Зачем делать то-что не надо?:)

 

На МТ ставить ФВ не хорошо, за него поставил и ок:)

Share this post


Link to post
Share on other sites

Зачем делать то-что не надо?:)

А зачем примеры приводить, которые к обсуждаемой задаче не имеют никакого отношения? Я вам предложил провести эксперимент - сделать почти то, что советовали ТС-у (почти - т.к. без ната), и убедиться что 3 гигабитами в такой ситуации пахнуть и не будет. И даже 300 мбитами.

Share this post


Link to post
Share on other sites

Ну ок. Раз с МТ непонятность. Что может отнатить около 1Гбит в бюджете до 200 т.р. Не самосбор и Linux, FreeBSD.

Share this post


Link to post
Share on other sites

Ну ок. Раз с МТ непонятность. Что может отнатить около 1Гбит в бюджете до 200 т.р. Не самосбор и Linux, FreeBSD.

 

Не кто качествено не подержуют большого количество НАТов

Share this post


Link to post
Share on other sites

Ну ок. Раз с МТ непонятность. Что может отнатить около 1Гбит в бюджете до 200 т.р. Не самосбор и Linux, FreeBSD.

SE100 б/у поищите. Ну или динозаврика ASA5580 пробовать мучить - может гиг вывезет с натом. Хотя тот же тазик по сути. SRX650 в бюджет не влазит.

Share this post


Link to post
Share on other sites

У меня CCR 1032 NAT+СОРМ

 

на трафике 0,5 Гиг загрузка 20%

 

Мы делали сначала правило -same, все работает отлично! Трафик для СОРМА сливаем чере мирор в ipt_netflow.

 

Позже отказались от мобильности и на все локации назначили пулы. Сейчас транслируем /24 в 1 реальный IP. Получается около 40 правил.

 

Недавно было заявлено о поддержке NAT в микротиковском нетфлоу, я пока не проверял, но вам стоит поробовать!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.