Как поднять ipsec на mikrotik
Настройка MikroTik L2TP Server + IPSec
В этой статье мы покажем, как сделать настройку L2TP Server с IPSec на MikroTik. Постараемся детально описать все нюансы и тонкости конфигурирования.
На сегодняшний день есть множество способов организовать VPN, но на мой взгляд L2TP является оптимальным выбором, так как данный протокол существует во всех ОС и имеет ряд преимуществ о которых мы поговорим ниже.
Настройка L2TP MikroTik для многих может оказаться не такой уж и простой задачей. Давайте разберемся на практике, так ли это сложно?
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Протокол L2TP не предоставляет механизмов шифрования, поэтому рассмотрим связку L2TP IPSec для подключения удаленных устройств к корпоративной сети. Узнаем как выполнить настройку туннеля L2TP IPSec между MikroTik, что позволит объединить офисы по данной технологии.
L2TP — это туннельный протокол служащий для организации виртуальных частных сетей, объединивший в себе лучшие функции протоколов PPTP (Microsoft) и L2F (Cisco).
IPSec – это набор протоколов служащий для шифрования, аутентификации и обеспечения защиты при отправке IP-пакетов. Основное применение нашел при организации VPN-соединений.
Mikrotik. Настройка L2TP Server
Рассмотрим детальную настройку двух видов туннелей L2TP + IPSec:
Настройка туннеля L2TP + IPSec на Mikrotik (site-to-site). Объединяем два офиса
Попробуем объединить два офиса фирмы в одну виртуальную частную сеть (VPN) используя туннельный протокол L2TP в связке с IPSec на оборудовании Mikrotik.
Из схемы мы видим, что Mikrotik в главном офисе (GW1), будет настроен на роль L2TP Server + IPSec, со следующими настройками:
MIkrotik в филиале (GW2) будет являться VPN-клиентом с настройками:
Приступаем к настройке.
Настройка Mikrotik L2TP Server. Главный офис
Создаем профиль подключения
У Mikrotik в меню PPP есть два профиля по умолчанию, которые используются для PPP соединений. Рекомендуется не изменять профили по умолчанию, а создать и использовать под свою задачу новый.
Создадим профиль для подключения, в котором укажем имя для соединения, назначим статические IP-адреса для L2TP сервера и клиента. Отроем Winbox, перейдя:
В окне New PPP Profiles, открыв, вкладку “General” укажем информацию:
Рекомендуем для туннеля вида Site-to-Site назначить статические IP.
Настраиваем Secret
На вкладке «Secrets» мы настраиваем имя, пароль и профиль подключения для L2TP-Клиента. Для этого выполним действия:
Рекомендуем придумывать сложные пароли. Минимум 12 символов разного регистра с использованием спец. символов.
Включаем L2TP Server и IPSec
Следующим шагом включим L2TP Server на Mikrotik указав профиль, метод аутентификации и ключ шифрования для IPSec. Выберем пункт меню Interface, настроим как показано на рисунке ниже:
Не забываем придумывать сложные пароли.
Создаем интерфейс
Создадим статический интерфейс L2TP Server Binding. Это позволит избежать проблемы с маршрутизацией между сетями, которые могут возникнуть при разрыве соединения.
Заполним открывшееся окно New interface. Вкладка «General»:
Настройка firewall
Добавим правила в наш файрвол, тем самым разрешая трафик для L2TP, два правила для IPSec и протокол Ipsec-esp:
Добавим разрешающее правило для L2TP, который работает на 1701(UDP) порту:
После нажмем правой кнопкой мыши на созданное правило и добавим комментарий, нажав строку Comment из меню:
Добавим правило для UDP портов 4500, 500:
Добавим комментарий для этого правила, как показано выше.
Разрешим протокол IPsec-esp:
Очень важен порядок расположения правил. Ваш firewall после настроек должен выглядеть примерно следующим образом:
Для более глубокого понимания работы брандмауэра рекомендуем ознакомиться со статьей MikroTik настройка firewall.
На этом настройка L2TP Server Mikrotik закончена, перейдем к настройке клиентской части (филиала).
Настройка филиала (L2TP Client)
Выполним настройку L2TP клиента. Для этого необходимо на роутере Mikrotik добавить интерфейс с настройками подключения к главному филиалу указав его IP-адрес, идентичные значения IPSec и аутентификации.
Создадим свой профиль для подключения:
На вкладке «General» укажем имя профиля:
Далее откроем вкладку «Protocols», установим обязательное шифрование:
Добавляем L2TP Client:
Ждем некоторое время. Если мы все сделали правильно, то увидим букву “R” слева от имени подключения:
Статус туннеля можем посмотреть, зайдя в настройки интерфейса:
Здесь мы видим дату и время, когда туннель поднялся (Last Link Up Time), количество разрывов соединения (Link Downs), время жизни соединения (Uptime), метод шифрования (Encoding) и другие параметры.
Осталось настроить маршрутизацию между подсетями.
Настройка маршрутизации межу офисами
Пропишем маршруты на обоих роутерах Mikrotik. Так подсети увидят друг друга.
Для начала зайдем на роутер главного офиса (GW1), выполним следующие действия:
Укажем удаленную подсеть и шлюз, который будет обрабатывать запросы:
Затем зайдем на Mikrotik филиала (GW2), добавим маршрут:
Укажем подсеть главного офиса и назначим Gateway:
Теперь филиалы видят друг друга. На этом настройка L2TP + IPSec между роутерами Mikrotik (Site-to-site), закончена.
Настройка L2TP Server + IPSec на Mikrotik (client-to-site)
Рассмотрим вариант подключения к L2TP Server удаленных сотрудников (client-to-site). На практике данный способ применяется, когда работник компании уехал в командировку и ему надо иметь доступ к внутренним ресурсам локальной сети фирмы. Таким образом, сотрудник со своего ноутбука устанавливает VPN соединение по которому получает доступ к локальным ресурсам сети.
Создаем пул адресов
Первым шагом назначим пул адресов, которые побудут получать клиенты, подключаемые по VPN:
В окне “New IP Pool” укажем название пула и диапазон адресов:
Профиль подключения
Дальше создадим свой профиль для L2TP соединений:
Выполним настройку профиля следующим образом:
На вкладке “Limits” ограничим подключение единственным соединением:
Создание пользователя
На вкладке “Secrets” укажем настройки имени пользователя, пароль и профиль для подключения:
Включаем L2TP Server
Осталось активировать L2TP Server на Mikrotik, выбрать метод аутентификации, задать профиль по умолчанию, включить IPSec и установить для него ключ шифрования:
Настройка подключения на стороне клиента
На компьютере или ноутбуке сотрудника настроим VPN-соединение до L2TP Сервера. Приведу пример, как это можно сделать на ОС Windows 10.
Откроем “Центр управления сетями…”, затем создадим подключение, как показано на рисунке ниже:
Следующим шагом выберем вариант подключения:
Выполним подключение через Интернет с помощью VPN:
Следующим шагом введем внешний адрес (WAN) роутера Mikrotik и произвольное имя для соединения:
В нашем примере маршрутизатору Mikrotik назначен внешний IP 111.111.111.111, у вас это будет свой адрес.
Продолжим настройку VPN соединения:
Откроем свойства созданного соединения:
Перейдем на вкладку “Безопасность”, выполнив настройку как показано на рисунке ниже:
Откроем дополнительные параметры (5 шаг на рисунке) и укажем ключ IPSec, который мы указали ранее в настройках L2TP Server, параметром IPsec Secret:
Далее откроем вкладку “Сеть”, уберем галочку с протокола TCP/IPv6 и откроем свойства протокола TCP/IPv4:
Нажмем кнопку “Дополнительно” и запретим использовать основной шлюз в удаленной сети, сняв галочку с соответствующего пункта:
Важно! Игнорируя текущий пункт настройки, после установки VPN соединение пропадет интернет.
Подключаем созданное VPN-соединение:
Настройка маршрутизации L2TP-клиента
Подключение установилось. Следующим шагом укажем постоянный статический маршрут прописав шлюз для удаленной подсети.
Откроем командную строку с правами администратора и выполним команду:
route add 192.168.13.0 mask 255.255.255.0 10.10.10.1 if 49 /p
Пример, как можно посмотреть номер интерфейса:
На этом настройка L2TP Server + IPSec на Mikrotik закончена. Надеюсь, данная статья была для вас полезной.
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Настройка VPN IPSec/L2TP сервера Mikrotik
Иногда мне кажется, что создатели Mikrotik намеренно лишают себя прибыли, не создавая однозначных пошаговых руководств по настройке своих детищ. Почти 100% потребителей этих роутеров пытаются настроить VPN, использовать два или более WAN одновременно или в качестве резервных. Именно это ищут по всей сети (и часто вне рунета) счастливые владельцы этих замечательных устройств. Представьте, на сколько бы увеличилась армия владельцев, если бы для настройки этих функций было два-три визарда в веб-интерфейсе. А сейчас.. сейчас именно благодаря сложности настройки (и, соотв., меньшему количеству желающих купить) мы имеем недорогое, малокапризное для несложных задач устройство, которое надо заставить работать 24х7х365. Например, в качестве VPN-сервера. Поехали!
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Протокол L2TP обеспечивает канал передачи данных, туннель.
IPSec обеспечивает защиту данных от просмотра.
Итак, имеем роутер Mikrotik с прошивкой 6.46.2 (февраль 2020) c LAN 192.168.88.0/24 (сеть по-умолчанию). WAN не важен, например, 1.2.3.4.
Настройка туннелирования (L2TP)
Name: vpn_pool
Addresses: 192.168.112.1-192.168.112.10
Next pool: none
Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.
General:
Name: l2tp_profile
Local address: vpn_pool (а можно указать 192.168.88.1 , сами смотрите, как вам больше нравится)
Remote address: vpn_pool
Change TCP MSS: yes
Protocols:
all to default:
Use MPLS: default
Use compression: default (ставил также yes)
Use Encryption: default (можно ставить no, т.к. ppp-шифрование мы использовать не будем, на это нам IPSec есть, на незагруженном микротике разницы никакой не заметил)
Если в сети, куда вы подключаетесь, есть ресурсы по внутренним доменным именам, а не только по IP, можете указать DNS Server этой сети, например, 192.168.88.1 (или какой вам нужен).
Limits:
Only one: default
Name: vpn_user1
Password: bla-bla-bla
Service: l2tp
Profile: l2tp_profile
При этом в IP-IPSec-Peers будет создан динамический пир с именем l2tp-in-server.
Настройка шифрования данных в «туннеле» (IPSec)
На предыдущем этапе мы создали туннель для передачи данных и включили IPSec. В этом разделе мы настроим параметры IPSec.
Статья эта уже прошла немало редакций с 2015 года, и тогда была велика вероятность появления ошибки соединения с сервером из-за дефолтной группы, что лечилось удалением и пересозданием ее. Например, с именем «policy_group1». Также можно просто удалить эту группу, но через веб-интерфейс будут показываться ошибки. В последней редакции с дефолтной группой все работает нормально, но все же имейте ввиду.
Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Passive: yes (set)
Secret: tumba-yumba-setebryaki (это не пароль пользователя!)
Policy template group: policy_group1
Exchange mode: main l2tp
Send Initial Contact: yes (set)
NAT Traversal: yes (set)
My id: auto
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256
DH Group: modp 1024
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5
Что-то вроде «что мы можем вам предложить». Другими словами, задаем опции подключения, которые смогут пытаться использовать удаленные клиенты.
Name: default
Auth algorithms: sha1
Enrc. algorithms: aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024
Firewall
Давайте уж к консоли, что-ли для разнообразия:
/ip firewall filter
add chain=input action=accept protocol=udp port=1701,500,4500
add chain=input action=accept protocol=ipsec-esp
Если у вас по-умолчанию политика forward установлена в drop (последнее правило для forward «chain=forward action=drop»), вам может быть необходимым разрешить forward с ip-адресов vpn_pool в локальную сеть:
add chain=forward action=accept src-address=192.168.112.0/24 in-interface=!ether1 out-interface=bridge-local comment=»allow vpn to lan» log=no log-prefix=»»
Вот теперь с сервером все.
Подключение удаленного клиента
Пробуем подключить Windows 7:
Панель управленияСеть и ИнтернетЦентр управления сетями и общим доступом:
Настройка нового подключения или сети
Подключение к рабочему месту
Создать новое подключение
Использовать мое подключение к интернету (VPN)
Интернет-адрес: ip или имя роутера в сети
Пользователь и пароль из PPP->Secrets. В нашем случае это vpn_user1 и его пароль.
Если не выходит, или просто надо настроить созданное подключение:
Тип VPN: L2TP IPSec VPN
Здесь же, в группе «Проверка подлинности», оставляем только CHAP v2. Жмем ОК и пытаемся подключиться. Должно получиться.
Update 1: часто люди интересуются, как несколько (больше одного) клиентов из одной локальной сети (за nat) могут подключаться к одному удаленному vpn-серверу микротик. Не знаю, как в L2TP/IPSec связке это обеспечить. Можно назвать это багом реализации. Я не нашел простого объяснения и решения проблемы.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Ответ на комменты выше.
http://bozza.ru/art-247.html
Proxy-arp на внутреннем бридже
Здравстуйте. Настраивал L2TP/IPSec по вашей инструкции. Возможно я где-то ошибся, но не могу подключиться к VPN серверу удалённо, подключение создаётся только если я пытаюсь подключиться по локальной сети.
Реализована следующая схема в сети:
Терминал провайдера(Eltex NTP-RG-1402G-W), IP в локальной сети: 192.168.1.1. Внешний IP адрес белый.
Mikrotik, виден терминалу провайдера как 192.168.1.30. Локальная подсеть за микротиком: 192.168.10.0/24. На микротике поднят L2TP/IPSec VPN сервер. С локальной сети я могу подключиться к VPN серверу на микротике.
Подключиться к VPN с внешней сети не могу, есть подозрения что оптический терминал просто не пропускает пакеты до микротика.
Пробовал пробросить порты 500,1701, 4500 через NAT->VirtualServers, не помогает. Подумал что возможно firewall на оптическом терминале блокирует соединения, создал правило в Security->IPFiltering->Incoming: protocol(tcp or udp), port 500,1701,4500, проблему не решило.
Пробовал выставить Mikrotik как DMZ Host на оптическом терминале, так же никакого результата.
Для теста выключал Firewall на mikrotik, так же не даёт эффекта. Но и не должно было: в логах микротика попытка соединения даже не отражается, т.е. пакеты до него не доходят.
Warning: Only one L2TP/IpSec connection can be established through the NAT. Which means that only one client can connect to the sever located behind the same router.
Thu Oct 20 12:41:06 2016 : L2TP connecting to server ‘95.165.x.x’ (95.165.x.x)..
Thu Oct 20 12:41:06 2016 : IPSec connection started
Thu Oct 20 12:41:06 2016 : IPSec phase 1 client started
Thu Oct 20 12:41:06 2016 : IPSec phase 1 server replied
Thu Oct 20 12:41:07 2016 : IPSec phase 2 started
Thu Oct 20 12:41:07 2016 : IPSec phase 2 established
Thu Oct 20 12:41:07 2016 : IPSec connection established
Thu Oct 20 12:41:07 2016 : L2TP sent SCCRQ
Thu Oct 20 12:41:27 2016 : L2TP cannot connect to the server
Найдите и выделите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
В меню Правка выберите пункт Создать и затем щелкните значение DWORD (32 бита).
Введите AssumeUDPEncapsulationContextOnSendRule и нажмите клавишу ВВОД.
Щелкните правой кнопкой мыши AssumeUDPEncapsulationContextOnSendRule и выберите команду Изменить.
В поле Значение введите введите одно из следующих значений:
0
Значение 0 (ноль) настраивает Windows таким образом, чтобы ОС не могла установить сопоставления безопасности с серверами, расположенными за устройством NAT.
1
Значение 1 настраивает Windows так, что ОС поддерживает сопоставления безопасности с серверами, расположенным за устройствами NAT.
2
Значение 2 настраивает Windows таким образом, что ОС может устанавливать сопоставления безопасности, когда и сервер, и клиентский компьютер VPN под управлением Windows Vista или Windows Server 2008 находятся за устройствами NAT.
И да, opennet я для примера взял. Форумов кучи.
По таким маршрутам ваш Win не поймет, что локальная сеть «за микротиком» 192.168.60.0 вообще существует. Шлюз по-умолчанию должен быть. Если не ошибаюсь, на Win в cmd:
route ADD 192.168.60.0 MASK 255.255.255.0 192.168.90.1
Если firewall отключен на Win, то из локалки микротика (из 192.168.60.0) можно пингануть 192.168.90.30?
Боюсь ошибиться, т.к. никогда микротики не соединял, но вполне может оказаться, что именно одинаковые локальные сети вам мешают.
За Тик1 сеть 192.168.88.0.
За Тик2 сеть 192.168.88.0.
Спрашивается, будет знать клиент за Тик1, что такая же адресация сети еще и за Тик2? Плюс возможны коллизии адресов. Плюс как самим микротикам понимать, где «их» локалка, а где «удаленная»? Может, просто надо изменить сеть за одним из Тиков? Например, на 192.168.89.0?
Не удобно разбираться с этим удаленно 🙂 через раз выбрасывает 🙂 Вот что нашел, мне кажется, надо в эту сторону копать: http://forum.mikrotik.com/viewtopic.php?t=107333
I have replaced our Cisco router with a MikroTik and I encountered the same issue.
It is a bug. The automatically generated config specifies «port strict» as the rule for generate policy.
This means the IPsec policy will be generated with explicit portnumbers. 1701 for the local port, and
usually also 1701 for the remote port.
However, this is done incorrectly. It puts the port number of the NAT-T layer in the policy instead of the
port number of the L2TP session. So you see local port 1701 and remote port some different number.
However, when looking in a packet trace it is clear that the remote port for the L2TP traffic is 1701.
I could work around it by removing the «Use IPsec» in the L2TP server and creating an IPsec Peer
definition manually, with address ::/0 port 500 auth pre-shared-key, the secret, but with the setting
Generate Policy set to «port override».
Во-первых хочу поблагодарить Вас за проделанный труд, очень полезная инструкция! У меня возникла потребность поднять VPN в компании для соединения туннелем между двумя офисами, а также организации удаленного доступа для сотрудников (например, из дома). Делал все по инструкции (за исключением адресов, они, разумеется, используются свои), но столкнулся с двумя проблемами:
1) При подключении iPhone к VPN, он видит адрес Микротика и есть возможность подключиться к веб-морде устройства, но с адресами из локальной сети связи нет. (proxy-arp в bridge выставлял, не помогает);
2) При подключении через нативный VPN клиент в Windows нет ответа даже от шлюза, через который можно подключиться к веб-морде. Т.е. вообще ничего;
Постараюсь наиболее информативно описать вводные, благо их немного:
* два выделенных IP от провайдера. Один идет кабелем в роутер Циски, от нее в свою очередь идет еще один в коммутатор Циски, в котором уже организована локальная сеть. Второй идет в Микротик, от которого также идет подключение к вышеупомяннотому свитчу
* в адресах Микротика указаны 1 адрес от провайдера на 1-й интерфейс (ether1) и заданный мной адрес из локальной сети (интерфейс установлен bridge);
* созданы 2 пула. Один не используется, второй в другой подсети, отличной от локальной (как советуется в инструкции);
* в остальном все так, как описано. Но в профайле PPP в качестве Local Address указан адрес шлюза Микротика из локальной сети, а не пул.
Буду очень признателен за помощь 🙂 Если информации мало, что очень может быть, напишу что нужно
С проблемных:
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 172.20.10.1 172.20.10.4 25
10.0.0.0 255.0.0.0 10.0.20.60 10.0.20.59 26
10.0.20.59 255.255.255.255 On-link 10.0.20.59 281
89.255.65.29 255.255.255.255 172.20.10.1 172.20.10.4 26
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.20.10.0 255.255.255.240 On-link 172.20.10.4 281
172.20.10.4 255.255.255.255 On-link 172.20.10.4 281
172.20.10.15 255.255.255.255 On-link 172.20.10.4 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 172.20.10.4 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 172.20.10.4 281
255.255.255.255 255.255.255.255 On-link 10.0.20.59 281
===========================================================================
Постоянные маршруты:
Отсутствует
В чем проблема? В Кривых ручках, в прошивке? Что за
ipconfig /all
C Рабочего:
Адаптер PPP l2tp_new:
Адаптер PPP microtiktest:
Существует следующая схема на RB3011:
2 провайдера по выделенным белым IP, настроена балансировка и резервирование каналов;
Включен L2TP Server с авторизацией через RADIUS в AD Windows Server
Авторизация происходит нормально, соединение поднимается.
Проблема заключается в том что пользователь подключившийся через VPN (172.16.50.253) не видит локальную сеть (192.168.100.0/23)
Интерфейс локальной сети добавлен в бридж (LocalBridge), на локальном интерфейсе и на LocalBridge включен proxy-arp.
На клиентской машине отмечен чек-бокс «Использовать шлюз в удаленной сети»
Пинг идет только на 192.168.100.1 и на 172.16.50.1 IP-адреса самого микротика.
Парни, как все таки добиться доступности ресурсов локальной сети через VPN-соединение?
Уже третий день голову ломаю, но пока ничего так и не добился. Прошу коллективной помощи побороть проблему!
На всякий случай принт файервола и ната микротика:
2 ;;; allow remote ssh for local network
chain=input action=accept protocol=tcp in-interface=Bridge-Local dst-port=22 log=no log-prefix=»»
3 ;;; allow remote ssh for Sergio network
chain=input action=accept protocol=tcp src-address-list=sergio_network dst-port=22 log=no log-prefix=»»
4 ;;; drop ssh brute forcers
chain=input action=drop protocol=tcp src-address-list=ssh_blacklist log=no log-prefix=»»
5 ;;; allow established connections
chain=input action=accept connection-state=established
6 ;;; allow related connections
chain=input action=accept connection-state=related
7 ;;; allow vpn l2tp
chain=input action=accept protocol=udp port=1701,500,4500 log=no log-prefix=»»
8 chain=input action=accept protocol=ipsec-esp log=no log-prefix=»»
9 ;;; allow from internet
chain=input action=accept src-address=192.168.100.0/23 in-interface=!Bridge-ISP1 log=no log-prefix=»»
10 chain=input action=accept src-address=192.168.100.0/23 in-interface=!Bridge-ISP2
11 ;;; allow internet in vpn
chain=input action=accept src-address=172.16.50.0/24 in-interface=!Bridge-ISP1 log=no log-prefix=»»
12 chain=input action=accept src-address=172.16.50.0/24 in-interface=!Bridge-ISP2 log=no log-prefix=»»
13 ;;; drop everything else
chain=input action=drop log=no log-prefix=»»
14 ;;; accept everything to internet
chain=output action=accept out-interface=Bridge-ISP1
15 chain=output action=accept out-interface=Bridge-ISP2 log=no log-prefix=»»
16 ;;; accept everything to non internet
chain=output action=accept out-interface=!Bridge-ISP1
17 chain=output action=accept out-interface=!Bridge-ISP2 log=no log-prefix=»»
18 ;;; accept everything
chain=output action=accept
19 ;;; drop invalid connections
chain=forward action=drop connection-state=invalid log=no log-prefix=»»
20 ;;; allow already established connections
chain=forward action=accept connection-state=established
21 ;;; allow related connections
chain=forward action=accept connection-state=related
22 X ;;; forward port
chain=forward action=accept protocol=tcp dst-port=21 log=no log-prefix=»»
23 chain=forward action=accept protocol=tcp dst-port=25 log=no log-prefix=»»
24 chain=forward action=accept protocol=tcp dst-port=80 log=no log-prefix=»»
25 chain=forward action=accept protocol=tcp dst-port=443 log=no log-prefix=»»
26 chain=forward action=accept protocol=tcp dst-port=1723 log=no log-prefix=»»
27 chain=forward action=accept protocol=tcp dst-port=3389
28 ;;; allow vpn to lan
chain=forward action=accept src-address=172.16.50.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
log=no log-prefix=»»
29 X chain=forward action=accept in-interface=!all-ppp out-interface=all-ppp log=no log-prefix=»»
30 chain=forward action=drop src-address=0.0.0.0/8 log=no log-prefix=»»
31 chain=forward action=drop dst-address=0.0.0.0/8 log=no log-prefix=»»
32 chain=forward action=drop src-address=127.0.0.0/8 log=no log-prefix=»»
33 chain=forward action=drop dst-address=127.0.0.0/8 log=no log-prefix=»»
34 chain=forward action=drop src-address=224.0.0.0/3 log=no log-prefix=»»
35 chain=forward action=drop dst-address=224.0.0.0/3 log=no log-prefix=»»
36 chain=forward action=jump jump-target=tcp protocol=tcp log=no log-prefix=»»
37 chain=forward action=jump jump-target=udp protocol=udp log=no log-prefix=»»
38 chain=forward action=jump jump-target=icmp protocol=icmp
39 X ;;; Deny From Data
chain=forward action=drop src-address=172.16.30.0/24 dst-address=172.16.10.0/24 log=no log-prefix=»»
40 X chain=forward action=drop src-address=172.16.30.0/24 dst-address=172.16.40.0/24 log=no log-prefix=»»
41 X chain=forward action=drop src-address=172.16.30.0/24 dst-address=172.16.60.0/24 log=no log-prefix=»»
42 X chain=forward action=drop src-address=172.16.30.0/24 dst-address=172.16.70.0/24 log=no log-prefix=»»
43 X ;;; Deny From VoIP
chain=forward action=drop src-address=172.16.40.0/24 dst-address=172.16.10.0/24 log=no log-prefix=»»
44 X chain=forward action=drop src-address=172.16.40.0/24 dst-address=172.16.20.0/24 log=no log-prefix=»»
45 X chain=forward action=drop src-address=172.16.40.0/24 dst-address=172.16.30.0/24 log=no log-prefix=»»
46 X chain=forward action=drop src-address=172.16.40.0/24 dst-address=172.16.50.0/24 log=no log-prefix=»»
47 X chain=forward action=drop src-address=172.16.40.0/24 dst-address=172.16.60.0/24 log=no log-prefix=»»
48 X chain=forward action=drop src-address=172.16.40.0/24 dst-address=172.16.70.0/24 log=no log-prefix=»»
49 X ;;; Deny From VPN
chain=forward action=drop src-address=172.16.50.0/24 dst-address=172.16.10.0/24 log=no log-prefix=»»
50 X chain=forward action=drop src-address=172.16.50.0/24 dst-address=172.16.30.0/24 log=no log-prefix=»»
51 X chain=forward action=drop src-address=172.16.50.0/24 dst-address=172.16.40.0/24 log=no log-prefix=»»
52 X chain=forward action=drop src-address=172.16.50.0/24 dst-address=172.16.60.0/24 log=no log-prefix=»»
53 X chain=forward action=drop src-address=172.16.50.0/24 dst-address=172.16.70.0/24 log=no log-prefix=»»
54 X ;;; Deny From WiFi
chain=forward action=drop src-address=172.16.60.0/24 dst-address=172.16.10.0/24 log=no log-prefix=»»
55 X chain=forward action=drop src-address=172.16.60.0/24 dst-address=172.16.40.0/24 log=no log-prefix=»»
56 X chain=forward action=drop src-address=172.16.60.0/24 dst-address=172.16.50.0/24 log=no log-prefix=»»
57 X chain=forward action=drop src-address=172.16.60.0/24 dst-address=172.16.70.0/24 log=no log-prefix=»»
58 X ;;; Deny From WiFi Free
chain=forward action=drop src-address=172.16.70.0/24 dst-address=172.16.10.0/24 log=no log-prefix=»»
59 X chain=forward action=drop src-address=172.16.70.0/24 dst-address=172.16.20.0/24 log=no log-prefix=»»
60 X chain=forward action=drop src-address=172.16.70.0/24 dst-address=172.16.30.0/24 log=no log-prefix=»»
61 X chain=forward action=drop src-address=172.16.70.0/24 dst-address=172.16.40.0/24 log=no log-prefix=»»
62 X chain=forward action=drop src-address=172.16.70.0/24 dst-address=172.16.50.0/24 log=no log-prefix=»»
63 X chain=forward action=drop src-address=172.16.70.0/24 dst-address=172.16.60.0/24 log=no log-prefix=»»
64 ;;; accept from local to internet
chain=forward action=accept src-address=192.168.100.0/23 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
log=no log-prefix=»»
65 chain=forward action=accept src-address=172.16.10.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
66 chain=forward action=accept src-address=172.16.20.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
67 chain=forward action=accept src-address=172.16.30.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
68 chain=forward action=accept src-address=172.16.40.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
69 chain=forward action=accept src-address=172.16.60.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
70 chain=forward action=accept src-address=172.16.70.0/24 in-interface=!Bridge-ISP1 out-interface=Bridge-ISP1
71 ;;; accept from local to internet
chain=forward action=accept src-address=192.168.100.0/23 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
log=no log-prefix=»»
72 chain=forward action=accept src-address=172.16.10.0/24 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
73 chain=forward action=accept src-address=172.16.20.0/24 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
74 chain=forward action=accept src-address=172.16.30.0/24 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
75 chain=forward action=accept src-address=172.16.40.0/24 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
76 chain=forward action=accept src-address=172.16.60.0/24 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
77 chain=forward action=accept src-address=172.16.70.0/24 in-interface=!Bridge-ISP2 out-interface=Bridge-ISP2
78 ;;; drop everything else
chain=forward action=drop log=no log-prefix=»»
79 ;;; deny TFTP
chain=tcp action=drop protocol=tcp dst-port=69
80 ;;; deny RPC portmapper
chain=tcp action=drop protocol=tcp dst-port=111
81 ;;; deny RPC portmapper
chain=tcp action=drop protocol=tcp dst-port=135
82 ;;; deny NBT
chain=tcp action=drop protocol=tcp dst-port=137-139
83 ;;; deny cifs
chain=tcp action=drop protocol=tcp dst-port=445
84 ;;; deny NFS
chain=tcp action=drop protocol=tcp dst-port=2049
85 ;;; deny NetBus
chain=tcp action=drop protocol=tcp dst-port=12345-12346
86 ;;; deny NetBus
chain=tcp action=drop protocol=tcp dst-port=20034
87 ;;; deny BackOriffice
chain=tcp action=drop protocol=tcp dst-port=3133
88 ;;; deny DHCP
chain=tcp action=drop protocol=tcp dst-port=67-68
89 ;;; deny TFTP
chain=udp action=drop protocol=udp dst-port=69
90 ;;; deny PRC portmapper
chain=udp action=drop protocol=udp dst-port=111
91 ;;; deny PRC portmapper
chain=udp action=drop protocol=udp dst-port=135
92 ;;; deny NBT
chain=udp action=drop protocol=udp dst-port=137-139
93 ;;; deny NFS
chain=udp action=drop protocol=udp dst-port=2049
94 ;;; deny BackOriffice
chain=udp action=drop protocol=udp dst-port=3133
95 ;;; echo reply
chain=icmp action=accept protocol=icmp icmp-options=0:0
96 ;;; net unreachable
chain=icmp action=accept protocol=icmp icmp-options=3:0
97 ;;; host unreachable
chain=icmp action=accept protocol=icmp icmp-options=3:1
98 ;;; host unreachable fragmentation required
chain=icmp action=accept protocol=icmp icmp-options=3:4
99 ;;; allow source quench
chain=icmp action=accept protocol=icmp icmp-options=4:0
100 ;;; allow echo request
chain=icmp action=accept protocol=icmp icmp-options=8:0 log=no log-prefix=»»
101 ;;; allow time exceed
chain=icmp action=accept protocol=icmp icmp-options=11:0
102 ;;; allow parameter bad
chain=icmp action=accept protocol=icmp icmp-options=12:0
103 ;;; deny all other types
chain=icmp action=drop
104 ;;; drop (2) everything else
chain=forward action=drop log=no log-prefix=»»
1 chain=srcnat action=masquerade src-address=172.16.50.0/24 out-interface=Bridge-ISP2 log=no log-prefix=»»
2 chain=srcnat action=masquerade src-address=192.168.100.0/23 out-interface=Bridge-ISP1 log=no log-prefix=»»
3 chain=srcnat action=masquerade src-address=192.168.100.0/23 out-interface=Bridge-ISP2 log=no log-prefix=»»
4 ;;; VPN ISP1
chain=dstnat action=netmap to-addresses=192.168.100.1 to-ports=1723 protocol=tcp in-interface=Bridge-ISP1
dst-port=1723 log=no log-prefix=»»
5 ;;; SMTP ISP1
chain=dstnat action=netmap to-addresses=192.168.100.2 to-ports=25 protocol=tcp in-interface=Bridge-ISP1
dst-port=25 log=no log-prefix=»»
6 ;;; Terminal ISP1
chain=dstnat action=netmap to-addresses=192.168.101.235 to-ports=3389 protocol=tcp in-interface=Bridge-ISP1
dst-port=3389 log=no log-prefix=»»
7 ;;; HTTPS ISP1
chain=dstnat action=netmap to-addresses=192.168.100.2 to-ports=443 protocol=tcp in-interface=Bridge-ISP1
dst-port=443 log=no log-prefix=»»
8 ;;; FTP ISP1
chain=dstnat action=netmap to-addresses=192.168.100.3 to-ports=21 protocol=tcp in-interface=Bridge-ISP1
dst-port=21 log=no log-prefix=»»
9 ;;; VPN ISP2
chain=dstnat action=netmap to-addresses=192.168.100.1 to-ports=1723 protocol=tcp in-interface=Bridge-ISP2
dst-port=1723 log=no log-prefix=»»
10 ;;; SMTP ISP2
chain=dstnat action=netmap to-addresses=192.168.100.2 to-ports=25 protocol=tcp in-interface=Bridge-ISP2
dst-port=25 log=no log-prefix=»»
11 ;;; Terminal ISP2
chain=dstnat action=netmap to-addresses=192.168.101.235 to-ports=3389 protocol=tcp in-interface=Bridge-ISP2
dst-port=3389 log=no log-prefix=»»
12 ;;; HTTPS ISP2
chain=dstnat action=netmap to-addresses=192.168.100.2 to-ports=443 protocol=tcp in-interface=Bridge-ISP2
dst-port=443 log=no log-prefix=»»
13 ;;; FTP ISP2
chain=dstnat action=netmap to-addresses=192.168.100.3 to-ports=21 protocol=tcp in-interface=Bridge-ISP2
dst-port=21 log=no log-prefix=»»
14 ;;; Web ISP1
chain=dstnat action=netmap to-addresses=192.168.101.6 to-ports=80 protocol=tcp dst-address=XXX.XXX.XXX.XXX
dst-port=80 log=no log-prefix=»»
Не только вам, но и всем остальным. Если есть проблемы с пингом локалки за VPN, всегда проверяйте таблицу маршрутизации на клиенте! Вы можете быть подключенным к VPN, но не будет маршрута или он будет не по-умолчанию, всяко бывает.
Проверял не раз, работает. А потом разбирайтесь, почему маршрут не прописался при подключении к VPN.
Например, часть route print:
IPv4 таблица маршрута
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.5.61 192.168.5.111 4235
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.158 4250
0.0.0.0 0.0.0.0 On-link 192.168.100.9 11
Цитата: «Update 1: часто люди интересуются, как несколько (больше одного) клиентов из одной локальной сети (за nat) могут подключаться к одному удаленному vpn-серверу микротик. Не знаю, как в L2TP/IPSec связке это обеспечить. Можно назвать это багом реализации. Я не нашел простого объяснения и решения проблемы.»
Я думаю, это можно решить, при создании PPP профиля изменив параметр Limits / Only One.
Совершенно другая картина: https://habrastorage.org/webt/a2/pt/ny/a2ptnypmifo05bwtn2d-yzthqz8.png
>> не могу пропинговать внутренние ресурсы, в т.ч. сам роутер
ответ именно на этот вопрос в самом низу в последних строках
расскажу свой случай целиком, может кому-то пригодится
кроме меня мой vpn юзают друзья в европейских странах, где торрренты мягко говоря не приветствуются, но при этом им не нужен доступ к моим локальным ресурсам
я хз как это надо было реализовывать по всем правилам и методичкам, но себе сделал так и всё работает нормально (отступления про настройку для друзей пропускайте, если вам это не нужно):
— мой домашний DHCP сервер настроен выдавать адреса в диапазоне 192.168.1.201-192.168.1.250 (адреса 192.168.1.2-192.168.1.150 я оставил для присваивания вручную)
— на первом шаге я создал новый диапазон с подсетью (отличный от локальной подсети) для друзей vpn_pool2 (10.10.10.1-10.10.10.10), далее создал диапазон для себя vpn_pool1 (192.168.1.151-192.168.1.200)
— соответственно на втором шаге надо создавать два профиля, где в Local address и Remote address указываются vpn_pool1 или vpn_pool2 (в зависимости от того, к кому этот профиль относится)
ну а дальше все по методичке
можно ещё в фаерволе дропать форвард из 10.10.10.1-10.10.10.10 в 192.168.1.2-192.168.1.150, чтобы закрыть доступ в локальную сеть от знакомых полностью
теперь допустим, что локальные ресурсы расшарены правильно и доступны
— для доступа к этим локальным ресурсам (при условии использования для vpn-дипазона адресов из локальной подсети) надо всего лишь в настройках бриджа (bridge-local по умолчанию), на первой вкладке General, в строке ARP выбрать вариант proxy-arp
— если же надо дать доступ к локальным ресурсам какого-то компа и пользователям диапазона 10.10.10.1-10.10.10.10, то в фаерволе компа с расшаренной папкой/диской надо разрешить доступ к этой папке/диску из диапазона 10.10.10.1-10.10.10.10
Спасибо!
Все с первого раза пошло.
Use-ipsec=required принудит vpn клиента к обязательному использованию IpSec;
Use-ipsec=yes(по умолчанию) проставляет выбор vpn клиенту в использовании IpSec, т.е. может не использоваться.