Перейти к содержимому
Калькуляторы

Интернет-шлюз на основе Mikrotik

32 минуты назад, Trueno сказал:

Можно ли назначить пользователю конкретные права?

Для целей вашей задачи - нет. Есть некое распределение прав группам, но вас оно не устроит.

Поделиться сообщением


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

9 часов назад, Trueno сказал:

А скажите, это теперь надо в каждой очереди руками менять всё или это в самой очереди "default-small" изменения произвести?

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

Поделиться сообщением


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

Столкнулся с новой проблемой.

На этот сервачок был подключен второй канал интернет, как резерв, раздается через дхцп, 20 мбит.

Я создал отдельный влан на микротике, поднял дхцп клиент.

Создал второе правило НАТ, во внешнем интерфейсе указал влан на который приходит дхцп.

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

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

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

В ДНС прописал серверы и одного и другого провайдера.

Однако, при срабатывании резерва страницы еле открываются, некоторые не открываются вообще, идут потери в интернет.

Утилизация канала даже до 10мбит не доходит, не говоря о 20.

До этого этот же инет работал лет 5 в соседнем офисе стабильно и проблем не было.

У провайдера спрашивали насчет количества ограничения соединений - говорят что нет, тарифный план для юрлиц. Айпишник белый.

У меня есть два предположения - либо микротику становится криво от того, что он натит влан (?) либо же после переключения на резерв в таблице контрека остаются старые соответствия НАТ и оно начинает тупить (?).

Интернет от основного провайдера на данный момент приходит по gre туннелю, натится собственно туннель.

 

Изменено пользователем Trueno

Поделиться сообщением


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

4 часа назад, Trueno сказал:

У меня есть два предположения - либо микротику становится криво от того, что он натит влан (?) либо же после переключения на резерв в таблице контрека остаются старые соответствия НАТ и оно начинает тупить (?).

Скорее ему становится криво от не верной настройки.

Правило НАТ при правильной настройке работает только с src-address и никаких интерфейсов в нем нет. Если у вас есть серая подсеть абонентов, то вы создаете одно правило ната, где срц = ваша подсеть, и если запрос идет не в локалку, то делать НАТ. После этого просто переключая маршрут трафик побежит по своему провайдеру.

Поделиться сообщением


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

1 час назад, Saab95 сказал:

Правило НАТ при правильной настройке работает только с src-address и никаких интерфейсов в нем нет.

Ок. Приведите, пожалуйста, правильное правило НАТ для таких условий:

Локальные сети (несколько вланов), помечены в списке интерфейсов как Interface List "Local".

Внешний интерфейс, на который приходит интернет, это, допустим, vlan90.

Список сотрудников офиса (ай-пи адреса), для которых разрешен интернет, называется "Internet".

 

Сделано так:

 

/ip firewall nat
add action=masquerade chain=srcnat out-interface=gre-tun src-address-list=\
    Internet
add action=masquerade chain=srcnat out-interface=vlan90 src-address-list=\
    Internet

 

Где gre-tun это туннель от основного провайдера, это работает нормально. Во втором правиле vlan90 это влан, на котором по DHCP выдается адрес от  резервного провайдера. Этот работает криво, хотя чуть чуть пытается. Ну, как я писал выше.

 

Если в эти правила попытаться добавить в In Interface List мой список локальных интерфейсов Local, оно ругается вот так:

incoming interface matching not possible in output and postrouting chains (6)

 

Получается, нужно вместо двух правил сделать одно, указать в src-address-list список адресов Internet и всё ? Никакие интерфейсы ему не указывать?

Изменено пользователем Trueno

Поделиться сообщением


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

Да. Только правильнее делать не список адресов для ната, а подсети для ната, и уже отдельным правилом разрешать или запрещать доступ с определенных IP адресов.

 

Поделиться сообщением


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

17 часов назад, Saab95 сказал:

Правило НАТ при правильной настройке работает только с src-address и никаких интерфейсов в нем нет.

Вредный совет номер 100501. Без указания интерфейса можно словить занимательные грабли, когда нат начнет работать не в ту сторону. Out интерфейс к указанию обязателен.

Поделиться сообщением


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

6 часов назад, poisons сказал:

Вредный совет номер 100501. Без указания интерфейса можно словить занимательные грабли, когда нат начнет работать не в ту сторону. Out интерфейс к указанию обязателен.

Это как в обратную?

 

Допустим внутренняя адресация 10.0.0.0/8. Создается правило НАТ, в параметрах указывается src-address= 10.0.0.0/8 и dst-address = ! 10.0.0.0/8 то делать НАТ. Если внутренних адресов больше, или есть белые адреса у абонентов, то уже используются адрес листы для указания этих списков адресов.

 

Остальное, куда и как ходить, указывается в маршрутах.

Поделиться сообщением


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

Месье Saab95 традиционно поклонник затейливых вариантов, опять капремонты через выхлопную пошли... Снос из правила трансляции одного из определяющих его необходимых параметров (в данном "гениальном" предложении - интерфейса назначения) приведет, как минимум к ненужной загрузке CPU обработкой списков, и, в лучшем случае, просто к перенастройке на нормальный "двусторонний" вариант. С учетом фатально неравномерного распределения адресного пространства по нахождению за интерфейсами, с тотальным превосходством по объему за внешними, выстраивание политики на запретах "куда", вместо "откуда" напоминает армейское "круглое тащим, квадратное катим".

 

P.S.>Trueno, вы прежде чем в дебри идти, базовые вещи посмотрели? А-ля "физику", сиречь состояние порта резервного линка (скорость/дуплекс/ошибки), загрузку CPU во время работы резервного линка (если проц "в полку" - чем загружен по Tools->Profile), логи?

Поделиться сообщением


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

Всё оказалось проще простого - машину ребутнули и всё заработало. Видимо, микротик тоже иногда надо перезагружать)

 

Для разруливания локалки а так же использования оптики без конверторов а прямо через сфп, был заказан CRS112-8G-4S-IN

Я надеюсь, что смогу разобраться в его дебрях настройки вланов через свитч-чип )

Изменено пользователем Trueno

Поделиться сообщением


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

Ребята, пожалуйста, посмотрите что я набросал по поводу VLAN в CRS.
Итак, необходимо, чтобы:

 

Порт eth-m был транком (tagged) для влана 950, 951, 952, 958, 959.
Порт eth-37 был транком (tagged) для влана 950, 951, 952, 959.
Порт eth-v был доступом (untagged) для влана 958.
Порт eth-33 был доступом (untagged) для влана 951.
Порт eth-39 был доступом (untagged) для влана 951.
Порт eth-41 был доступом (untagged) для влана 951.
Порт eth-250 был доступом (untagged) для влана 950.
Порт eth-2 был доступом (untagged) для влана 952.

 

Итого, у нас 8 физических портов (6 медь и 2 сфп), из которых 6 портов доступа и 2 порта транка, в которых вланы передаются на следующие свитчи.

Изучив руководство, решено делать так:


1. Объединяем наши 8 портов в группу коммутации. В моём случае прошивка будет последняя, где уже применяется коммутация в виде бриджа с поддержкой hw-offload.

 

/interface bridge
add name=bridge1 igmp-snooping=no protocol-mode=none
/interface bridge port
add bridge=bridge1 interface=eth-m hw=yes
add bridge=bridge1 interface=eth-37 hw=yes
add bridge=bridge1 interface=eth-v hw=yes
add bridge=bridge1 interface=eth-33 hw=yes
add bridge=bridge1 interface=eth-39 hw=yes
add bridge=bridge1 interface=eth-41 hw=yes
add bridge=bridge1 interface=eth-250 hw=yes
add bridge=bridge1 interface=eth-2 hw=yes

 

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

 

2.Задаем принадлежность vlan-id к портам доступа, которые будут отдавать пакеты без тега.

 

/interface ethernet switch ingress-vlan-translation
add ports=eth-v customer-vid=0 new-customer-vid=958 sa-learning=yes
add ports=eth-33 customer-vid=0 new-customer-vid=951 sa-learning=yes
add ports=eth-39 customer-vid=0 new-customer-vid=951 sa-learning=yes
add ports=eth-41 customer-vid=0 new-customer-vid=951 sa-learning=yes
add ports=eth-250 customer-vid=0 new-customer-vid=950 sa-learning=yes
add ports=eth-2 customer-vid=0 new-customer-vid=952 sa-learning=yes

 

3. Задаем принадлежность vlan-id к транковым портам, которые будут отдавать пакеты с тегами.

 

/interface ethernet switch egress-vlan-tag
add tagged-ports=eth-m vlan-id=950
add tagged-ports=eth-m vlan-id=951
add tagged-ports=eth-m vlan-id=952
add tagged-ports=eth-m vlan-id=958
add tagged-ports=eth-m vlan-id=959
add tagged-ports=eth-37 vlan-id=950
add tagged-ports=eth-37 vlan-id=951
add tagged-ports=eth-37 vlan-id=952
add tagged-ports=eth-37 vlan-id=959

 

Вот тут я чуть замешкался. В мануале рассматривается пример, когда транк (теггед) порт один, а у меня их два. И я создал два набора правил. Правильно это или нет?

 

4. Теперь прописываем вланы в таблице:

 

/interface ethernet switch vlan
add ports=eth-m,eth-37 vlan-id=959 learn=yes
add ports=eth-m,eth-v vlan-id=958 learn=yes
add ports=eth-m,eth-37,eth-2 vlan-id=952 learn=yes
add ports=eth-m,eth-37,eth-250 vlan-id=950 learn=yes
add ports=eth-m,eth-37,eth-33,eth-39,eth-41 vlan-id=951 learn=yes

 

5. А теперь, как я понял, мы задаем правило строгого соответствия, чтобы пакеты с левыми тегами или без тегов там, где они должны быть, отбрасывались и не передавались на порты. Если я неверно это понял, то поправьте, пожалуйста!

 

/interface ethernet switch
set drop-if-invalid-or-src-port-not-member-of-vlan-on-ports=eth-m,eth-v,eth-2,eth-37,eth-33,eth-39,eth-41,eth-250


В теории, всё должно после этого работать?

Есть ещё другой вопрос.
Как мне быть, если мне надо назначить на этом микротике некоторым вланам ай-пи адреса?
И как мне быть, если мне нужно будет поднять на данном микротике дхцп-сервер на какой-то из вланов? Судя по тому, что тут полноценная ОС, я так понимаю что всё это возможно.

Буду благодарен за проверку и комментарии. Спасибо.

Изменено пользователем Trueno

Поделиться сообщением


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

Saab95 
Ой, ну пойди с мума видосы посмотри, там разжевано почему конструкция ip firewall nat add action=masquerade без указания интерфейса даже с указанием src есть плохо.

Изменено пользователем poisons

Поделиться сообщением


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

12 часов назад, poisons сказал:

Ой, ну пойди с мума видосы посмотри, там разжевано почему конструкция ip firewall nat add action=masquerade без указания интерфейса даже с указанием src есть плохо.

Там половина тем из серии "Как я провел лето" - каждый делится только своим видением вопроса, часто очень поверхностно.

 

Тогда спрошу вас, как поступить в следующем случае:

 

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

 

/ip address
add address=31.1.7.2 interface=bridge1 network=31.1.7.2
add address=31.1.7.3 interface=bridge1 network=31.1.7.3
/ip firewall address-list
add address=10.0.0.0/8 list=Local-IP
add address=31.1.7.0/23 list=Local-IP
add address=10.0.0.0/8 list=Local-AB
/ip firewall mangle
add action=add-src-to-address-list address-list=NAT_2 address-list-timeout=1h chain=prerouting comment=NAT_2 dst-address-list=!Local-IP per-connection-classifier=src-address:254/0 src-address-list=Local-AB
add action=add-src-to-address-list address-list=NAT_3 address-list-timeout=1h chain=prerouting comment=NAT_3 dst-address-list=!Local-IP per-connection-classifier=src-address:254/1 src-address-list=Local-AB
/ip firewall nat
add action=src-nat chain=srcnat comment=NAT_2 dst-address-list=!Local-IP src-address-list=NAT_2 to-addresses=31.1.7.2
add action=src-nat chain=srcnat comment=NAT_3 dst-address-list=!Local-IP src-address-list=NAT_3 to-addresses=31.1.7.3

 

Соответственно какой мне внешний интерфейс в правилах ната указывать? Если подключено 3 провайдера по BGP? И нужно автоматическое резервирование всего без всяких вмешательств администратора? =)

Поделиться сообщением


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

Saab95 

29 минут назад, Saab95 сказал:

to-addresses=31.1.7.2

не это ли указание на внешний интерфейс?)

Поделиться сообщением


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

5 часов назад, poisons сказал:

Saab95 

не это ли указание на внешний интерфейс?)

 

С каких пор IP-адрес в SRC-NAT стал однозначно указывать на интерфейс? Это в Вас остатки влияния домашних роутеров DIR-100 засели. У человека несколько аплинков и подсеть (возможно, даже PI). Пакет с SRC-IP маршрутизируемой подсети (важно: не линковочной к провайдеру!), может уйти на любого из аплинков, соответственно с любого из интерфейсов.
Открою вам страшную тайну: SRC-NAT'у вообще пофигу на каком интерфейсе какой IP привязан. И вообще существует ли такой адрес в локальной системе. Технически возможно src-nat'ить на несуществующий адрес. Пакеты полетят с подставного IP. 

Изменено пользователем nkusnetsov

Поделиться сообщением


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

8 часов назад, poisons сказал:

не это ли указание на внешний интерфейс?)

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

 

Если в дефолтном конфиге НАТ настроен по out-interface, так это как раз для простоты понимания тех, кто в микротике еще не совсем разобрался.

Поделиться сообщением


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

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

Поделиться сообщением


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

Trueno , для работы с интерфейсом нужно использовать высшую из имеющихся сущностей. Если интерфейсы подчинены бриджу - IP-адреса назначаются на бридж. И в фаерволе ссылка на бридж-интерфейс. Кстати, если пытаться ссылаться на подчиненный(Slave) интерфейс в правиле фаервола - он заругается и подсветит правило красным.
 

 

slave.PNG

Поделиться сообщением


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

Ребята, такой вопрос.

Хочу создавать бекап каждую ночь на всякий пожарный.

Но хочу бекап в текстовом виде.

То бишь

/export compact file=имя

Есть ли возможность в "имя" использовать текущую дату?

Я так понял, нужно выполнять две команды - назначить переменную и внести в неё текущую дату, а затем уже выполнить команду на экспорт файла и в имя файла подсунуть эту переменную.

Пробовал пару вариантов, но пока не получается.

Кто-то делал такое?

Поделиться сообщением


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

Бекапы нужно не на оборудовании делать, а сохранять куда-то в другое место. Т.к. если устройство сломается, что толку от бекапа, если он с ним и пропадет.

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

Поделиться сообщением


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

13 часов назад, Trueno сказал:

Я так понял, нужно выполнять две команды - назначить переменную и внести в неё текущую дату, а затем уже выполнить команду на экспорт файла и в имя файла подсунуть эту переменную.

Вам еще придётся преобразовать содержимое строковой переменнной, т.к. возвращаемая дата содержит символы "/". Время содержит ":".
Используйте ":pick" и конкатенацию строк через "."

 

Изменено пользователем nkusnetsov

Поделиться сообщением


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

Ага, значит будет чем заняться на досуге)

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

Поделиться сообщением


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

Trueno , прямо в вики есть пример:  https://wiki.mikrotik.com/wiki/Send_Backup_email

Изменено пользователем nkusnetsov

Поделиться сообщением


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

Не надо так делать. Т.к. при изменении настроек шифрования почтовых серверов может прерваться их отправка.

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

Поделиться сообщением


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

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.