<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mikrotik &#8902; Clip-Clap</title>
	<atom:link href="https://clip-clap.ru/category/it/mikrotik/feed/" rel="self" type="application/rss+xml" />
	<link>https://clip-clap.ru/category/it/mikrotik/</link>
	<description></description>
	<lastBuildDate>Sun, 09 Aug 2020 09:50:29 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.8</generator>

<image>
	<url>https://clip-clap.ru/wp-content/uploads/2020/07/cropped-favicon-32x32.png</url>
	<title>Mikrotik &#8902; Clip-Clap</title>
	<link>https://clip-clap.ru/category/it/mikrotik/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Настройка vpn (l2tp+Ipsec, openvpn и др.) сервера в микротике</title>
		<link>https://clip-clap.ru/it/mikrotik/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-vpn-l2tpipsec-openvpn-%d0%b8-%d0%b4%d1%80-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8%d0%ba/</link>
					<comments>https://clip-clap.ru/it/mikrotik/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-vpn-l2tpipsec-openvpn-%d0%b8-%d0%b4%d1%80-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8%d0%ba/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sat, 08 Aug 2020 21:39:25 +0000</pubDate>
				<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[l2tp]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://clip-clap.ru/?p=1471</guid>

					<description><![CDATA[<p>Обзорная статья на тему использования современных приватных тоннелей в роутерах популярной латвийской марки. Я расскажу о том, как настроить vpn</p>
<p>Сообщение <a href="https://clip-clap.ru/it/mikrotik/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-vpn-l2tpipsec-openvpn-%d0%b8-%d0%b4%d1%80-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8%d0%ba/">Настройка vpn (l2tp+Ipsec, openvpn и др.) сервера в микротике</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Обзорная статья на тему использования современных приватных тоннелей в роутерах популярной латвийской марки. Я расскажу о том, как настроить vpn сервер в mikrotik на базе таких технологий как l2tp, ipsec, openvpn, pptp, gre и eoip. Попутно кратко расскажу о том, что это за технологии, чем они отличаются, а так же проведу сравнение производительности микротика со всеми указанными тоннелями.</p>


</br>



<p>Сразу хочу обратить внимание, что эта статья будет скорее обзорной, нежели передачей реального опыта, так как сам я чаще всего использую в качестве vpn сервера openvpn. Тем не менее с vpn в микротик тоже приходилось сталкиваться. Настраивал как pptp сервера для подключения удаленных клиентов, так и l2tp для объединения двух и более микротиков в общую приватную сеть. В основном по дефолту, не вникая в тонкости настроек.</p>



<p>Сегодня хочу рассмотреть этот вопрос более внимательно и посмотреть, что вообще предлагает микротик из коробки для настройки vpn соединений. Своими исследованиями я и хочу поделиться с вами, написав небольшой обзор на тему средств организации vpn сервера в mikrotik. А попутно хочу собрать отзывов и исправлений на тему написанного, чтобы укрепить свои знания. В комментариях к своим статьям я черпаю массу советов, за что благодарен всем писавшим полезные вещи. Так что замечания, дополнения и исправления категорически приветствуются.</p>



<p>Для тех, кто хочет хорошо разбираться в сетях, но пока по какой-то причине не умеет этого, рекомендую вот этот цикл статей &#8212; <a rel="noreferrer noopener" href="https://linkmeup.ru/blog/11.html" target="_blank">сети для самых маленьких</a>. Так же, если вы не очень хорошо знакомы с микротиками, рекомендую мою статью на тему настройки микротика с нуля.</p>



<h2 class="wp-block-heading">Варианты vpn сервера в микротике</h2>



<p>С вариантами vpn сервера в микротике все сложно <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> В том плане, что есть много реализаций vpn, которую не так просто выбрать, если не разбираешься детально в сетевых технологиях. Я не сильно в них разбираюсь, но как мне кажется, немного улавливаю суть. Постараюсь вам объяснить своими словами, в чем отличия.</p>



<p>Существуют 2 принципиально разных решения для организации соединений между двумя микротиками и внешними абонентами:</p>



<ol><li>Создание l2 туннеля типа site-to-site с помощью&nbsp;<strong>EOIP Tunnel</strong>. Самый простой и быстрый способ объединить два микротика. Если не будет использовано шифрование, то получатся&nbsp; самые быстрые vpn подключения. Необходимы выделенные белые ip адреса на обоих устройствах. Такие соединения используют для объединения офисов или филиалов по vpn. В общем случае не работает через NAT. Сюда так же добавлю&nbsp;<strong>GRE Tunnel</strong>, хотя он работает в l3 и использует маршрутизацию, но работает так же по принципу site-to-site.</li><li>VPN соединения уровня l3 на технологии Клиент-Сервер, типа&nbsp;<strong>PPTP</strong>,&nbsp;<strong>L2TP</strong>,&nbsp;<strong>SSTP, OpenVPN</strong>. Такие соединения используются как для объединения офисов, так и для подключения удаленных сотрудников. Достаточно только одного белого ip адреса на стороне сервера для создания vpn соединений. Работает через NAT.</li></ol>



<p>Расскажу немного подробнее о каждом из типов vpn соединений отдельно.</p>



<ul><li>GRE Tunnel &#8212; использует простой протокол gre для построения базового незащищенного site-to-site VPN. Разработан компанией CISCO. Позволяет инкапсулировать пакеты различного типа внутри ip туннелей. Простыми словами вот что он делает. Берет ваши данные со всеми заголовками, упаковывает в пакет, передает по интернету  на другой конец, где этот пакет обратно разбирается на исходные данные. Для конечных пользователей сети все это выглядит, как-будто они общаются через локальную сеть.</li><li>EOIP Tunnel &#8212; Ethernet over IP &#8212; это проприетарный протокол MikroTik RouterOS, который создает туннель Ethernet между двумя маршрутизаторами поверх IP-соединения. Для передачи данных использует GRE протокол. Принципиальное отличие eoip tunnnel в том, что он работает в l2 и передает напрямую фреймы, тогда как gre tunnel оперирует пакетами и использует маршрутизацию. Надеюсь правильно объяснил и не соврал. Для чего mikrotik решили создать свою реализацию туннеля через gre протокол, не знаю. Возможно, похожих решений просто нет, вот они и придумали свою реализацию.</li><li>PPTP &#8212; туннельный протокол типа точка-точка (Point-to-Point Tunneling Protocol). Для работы использует GRE протокол, поддерживает шифрование. В свое время pptp обрел большую популярность из-за того, что его из коробки поддерживала Windows начиная с версии 95. На сегодняшний день pptp использовать не рекомендуется, так как он очень легко взламывается. Из дампа трафика за короткое время (несколько часов) достается ключ шифрования и расшифровывается весь трафик. Возможно, с этим как-то можно бороться, используя разные протоколы шифрования, но я не разбирался подробно с этой темой. Для себя решил, что pptp можно использовать как самое простое решение там, где нет повышенных требований к безопасности и расшифровка трафика, если таковая и случится, не принесет никаких проблем. PPTP поддерживает из коробки не только Windows но и Android, что очень удобно. Настраивается очень просто.</li><li>L2TP &#8212; Layer 2 Tunneling Protocol. Несмотря на то, что в названии указано l2, реально в ip сети он работает на сеансовом уровне, то есть l3. Использует в работе udp порт 1701. Может работать не только в IP сетях. Из коробки, как и pptp, поддерживает аутентификацию пользователей. Сам по себе не обеспечивает шифрование. Для шифрования трафика может использовать ipsec, который считается очень безопасным и не имеет серьезных уязвимостей. В настоящее время поддерживается практически всеми устройствами и системами из коробки, как и pptp. Настраивать не сильно сложнее. В общем случае, для организации vpn рекомендую использовать именно этот тип шифрованного тоннеля.</li><li>OpenVPN &#8212; это очень популярная реализация шифрованных соединений. Главное достоинство &#8212; гибкость настроек. К примеру, очень крутая возможность openvnp &#8212; пушить маршруты напрямую клиенту при подключении. Я долгое время использовал openvpn серверы. Когда первый раз понадобилось передать клиенту pptp маршрут, никак не мог понять, как это настроить. Оказалось, что никак, он это просто не умеет. Пришлось настраивать сторонними инструментами. К сожалению, по непонятным причинам, в mikrotik openvpn не поддерживает протокол udp, что очень сужает возможности использования этого vpn сервера. По tcp он работает гораздо медленнее, чем по udp. Так же не работает сжатие заголовков пакетов. Так что в общем случае использовать openvpn сервер в микротик не имеет смысла, если только он не нужен вам по каким-то конкретным причинам.</li><li>SSTP &#8212; Протокол безопасного туннелирования сокетов (Secure Socket Tunneling Protocol) – был представлен Microsoft в Windows Vista SP1. Основной плюс в том, что он интегрирован в Windows, может использовать 443 порт, что иногда помогает обходить фаерволы. Считается очень безопасным, использует SSL 3.0. Из минусов, насколько я знаю, в микротике очень требователен к ресурсам процессора. На слабеньких железках будет выдавать самую низкую скорость по сравнению со всеми остальными соединениями по vpn. По этой причине я его не буду рассматривать в своем обзоре совсем.</li></ul>


</br>



<p>Из всего написанного можно сделать такой вывод. В общем случае лучше всего в микротике использовать vpn на базе l2tp + ipsec. Основные причины:</p>



<ol><li>Простота и удобство настройки.</li><li>Надежное шифрование.</li><li>Поддержка l2tp соединений практически всеми современными устройствами и системами. Нет необходимости ставить дополнительное программное обеспечение.</li><li>Подходит как для объединения офисов, так и для удаленных сотрудников &#8212;&nbsp;site-to-site и&nbsp;client-to-site подключения.</li></ol>



<p>Если вам нужно максимальное быстродействие без шифрования, то стройте соединения между сетями или офисами с помощью&nbsp;EOIP Tunnel &#8212; фирменной разработки компании Mikrotik.</p>



<p>Дальше я покажу, как настроить все описанные туннели, кроме SSTP и произведу замеры скорости для сравнения. Мой тестовый стенд из двух Mikrotik RB951G-2hnD будет иметь следующие настройки.</p>



<figure class="wp-block-table"><table><tbody><tr><td>m-server</td><td>имя микротика, выступающего в роли сервера</td></tr><tr><td>m-remote</td><td>имя микротика, выступающего в роли удаленного маршрутизатора</td></tr><tr><td>192.168.13.1</td><td>WAN ip адрес на m-server</td></tr><tr><td>192.168.13.197</td><td>WAN ip адрес на m-remote</td></tr><tr><td>10.20.1.0/24</td><td>локальная сеть за m-server</td></tr><tr><td>10.30.1.0/24</td><td>локальная сеть за m-remote</td></tr><tr><td>10.10.5.1-10.10.5.100</td><td>vpn сеть</td></tr></tbody></table></figure>



<p>Приступим к настройке и тестированию vpn соединений в mikrotik.</p>



<h2 class="wp-block-heading">Настройка l2tp туннеля в mikrotik</h2>



<p>Для начала настроим простой l2tp туннель без шифрования и замерим скорость. Для настройки l2tp vpn в mikrotik выполните следующую последовательность действий.</p>



<p>Идем в раздел&nbsp;<strong>IP -&gt; Pool</strong>&nbsp;и добавляем пул ip адресов для vpn туннеля.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-01.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-01.png" alt="Настройка ip пула для l2tp туннеля" class="wp-image-8158"/></a></figure>



<p>Создаем профиль для туннеля в&nbsp;<strong>PPP -&gt; Profiles</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-02.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-02.png" alt="l2tp профиль с настройками" class="wp-image-8159"/></a></figure>



<p>На остальных вкладках настройки дефолтные. Далее создаем пользователя в&nbsp;<strong>PPP -&gt; Secrets</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-03.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-03.png" alt="Добавление пользователя l2tp" class="wp-image-8160"/></a></figure>



<p>Теперь запускаем l2tp сервер. Идем в&nbsp;<strong>PPP</strong>&nbsp;и жмем в кнопку&nbsp;<strong>L2TP Server</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-04.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-04.png" alt="Настройка l2tp сервера" class="wp-image-8161"/></a></figure>



<p>Устанавливаем настройки для l2tp сервера. ipsec пока не включаем.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-05.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-05.png" alt="Запуск l2tp server" class="wp-image-8162"/></a></figure>



<p>VPN сервер настроен. Теперь создадим для него постоянный интерфейс, чтобы на его основе создавать статические маршруты. Идем в&nbsp;<strong>Interfaces</strong>&nbsp;и создаем&nbsp;<strong>L2tp Server Binding</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-06.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-06.png" alt="L2tp Server Binding" class="wp-image-8163"/></a></figure>



<p>Последний штрих. Создаем статический маршрут, с помощью которого абоненты локальной сети сервера смогут подключаться к абонентом локальной сети за удаленным роутером через vpn. Идем в&nbsp;<strong>IP -&gt; Routes</strong>&nbsp;и добавляем маршрут.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-07.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-07.png" alt="Статический маршрут для сети за vpn" class="wp-image-8164"/></a></figure>



<p>Я не рассмотрел вопрос настройки firewall, так как не хочется раздувать и так объемную статью. Напрямую это не относится к указанной теме. Подробнее читайте о настройке фаервола отдельно по приведенной ссылке. Здесь же только укажу, что необходимо открыть на firewall для корректной настройки l2tp.</p>



<p>На сервере необходимо&nbsp;создать следующие правила для фаерволла, чтобы мы могли достучаться до нашего L2TP сервера.&nbsp;<strong>IP -&gt; Firewall -&gt; Filter Rules</strong>. Необходимо создать разрешающее правило в цепочке input для следующих портов и протоколов:</p>



<ul><li>Протокол: UDP</li><li>Разрешаем порты: 1701,500,4500</li><li>В качестве In.Interface указываем тот, через который происходит l2tp подключение.</li></ul>



<p>Отдельно добавляем еще одно правило, разрешающее протокол&nbsp;<strong>ipsec-esc</strong>.</p>



<p>На сервере все готово. Идем настраивать l2pt клиент на удаленном микротике.</p>


</br>



<h3 class="wp-block-heading">L2tp клиент</h3>



<p>Здесь все достаточно просто. Идем в&nbsp;<strong>PPP</strong>&nbsp;и добавляем&nbsp;<strong>L2TP Client</strong>. Указываем настройки, которые задавали ранее на сервере.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-08.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-08.png" alt="Настройка l2tp client в Mikrotik" class="wp-image-8165"/></a></figure>



<p>Добавляем статический маршрут, чтобы клиенты этого роутера знали, куда обращаться к абонентам удаленной локальной сети за vpn.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-09.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-09.png" alt="Маршрут из vpn в локальную сеть" class="wp-image-8166"/></a></figure>



<p>На этом все. Мы настроили l2tp на удаленном микротике и таким образом объединили 2 локальных сети с помощью vpn. В списке ip адресов при активном l2tp соединении на сервере и клиенте вы должны увидеть ip адреса из заданного на сервере диапазона для vpn сети &#8212; 10.10.5.1-10.10.5.100. Теперь можно пропинговать с обоих сетей противоположные.</p>



<p>У меня для теста к обоим микротикам подключены ноутбуки. Сейчас я измерю скорость соединения с помощью iperf3. За роутером&nbsp;<strong>m-remote</strong>&nbsp;на ноутбуке 10.30.1.254 запускаю сервер, а на 10.20.1.3 агента. Запускаем тест скорости vpn соединения:</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-10.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-10.png" alt="Тестирование скорости через l2tp vpn без шифрования" class="wp-image-8167"/></a></figure>



<p>Средняя скорость&nbsp;<strong>194 мбит/сек</strong>. Откровенно говоря, я не понял, почему такая низкая скорость. Мой тестовый стенд собран на двух роутерах микротиках и гигабитного микротик свитча между ними. Ожидал увидеть что-то в районе 500 мбит/сек. Напомню, что туннель пока без шифрования. При этом загрузка процессоров на роутерах была в районе 90-95%. То есть фактически потолок этих железок.</p>



<p>Попробуем теперь включить шифрование ipsec и замерить скорость с ним.</p>



<h3 class="wp-block-heading">Настраиваем ipsec</h3>



<p>С настройкой ipsec для l2tp я залип на некоторое время. В сети много инструкций, но все они устарели. Как оказалось, в последних версиях прошивок, запустить ipsec в дефолтных настройках не просто, а очень просто. Для этого надо всего лишь в свойствах l2tp сервера указать&nbsp;<strong>Use IPsec</strong>&nbsp;&#8212; yes и задать пароль.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-12.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-12.png" alt="Настройка l2tp + ipsec" class="wp-image-8168"/></a></figure>



<p>Все необходимые настройки ipsec будут созданы автоматически. На агенте сделать то же самое &#8212; включить ipsec шифрование и указать пароль.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-13.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-13.png" alt="Настройка ipsec на клиенте" class="wp-image-8169"/></a></figure>



<p>После подключения l2tp клиента увидите в логе похожие строки:</p>



<pre class="wp-block-preformatted">19:17:00 l2tp,ppp,info l2tp-out1: initializing... 
19:17:00 l2tp,ppp,info l2tp-out1: connecting... 
19:17:03 ipsec,info initiate new phase 1 (Identity Protection): 192.168.13.197[500]&lt;=&gt;192.168.13.1[500] 
19:17:04 ipsec,info ISAKMP-SA established 192.168.13.197[500]-192.168.13.1[500] spi:407844c0ceb5d2ab:46ce7ffb25495efd 
19:17:07 l2tp,ppp,info l2tp-out1: authenticated 
19:17:07 l2tp,ppp,info l2tp-out1: connected</pre>



<p>Для того, чтобы убедиться, что шифрование ipsec работает, можно зайти в раздел&nbsp;<strong>IP -&gt; Ipsec -&gt; Installed SAs</strong>&nbsp;и посмотреть на счетчик зашифрованных пакетов. Если он растет, значит все в порядке, трафик шифруется.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-14.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-14.png" alt="Статистика шифрованного трафика" class="wp-image-8170"/></a></figure>



<p>Там же в разделе&nbsp;<strong>Remote Peers</strong>&nbsp;можно посмотреть список удаленных клиентов, для которых работает ipsec шифрование, посмотреть используемые алгоритмы. Все дефолтные настройки ipsec живут в этом разделе. Вы можете посмотреть их, изменить или добавить новые профили. По-умолчанию используется алгоритм авторизации sha1 и шифрование AES. Можете изменить эти параметры, если разбираетесь в теме. Я умничать не буду, тему шифрования не копал. Какие алгоритмы максимально быстры и защищены &#8212; не знаю.</p>



<p>Проведем тесты скорость vpn соединения l2tp + ipsec.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-15.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-15.png" alt="Тестирование скорости vpn l2tp + ipsec на микротике" class="wp-image-8171"/></a></figure>



<p>У меня получилось вот так &#8212;&nbsp;<strong>26 мбит/сек</strong>&nbsp;в среднем. При этом загрузка процессора 100%. Не густо. Данные железки для шифрованных каналов пригодны очень слабо. В данных тестах они ничем, кроме непосредственно теста не нагружены. В реальных условиях скорость будет еще ниже.</p>



<p>С настройками vpn на базе l2tp + ipsec закончили. Продолжим настройку остальных vpn туннелей и сравним их скорость.</p>


</br>



<h2 class="wp-block-heading">Настройка pptp сервера в mikrotik</h2>



<p>Настройка pptp сервера не отличается принципиально от l2tp. Логика и последовательность действий та же самая. Сначала создаем pool адресов в&nbsp;<strong>IP -&gt; Pool</strong>&nbsp;для vpn сети. Я буду использовать тот же пул, что мы создали ранее.</p>



<p>Далее создаем профиль для pptp туннеля в разделе&nbsp;<strong>PPP -&gt; Profiles</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-17.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-17.png" alt="Профиль настроек для pptp сервера" class="wp-image-8172"/></a></figure>



<p>В этом профиле указаны дефолтные настройки шифрования, при которых оно отключено. Проверим сначала скорость vpn канала без них. Создаем нового пользователя для удаленного pptp подключения.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-18.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-18.png" alt="Создание пользователя pptp" class="wp-image-8173"/></a></figure>



<p>Включаем pptp сервер в разделе PPP.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-19.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-19.png" alt="Настройка pptp сервера" class="wp-image-8174"/></a></figure>



<p>Теперь создадим в Interface List&nbsp;<strong>PPTP Server Binding</strong>&nbsp;по аналогии с предыдущим разделом.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-20.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-20.png" alt="Добавление PPTP Server Binding" class="wp-image-8175"/></a></figure>



<p>И в завершение добавляем статический маршрут до удаленной сети через pptp подключение.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-21.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-21.png" alt="Добавление статического маршрута за pptp соединением" class="wp-image-8176"/></a></figure>



<p>Настройка pptp сервера закончена. На фаерволе нужно будет открыть для входящих подключений внешнего интерфейса следующие вещи:</p>



<ul><li>TCP port 1723</li><li>GRE протокол</li></ul>



<p>Отправляемся настраивать pptp клиент.</p>


</br>



<h3 class="wp-block-heading">pptp клиент</h3>



<p>Отправляемся на удаленный роутер и там настраивает подключение через pptp client. Идем, как обычно, в раздел&nbsp;<strong>PPP</strong>&nbsp;и добавляем&nbsp;<strong>PPTP Client</strong>. На вкладке General ничего не трогаем, а на Dial Out указываем адрес pptp сервера и имя пользователя для подключения.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-22.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-22.png" alt="Настройка pptp клиент в микротике" class="wp-image-8177"/></a></figure>



<p>Добавляем статический маршрут до удаленного офиса через vpn туннель.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-23.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-23.png" alt="Статический маршрут для pptp" class="wp-image-8178"/></a></figure>



<p>Все готово. Активируем pptp подключение и пробуем пинговать адреса в локальной сети. Убедиться в том, что шифрование отключено можно в статуте pptp соединения на клиенте.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-24.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-24.png" alt="Статус шифрования" class="wp-image-8179"/></a></figure>



<p>Проверим теперь скорость vpn соединения по pptp.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-25.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-25.png" alt="Тестирование скорости pptp vpn без шифрования" class="wp-image-8180"/></a></figure>



<p>Те же самые&nbsp;<strong>194 мбит/сек</strong>, что на нешифрованном l2tp при 100% загрузке процессора. Вообще, было немного странно увидеть абсолютно такие же цифры. Проводил тесты несколько раз, но везде был стабильно один и тот же результат. Без шифрования нет разницы по скорости между l2tp и pptp соединением.</p>



<p>Теперь включим шифрование в pptp на сервере и посмотрим на скорость. Для этого указываем в pptp профиле явно, чтобы использовалось шифрование. Идем в&nbsp;<strong>PPP -&gt; Profiles</strong>&nbsp;и редактируем наш профиль.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-27.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-27.png" alt="Шифрование в pptp" class="wp-image-8181"/></a></figure>



<p>Убедимся в статусе клиента, что шифрование работает.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-28.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-28.png" alt="Шифрование mppe128 в pptp server" class="wp-image-8182"/></a></figure>



<p>Тестирую скорость vpn соединения по pptp с включенным шифрованием.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-29.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-29.png" alt="Проверка скорости через шифрованный pptp канал" class="wp-image-8183"/></a></figure>



<p>Получилось в среднем&nbsp;<strong>71 мбит/сек</strong>. Неплохой результат в сравнении с шифрованием ipsec в l2tp. Как я и говорил ранее, pptp сервер хорошо подходит там, где шифрование либо совсем не нужно, либо допускается возможность, что зашифрованный трафик будет расшифрован. Но при этом он все равно закрыт шифрованием и каждый проходящий не сможет ничего увидеть. Нужно как минимум снять дампт трафика и каким-то образом подбирать ключ по словарю или перебором. Не знаю точно, как это реализуется на практике. Не изучал вопрос.</p>



<p>Перейдем теперь к openvpn серверу в микротик. Очень любопытно посмотреть на тесты скорости этого типа vpn соединений.</p>


</br>



<h2 class="wp-block-heading">Настройка openvpn server в микротик</h2>



<p>В настройке openvpn сервера на mikrotik нет ничего сложного, кроме нюанса с сертификатами. Тому, кто с ними никогда не работал, может показаться все слишком замороченным. К тому же в самом микротике нет никаких средств для создания сертификатов сервера и клиента. Необходимо использовать сторонние утилиты.</p>



<p>Если у вас нет linux машины, но вы все же настроены поднять vpn туннель с помощью openvpn в микротике, то давайте разбираться с настройкой дальше. Прежде всего нам понадобится дистрибутив openvpn для windows. Скачать его можно по ссылке &#8212;&nbsp;<a href="https://openvpn.net/community-downloads/" target="_blank" rel="noreferrer noopener">https://openvpn.net/community-downloads/</a>. Нас будет интересовать Windows Installer.</p>



<p>Выполняем установку от имени администратора и указываем в процессе компонент под названием&nbsp;<strong>EasyRSA 2 Certificate Management Scripts</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-31.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-31.png" alt="Установка EasyRSA 2 Certificate Management Scripts на Windows" class="wp-image-8184"/></a></figure>



<p>Идем в директорию&nbsp;<em>C:\Program Files\OpenVPN</em>. Переносим оттуда папку&nbsp;<em>easy-rsa</em>&nbsp;куда-нибудь в другое место, чтобы не приходилось постоянно спотыкаться об UAC, который не даст спокойно работать в Program files. Я перенес в&nbsp;<em>D:\tmp\easy-rsa</em>.&nbsp;Переименовываем файл&nbsp;<em>vars.bat.sample</em>&nbsp;в&nbsp;<em>vars.bat</em>. Открываем его на редактирование и приводим примерно к следующему виду.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-32.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-32.png" alt="Файл с переменными vars.bat" class="wp-image-8185"/></a></figure>



<p>Для тех, кто не понял, это просто переменные, которые я указал под свои нужды. Там писать можно все, что угодно, не принципиально для нашей задачи. Можно вообще ничего не менять, а оставить как есть. Создаем в директории папку&nbsp;<em>keys</em>. Далее запускаем командную строку от администратора и перемещаемся в указанную директорию&nbsp;<em>D:\tmp\easy-rsa</em>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-33.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-33.png" alt="Командная строка Windows" class="wp-image-8186"/></a></figure>



<p>Далее в командной строке пишем vars и жмем enter. Этим мы загрузим переменные из файла vars.bat, потом вводим&nbsp;<strong>clean-all</strong>.&nbsp;Дальше генерируем Root CA командой &#8212;&nbsp;<strong>build-ca</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-34.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-34.png" alt="Генерация Root CA сертификата" class="wp-image-8187"/></a></figure>



<p>Отвечаем на задаваемые вопросы и завершаем создание корневого сертификата. Он появится в папке&nbsp;<em>D:\tmp\easy-rsa\keys</em>. Дальше создаем сертификат openvpn сервера командой &#8212;&nbsp;<strong>build-key-server имя_сервера</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-35.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-35.png" alt="Генерация сертификата для openvpn сервера в mikrotik" class="wp-image-8188"/></a></figure>



<p>Теперь сгенерируем сертификат для клиента. У меня только один клиент в виде удаленного микротика. Вы создаете ровно столько, сколько вам нужно. Используем команду&nbsp;<strong>build-key имя_сертификата</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-36.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-36.png" alt="Создание сертификата для openvpn клиента" class="wp-image-8189"/></a></figure>



<p>С созданием сертификатов закончили. Они у нас все лежат в директории keys. На микротик, который будет выступать в качестве openvpn сервера, нужно передать файлы:</p>



<ul><li>ca.crt</li><li>ovpnserver.crt</li><li>ovpnserver.key</li></ul>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-37.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-37.png" alt="Загрузка сертификатов в микротик" class="wp-image-8190"/></a></figure>



<p>Импортируем сертификаты из добавленных файлов. Идем в&nbsp;<strong>System -&gt; Certificates</strong>&nbsp;и импортируем сначала&nbsp;<em>ca.crt</em>, потом&nbsp;<em>ovpnserver.crt</em>&nbsp;и&nbsp;<em>ovpnserver.key</em>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-38.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-38.png" alt="Импорт сертификатов для openvpn" class="wp-image-8191"/></a></figure>



<p>Должно получиться примерно так. Теперь приступаем к настройке openvpn сервера в mikrotik. Создадим для него отдельный профиль в&nbsp;<strong>PPP -&gt; Profiles</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-42.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-42.png" alt="Профиль openvpn настроек" class="wp-image-8195"/></a></figure>



<p>Все настройки дефолтные. В качестве локального и удаленного адреса использую Ip Pool, который создал в самом начале настройки l2tp. Добавим удаленного пользователя для openvpn в&nbsp;<strong>PPP -&gt;Secrets</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-43.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-43.png" alt="Создание openvpn пользователя" class="wp-image-8196"/></a></figure>



<p>Идем в раздел&nbsp;<strong>PPP</strong>&nbsp;и жмем&nbsp;<strong>OVPN Server</strong>. Указываем настройки и загруженный ca сертификат.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-39.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-39.png" alt="Настройка openvpn в mikrotik" class="wp-image-8192"/></a></figure>



<p>Далее добавляем по аналогии с остальными vpn серверами&nbsp;<strong>OVPN Server Binding</strong>&nbsp;и статические маршруты.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-40.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-40.png" alt="Добавление OVPN Server Binding" class="wp-image-8193"/></a></figure>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-41.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-41.png" alt="Статический маршрут для vpn" class="wp-image-8194"/></a></figure>



<p>На этом настройка openvpn server в микротик завершена. По дефолту будет использоваться протокол шифрования&nbsp;<strong>BF-128-CBC</strong>. Его можно поменять в свойствах клиента, а список всех поддерживаемых шифров в свойствах vpn сервера.</p>



<p>Для работы указанной настройки openvpn сервера необходимо открыть входящий tcp порт 1194 на фаерволе. Теперь настроим openvpn клиент и протестируем скорость соединения через vpn на основе openvpn.</p>


</br>



<h3 class="wp-block-heading">openvpn client</h3>



<p>Для настройки openvpn client на mikrotik, туда нужна передать сертификаты, сгенерированные на предыдущем шаге. Конкретно вот эти файлы:</p>



<ul><li>m-remote.crt</li><li>m-remote.key</li></ul>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-44.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-44.png" alt="Файлы сертификатов для клиента" class="wp-image-8197"/></a></figure>



<p>Импортируем, как и на сервере сертификат из этих файлов. Обращаю внимание, что должны быть символы KT напротив имени сертификата.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-46.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-46.png" alt="Импорт openvpn сертификатов клиента" class="wp-image-8198"/></a></figure>



<p>Теперь настраивает openvpn клиента. Идем в&nbsp;<strong>PPP</strong>&nbsp;и добавляем&nbsp;<strong>OVPN Client</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-47.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-47.png" alt="Настройка openvpn client в микротике" class="wp-image-8199"/></a></figure>



<p>Добавляем статический маршрут для доступа к ресурсам удаленной сети за openvpn сервером.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-48.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-48.png" alt="Статический маршрут через vpn соединение" class="wp-image-8200"/></a></figure>



<p>Все готово. Можно подключаться и тестировать скорость vpn соединения через openvpn.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-49.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-49.png" alt="Тест скорости openvpn в mikrotik" class="wp-image-8201"/></a></figure>



<p>Получилось в среднем&nbsp;<strong>24 мбит/сек</strong>&nbsp;при 100% загрузке процессора. Результат сопоставим с l2tp + ipsec. Немного удивил результат. Я думал, будет хуже, чем l2tp, а на деле то же самое. Мне лично вариант с openvpn в целом нравится больше, хотя из-за ограниченности настроек openvpn в микротике преимущества openvpn трудно реализовать. Напомню, что тестировал с шифрованием&nbsp;BF-128-CBC, то есть blowfish.</p>



<p>Вот результат с&nbsp;AES-128-CBC &#8212; 23 мбит/сек, примерно то же самое.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-51.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-51.png" alt="Тест скорости AES-128-CBC шифрования в openvpn" class="wp-image-8202"/></a></figure>



<p>С клиент-серверными реализациями vpn сервера в mikrotik разобрались. Теперь просмотрим на скорость l2-vpn в виде eoip tunnel.</p>



<h2 class="wp-block-heading">Настройка EOIP Tunnel + Ipsec</h2>



<p>Настроим vpn сеть на базе&nbsp;EOIP в Mikrotik. Тут нужно понимать одно важное отличие от всех предыдущих настроек, которые мы делали ранее. EOIP туннель работает на уровне l2, то есть оба сегмента сети будут считать, что находятся в одной физической сети. Адресное пространство для обоих будет одно и то же. В моем примере это 10.20.1.0/24. DHCP сервер должен остаться только один для обоих сетей. В моем случае он останется на&nbsp;<strong>m-server</strong>.</p>



<p>Создаем EOIP туннель на m-server. Идем в&nbsp;<strong>Interface list -&gt; EoIP Tunnel</strong>&nbsp;и добавляем новый.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-53.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-53.png" alt="Настройка EoIP в микротик" class="wp-image-8203"/></a></figure>



<p>Из настроек достаточно указать только удаленный адрес второго микротика. Новый EoIP интерфейс необходимо добавить в локальный бридж вместе с физическими интерфейсами.</p>



<p>Идем на удаленный микротик и там делаем все то же самое, только Remote Address указываем другой.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-54.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-54.png" alt="Второй eoip tunnel для связи офисов" class="wp-image-8204"/></a></figure>



<p>Этого достаточно, чтобы EoIP туннель сразу же заработал. Его состояние будет RS.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-55.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-55.png" alt="Статус eoip vpn" class="wp-image-8205"/></a></figure>



<p>На втором микротике EoIP интерфейс так же нужно добавить в локальный бридж с остальными интерфейсами.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-56.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-56.png" alt="Добавление eoip туннеля в локальный бридж" class="wp-image-8206"/></a></figure>



<p>Проще всего проверить, что все в порядке, это запросить по dhcp на m-slave ip адрес для интерфейса bridge. Он должен получить ip адрес от dhcp сервера на m-server, при условии, что в сети больше нет других dhcp серверов. То же самое будет и с локальными машинами в сети за m-slave. Они будут получать ip адреса от dhcp сервера на m-server.</p>



<p>Проверим теперь быстродействие такого vpn туннеля на основе EoIP.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-57.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-57.png" alt="Тестирование нешифрованного eoip vpn в mikrotik" class="wp-image-8207"/></a></figure>



<p>Показываю максимальный результат, который у меня получился &#8212;&nbsp;<strong>836 мбит/сек</strong>. По какой-то причине в разных тестах скорость плавала в интервале между 600-850 мбит/сек. Для того, чтобы скорость изменилась, необходимо было отключить и заново включить EoIP интерфейс. Скорость впечатляет. При этом, процессор не загружен на 100%. То есть узкое место не он. Похоже я уперся в производительность сети. Напомню, что тут нет никакого шифрования и маршрутизации трафика. Прямой l2 канал между двумя микротиками через EoIP vpn.</p>



<p>Добавим в EoIP туннель шифрование Ipsec и посмотрим на скорость. Для этого меняем настройки каналов на обоих микротиках. Добавляем пароль Ipsec и локальные адреса, отключаем Fast Path.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-69.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-69.png" alt="Настройка eoip + ipsec" class="wp-image-8216"/></a></figure>



<p>Измеряем скорость соединения.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-67.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-67.png" alt="Тест скорость eoio + ipsec в mikrotik" class="wp-image-8215"/></a></figure>



<p>У меня получилась скорость vpn при использовании EoIP + Ipsec в среднем&nbsp;<strong>27 мбит/сек</strong>. Скорость сопоставима с шифрованными туннелями L2tp и Openvpn. В этом плане никаких приятных сюрпризов не получилось. Шифрование очень тяжело дается этой железке. Можно сказать она для него не предназначена практически совсем.</p>



<h2 class="wp-block-heading">GRE туннель + Ipsec в mikrotik, создание и настройка</h2>



<p>Для настройки GRE туннеля в Mikrotik идем в раздел&nbsp;<strong>Interfaces -&gt; GRE Tunnel</strong>&nbsp;и добавляем новый со следующими настройками:</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-59.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-59.png" alt="Настройка GRE Tunnel " class="wp-image-8208"/></a></figure>



<p>Назначаем GRE туннелю ip адрес в&nbsp;<strong>IP -&gt; Adresses</strong>.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-61.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-61.png" alt="Назначаем адрес для gre соединения" class="wp-image-8210"/></a></figure>



<p>Сразу же создаем статический маршрут для доступа к ресурсам удаленной сети.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-60.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-60.png" alt="Статический маршрут через gre" class="wp-image-8209"/></a></figure>



<p>Для организации vpn соединения через GRE tunnel то же самое проделываем на удаленном микротике, только меняем соответствующие адреса.</p>



<p>Создаем GRE Tunnel.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-62.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-62.png" alt="Подключение второго микротика через gre" class="wp-image-8211"/></a></figure>



<p>Назначаем ip адрес.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-63.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-63.png" alt="Локальный ip адрес для gre tunnel" class="wp-image-8212"/></a></figure>



<p>Добавляем маршрут в удаленную локальную сеть.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-64.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-64.png" alt="Статический маршрут через vpn gre" class="wp-image-8213"/></a></figure>



<p>После этого маршрутизация трафика между локальными сетями должна заработать. Не забудьте на firewall разрешить gre протокол.</p>



<p>Проверим теперь скорость соединения по GRE туннелю.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-65.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-65.png" alt="Тест скорости нешифрованного gre туннеля" class="wp-image-8214"/></a></figure>



<p>У меня получилось&nbsp;<strong>247 мбит/сек</strong>. Напомню, что это нешифрованный маршрутизируемый vpn туннель. Отличие от l2 туннеля EoIP примерно в 3 раза по скорости в меньшую сторону. Выводы делайте сами какие туннели использовать. Если не нужна маршрутизация, то однозначно EoIP.</p>



<p>Теперь проверим то же самое, только настроив в GRE шифрование Ipsec. Добавляем соответствующие настройки в GRE туннели на обоих микротиках.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-72.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-72.png" alt="Настройка GRE + Ipsec" class="wp-image-8218"/></a></figure>



<p>Измеряю скорость GRE + Ipsec, алгоритм шифрования&nbsp;aes-128 cbc.</p>



<figure class="wp-block-image"><a href="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-71.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/03/mikrotik-vpn-server-71.png" alt="Тестирование скорости vpn канала на базе gre + ipsec" class="wp-image-8217"/></a></figure>



<p>Получилось в среднем&nbsp;<strong>29,7 мбит/сек</strong>, что примерно соответствует всем результатам с ipsec. Не удивительно, ведь алгоритм шифрования во всех случаях один и тот же. Но тем не менее, в GRE Tunnel скорость немного выше всех остальных участников. Из этого можно сделать вывод, что исключительно для l3 site-to-site подключений GRE Tunnel подходит в плане быстродействия лучше всего.</p>



<h2 class="wp-block-heading">Сравнение скорости L2tp, Pptp, EoIP, GRE и OpenVPN туннелей</h2>



<p>Сведу все данные измерений в единую таблицу для наглядного и удобного анализа и сравнения скоростей всех упомянутых vpn соединений в Mikrotik.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>VPN Туннель</strong></td><td><strong>Шифрование</strong></td><td><strong>Скорость&nbsp;(Мбит/c)</strong></td></tr><tr><td>l2tp</td><td>нет</td><td>194</td></tr><tr><td>l2tp</td><td>IPsec AES-128 CBC</td><td>26</td></tr><tr><td>pptp</td><td>нет</td><td>194</td></tr><tr><td>pptp</td><td>MPPE128</td><td>71</td></tr><tr><td>openvpn</td><td>BF-128-CBC</td><td>24</td></tr><tr><td>eoip</td><td>нет</td><td>836</td></tr><tr><td>eoip</td><td>IPsec AES-128 CBC</td><td>27</td></tr><tr><td>gre</td><td>нет</td><td>247</td></tr><tr><td>gre</td><td>IPsec AES-128 CBC</td><td>29,7</td></tr></tbody></table></figure>



<p>Приведенная таблица наглядно показывает разницу в различных методах шифрования. С помощью нее можно быстро оценить, к каким потерям производительности может привести шифрование. Сейчас все по-умолчанию все шифруют, но если разобраться, очень часто это не требуется. Можно пойти на некий компромис и использовать pptp сервер, который хоть и не обеспечивает 100% безопасное шифрование, но тем не менее скрывает трафик от просто любопытных глаз и имеет неплохое быстродействие. В любом случае трафик просто так не прочитать, надо целенаправленно приложить усилия для дешифровки. В некоторых случаях такой защиты будет достаточно.</p>



<h2 class="wp-block-heading">Заключение</h2>



<p>Изначально не планировал писать такую большую и подробную статью. Аппетит приходит во время еды. По мере того, как стал углубляться в тему, становилось все интереснее и интереснее попробовать разные варианты и сравнить их. В итоге я перебрал все известные vpn подключения в mikrotik. Не дошли руки только до SSTP, но я точно знаю, что он будет очень медленно работать на&nbsp;RB951G-2hnD и в целом на микротиках медленнее всех остальных решений. Не думаю, что его использование будет оправданно.</p>



<p>Статью писал несколько дней, мог что-то напутать, опечататься или ошибиться. Все замечания принимаю в комментариях. Надеюсь, мой материал исследование на тему настройки vpn соединений в микротиках был вам интересен и полезен. Единственное, о чем жалею, что не затронул тему настройки pptp, l2tp и openvpn подключений на клиентских устройствах сотрудников. Без них материал на тему настройки vpn получился не полноценным, ведь это важная часть работы vpn тоннелей. Их используют не только для объединения офисов, но и для подключения удаленных сотрудников.</p>
<p>Сообщение <a href="https://clip-clap.ru/it/mikrotik/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-vpn-l2tpipsec-openvpn-%d0%b8-%d0%b4%d1%80-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8%d0%ba/">Настройка vpn (l2tp+Ipsec, openvpn и др.) сервера в микротике</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://clip-clap.ru/it/mikrotik/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-vpn-l2tpipsec-openvpn-%d0%b8-%d0%b4%d1%80-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8%d0%ba/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Базовая настройка фаервола в Микротик</title>
		<link>https://clip-clap.ru/it/mikrotik/%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%84%d0%b0%d0%b5%d1%80%d0%b2%d0%be%d0%bb%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8/</link>
					<comments>https://clip-clap.ru/it/mikrotik/%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%84%d0%b0%d0%b5%d1%80%d0%b2%d0%be%d0%bb%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sat, 08 Aug 2020 21:12:28 +0000</pubDate>
				<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Микротик]]></category>
		<category><![CDATA[фаервол]]></category>
		<guid isPermaLink="false">https://clip-clap.ru/?p=1468</guid>

					<description><![CDATA[<p>Сегодня хочу поподробнее раскрыть тему защиты роутеров популярной латвийской марки. Речь пойдет о базовой настройке Firewall в Mikrotik для обеспечения</p>
<p>Сообщение <a href="https://clip-clap.ru/it/mikrotik/%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%84%d0%b0%d0%b5%d1%80%d0%b2%d0%be%d0%bb%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8/">Базовая настройка фаервола в Микротик</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Сегодня хочу поподробнее раскрыть тему защиты роутеров популярной латвийской марки. Речь пойдет о базовой настройке Firewall в Mikrotik для обеспечения безопасности и удобства. Статья на эту тему была написана уже давно, но я решил ее полностью переделать и актуализировать.</p>


</br>



<p>Долгое время у меня была опубликована статья про простую настройку файрвола на микротик. Там были перечислены базовые правила для ограничения доступа к роутеру, и тем не менее, статья собрала более 200 тыс. просмотров. Потом была вторая версия статьи, в которой тем не менее были неточности.</p>



<p>Некоторое время назад я обновил и актуализировал статью про базовую настройку mikrotik. В комментариях многие люди пеняли мне на то, что я совсем не уделил внимание настройке фаервола. Мне не захотелось мешать все в кучу, поэтому я пишу отдельную подробную статью на эту тему, а в настройке роутера оставлю ссылку на нее.</p>



<p>Итак, будем считать, что вы уже настроили роутер примерно так же, как я описал в своей статье. Есть локальная сеть, которая будет выходить в интернет через микротик. И есть сам микротик, который хочется защитить, ограничив доступ для всего лишнего, разрешив только то, что нам нужно.</p>



<figure class="wp-block-table"><table><tbody><tr><td>192.168.88.1</td><td>локальный адрес микротика</td></tr><tr><td>bridge1-lan</td><td>название бриджа, в который объединены все интерфейсы для локальной сети</td></tr><tr><td>ether1-wan</td><td>интерфейс для внешнего подключения WAN</td></tr><tr><td>192.168.88.0/24</td><td>локальная сеть, которую обслуживает микротик</td></tr></tbody></table></figure>


</br>



<h2 class="wp-block-heading">Default firewall в Mikrotik</h2>



<p>Если вы используете дефолтную конфигурацию роутера, то она по-умолчанию имеет стандартные правила firewall. Привожу список стандартных правил (rules) с комментариями. Напоминаю, что экспорт правил firewall в mikrotik можно выполнить следующей командой:</p>



<pre class="wp-block-preformatted">&gt;&gt; ip firewall export file=rules</pre>



<p>Вот список стандартных правил:</p>



<pre class="wp-block-preformatted">/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
</pre>



<p>В принципе, по приведенным комментариям примерно понятно, что тут происходит. Дропаются все входящие и транзитные соединения не из локальной сети, разрешен пинг &#8212; icmp, разрешен ipsec, разрешены установленные соединения. Все. Ну и настроен NAT через WAN интерфейс.</p>



<p>Во многих случаях данных правил по-умолчанию может быть достаточно обычному пользователю, который просто настроил маршрутизатор дома для выхода в интернет. Берите на вооружение, если вам от маршрутизатора больше ничего не надо.</p>



<p>Если же вы хотите получше разобраться в устройстве firewall и попробовать настроить его самостоятельно, то давайте разбираться дальше вместе.</p>


</br>



<h2 class="wp-block-heading">Firewall и базовая настройка безопасности</h2>



<p>Давайте теперь немного порассуждаем, зачем нужен файрвол и какие вопросы он решает. Причем не только в контексте микротика, а вообще. Сейчас каждый доморощенный админ рассказывает, как важно всегда настраивать firewall, иногда даже не понимая, для чего он нужен. Лично я не сторонник создания лишних сущностей, поэтому там где межсетевой экран не нужен, я его не настраиваю.</p>



<p>Сетевой экран позволяет настраивать доступ как к самому шлюзу, так и к ресурсам за ним. Допустим, у вас не запущено никаких сервисов на роутере, и нет никакого доступа извне в локальную сеть. У вас есть какая-то служба на шлюзе, с помощью которой к нему подключаются и управляют (ssh, winbox, http и т.д.), причем ограничение доступа к этой службе настраивать не планируется. Вопрос &#8212; зачем вам в таком случае настраивать фаервол? Что он будет ограничивать и какие правила туда писать? В таком случае вам будет достаточно отключить все сервисы на роутере, которые слушают подключения из вне и все.</p>



<p>На самом деле такой кейс очень популярный дома или в мелких организациях, где нет постоянного админа. Просто настроен какой-то роутер, поднят NAT и все. Я понимаю, что не правильно не настраивать ограничения на доступ к управлению, но я рассказываю, как часто бывает. То есть firewall должен решать конкретную задачу по ограничению доступа к ресурсам, а не существовать просто так, чтобы был.</p>



<p>Еще популярны случаи, когда настроена куча правил, а в конце все равно стоит accept для всех подключений. Такие ляпы я сам иногда делал, когда отлаживал где-то работу сервиса и забывал потом вернуть обратно ограничения. Фаервол вроде настроен, но реально его нет. Если отключить &#8212; ничего не изменится.</p>



<p>К чему я все это написал? К тому, что прежде чем настраивать firewall, надо определиться с тем, для чего мы это делаем. Какие разрешения или ограничения и для кого мы будем вводить. После этого можно переходить к настройке.В своем примере я буду настраивать межсетевой экран на микротике, находясь в локальной сети. Вам всегда советую поступать так же. Есть старая админская примета &#8212; удаленная настройка файрвола к дальнему пути.</p>



<h3 class="wp-block-heading">Safe Mode</h3>



<p>У Mikrotik есть интересное средство в виде&nbsp;<strong>Safe Mode</strong>, которое позволяет относительно безопасно настраивать Firewall удаленно. Суть его очень простая. Вы включаете этот режим через соответствующую настройку.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-01.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-01.png" alt="Включение Safe Mode" class="wp-image-11130"/></a></figure></div>



<p>Далее, если вы некорректно выйдете из этого режима, то все созданные вами настройки будут отменены. Корректным выходом из режима является ручное его отключение через ту же настройку. Таким образом, если во время настройки фаервола у вас пропала связь из-за неверного правила или по какой-то другой причине, Микротик откатит обратно сделанные вами изменения и вы сможете снова подключиться к роутеру.</p>



<p>В терминале этот режим включается комбинацией клавиш CTRL+X. Время ожидания, перед откатом изменений максимум 9 минут (время TCP timeout). Подробнее об этом режиме можно почитать в официальной&nbsp;<a href="https://wiki.mikrotik.com/wiki/Manual:Console#Safe_Mode" target="_blank" rel="noreferrer noopener">документации</a>.</p>


</br>



<h3 class="wp-block-heading">Порядок расположения правил в Firewall</h3>



<p>Перед началом настройки firewall в mikrotik, отдельно остановлюсь на одном очень важном моменте &#8212; порядке расположения правил. Многие, да и я сам ранее, не придавал большого значения этому, так как не сталкивался с высокими нагрузками на сетевое оборудование. Если нагрузки нет, то разницу не замечаешь. Тем не менее, лучше ее понимать.</p>



<p>Пакеты проходят по списку правил по порядку, сверху вниз. Если пакет соответствует какому-то правилу, то он прекращает движение по цепочке. Из этого следует важный вывод &#8212; первыми в цепочке должны быть правила, которые охватывают максимальный объем трафика, чтобы он дальше не обрабатывался устройством. Примером такого правила является разрешение пакетов уже установленных (established) или связанных (related) соединений, которые ранее были разрешены каким-то правилом. Повторно проверять по всем правилам их не нужно. Сделаем такое правило для цепочки&nbsp;<strong>input &#8212; входящие соединения роутера</strong>.</p>



<p>Я сначала приведу это правило в виде команды для терминала, который вы можете открыть через winbox. Введите это правило через консоль, а потом уже изучите через визуальное представление. Переходим в соответствующий раздел&nbsp;<strong>IP -&gt; Firewall</strong>&nbsp;и добавляем правило. Рекомендую всегда ставить комментарии для правил. Так их проще анализировать.</p>



<pre class="wp-block-preformatted">/ip firewall filter
add action=accept chain=input comment="accept establish &amp; related" connection-state=established,related</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-02.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-02.png" alt="Пример правила для firewall в Mikrotik" class="wp-image-11131"/></a></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-03.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-03.png" alt="Разрешающее правило" class="wp-image-11132"/></a></figure></div>



<p>В дефолтном правиле фаервола сюда же добавлены untracked подключения. Я не стал их добавлять, так как обычно не использую данную возможность. Untracked &#8212; это пакеты, не отслеживаемые connection tracker. То есть идущие&nbsp;<a href="https://wiki.mikrotik.com/wiki/Manual:IP/Firewall/Connection_tracking#Features_affected_by_connection_tracking" target="_blank" rel="noreferrer noopener">мимо многих функций</a>&nbsp;фаервола. В конце статьи я отдельно расскажу об этой возможности.</p>



<h3 class="wp-block-heading">Цепочки правил</h3>



<p>Первое правило фаервола для цепочки input мы уже написали, но при этом я забыл немного рассказать о существующих цепочках правил в микротиковском фаерволе. Они наследуются из линуксового фаервола iptables. По сути, в mikrotik работает именно он.</p>



<ol><li><strong>Input</strong>&nbsp;&#8212; пакеты, отправленные на сам роутер. Если вы подключаетесь к нему по ssh или winbox, пакеты попадают как раз в эту цепочку.</li><li><strong>Forward</strong>&nbsp;&#8212; транзитные пакеты, идущие через маршрутизатор. Например, в локальную сеть за ним, или из нее. Все запросы в интернет через маршрутизатор микротик будут попадать в цепочку forward.</li><li><strong>Output</strong>&nbsp;&#8212; пакеты, отправленные с маршрутизатора. Например, микротик синхронизирует время с внешними ntp серверами. Эти запросы будут попадать в цепочку output.</li></ol>



<p>При составлении правил firewall нет смысла пытаться как-то перемешивать правила из разных цепочек. Они все равно будут читаться по порядку в соответствии с той цепочкой, в которую попадает пакет. Поэтому я обычно сначала описываю все правила для input, потом для forward и в конце, в случае необходимости, для output.</p>



<h3 class="wp-block-heading">Примеры готовых правил</h3>



<p>Двигаемся дальше. Одно правило у нас есть, рисуем следующее. Отбрасываем все неверные (Invalid) пакеты. Это чистой воды паразитный трафик. Его пакеты не являются частью ни одного из отслеживаемых соединений. Поэтому чем раньше мы их отбросим, тем меньше они будут нагружать дальше фаервол проверками.</p>



<pre class="wp-block-preformatted">add action=drop chain=input comment="drop invalid" connection-state=invalid</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-04.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-04.png" alt="drop invalid connections" class="wp-image-11133"/></a></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-05.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-05.png" alt="drop invalid connections" class="wp-image-11134"/></a></figure></div>



<p>Дальше не буду приводить скрины, очень хлопотно их под каждое правило делать, да и нет смысла. Просто вставляйте через консоль правила и изучайте их сами в winbox. Разрешаем icmp трафик, чтобы можно было пинговать роутер.</p>



<pre class="wp-block-preformatted">add action=accept chain=input comment="accept ICMP" protocol=icmp</pre>



<p>Соответственно, если хотите его заблокировать, то вместо action=accept сделайте drop, или просто не пишите правило, если в конце у вас будет полная блокировка всего, что не разрешено явно.</p>



<p>Дальше я обычно разрешаю подключаться к портам, отвечающим за управление роутером (ssh, winbox, https) с доверенных ip адресов. Подробно этот вопрос я рассмотрю отдельно ниже, поэтому пока это правило пропустим.</p>



<p>Создаем заключительное правило для цепочки input, которое будет блокировать все запросы, пришедшие не из локальной сети. В моем примере у меня локальная сеть подключена к бриджу bridge1-lan. В него входят все порты, подключенные в локалку.</p>



<pre class="wp-block-preformatted">add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan</pre>



<p>В этом правиле я использовал отрицание&nbsp;<em>!bridge1-lan</em>, то есть все, что не относится к указанному бриджу.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-06.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-06.png" alt="Запрет любого входящего трафика, кроме локального" class="wp-image-11135"/></a></figure></div>



<p>На текущий момент мы запретили все запросы из вне к роутеру, кроме пингов. При этом доступ из локальной сети полный. Настроим теперь правила для транзитного трафика цепочки forward. Здесь по аналогии с input первыми идут правила для established, related, invalid пакетов.</p>



<pre class="wp-block-preformatted">add action=accept chain=forward comment="accept established,related" connection-state=established,related
add action=drop chain=forward comment="drop invalid" connection-state=invalid</pre>



<p>Теперь запретим все запросы из внешней сети, связь с которой через интерфейс ether1-wan к локальной сети.</p>



<pre class="wp-block-preformatted">add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan</pre>



<p>Что такое dstnat мы рассмотрим чуть позже, когда будем разбираться с NAT. На этом список базовых правил закончен. Дальше немного пояснений на тему того, что у нас получилось.Важное замечание, о котором я забыл упомянуть. По умолчанию, в Mikrotik Firewall нормально открытый. Это значит, все, что не запрещено явно, разрешено.</p>



<p>На текущий момент у нас запрещены все входящие соединения, кроме пинга. При этом разрешены все запросы из локальной сети во внешнюю, так как мы не указали никаких блокирующих правил для этого, а значит, все открыто. Покажу для примера, что нужно сделать, чтобы запретить все запросы из локалки и разрешить, к примеру, только http и https трафик.</p>



<p>Для этого мы сначала создаем разрешающее правило для 80 и 443 портов. Если используете внешний DNS сервер для запросов из сети, не забудьте разрешить еще и 53 порт UDP, иначе dns запросы не будут проходить и страницы загружаться не будут, даже если разрешить http трафик.</p>



<pre class="wp-block-preformatted">add action=accept chain=forward comment="accept http &amp; https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
add action=accept chain=forward comment="accept dns from lan" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp</pre>



<p>Разрешил http и dns трафик, так как в моем тестовом окружении используется внешний dns сервер. Теперь блокируем все остальные запросы по цепочке forward из локальной сети.</p>



<pre class="wp-block-preformatted">add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan</pre>



<p>Когда я писал статью, завис минут на 10 и не мог понять, почему не работает разрешающее правило для http. Я его несколько раз проверил, все верно было. Тут и ошибиться негде, но страницы из интернета не грузились в браузере. Чтобы разобраться, я просто включил логирование для последнего запрещающего правила.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-07.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-07.png" alt="Логирование заблокированных запросов" class="wp-image-11136"/></a></figure></div>



<p>После того, как сделал это, увидел, что у меня блокируется dns трафик по 53-му порту. После этого сделал для него разрешение и все заработало как надо.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-08.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-08.png" alt="Лог заблокированных пакетов" class="wp-image-11137"/></a></figure></div>



<p>Забыл предупредить. Если вы с нуля настраиваете фаервол в микротик, то доступа в интернет из локальной сети у вас еще нет. Для этого нужно настроить NAT, чем мы займемся в следующем разделе. Так что пока отложите тестирование правил и вернитесь к ним, когда настроите NAT.</p>



<p>Когда у вас что-то не получается, смело включайте логирование запрещающих правил и вы быстро поймете в чем проблема. Это универсальный совет для настройки любого фаервола. Только не забудьте в конце отладки отключить логирование. Иногда я это забывал сделать. Если использовалось какое-то хранилище для логов, оно быстро забивалось, так как в блокирующие правила попадает очень много запросов.</p>



<p>Итак, мы настроили базовый нормально закрытый firewall в микротике. У нас запрещено все, что не разрешено явно, в том числе и для трафика из локальной сети. Скажу честно, я редко так делал, потому что хлопотно постоянно что-то открывать из локальной сети (skype, teamviewer и т.д.). В общем случае, если нет повышенных требований безопасности, в этом нет необходимости. Блокирование не разрешенного трафика можно включать в случае необходимости.</p>


</br>



<p>Итоговый список правил, которые получились:</p>



<pre class="wp-block-preformatted">/ip firewall filter
add action=accept chain=input comment="accept establish &amp; related" connection-state=established,related
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan
add action=accept chain=forward comment="accept established,related" connection-state=established,related
add action=drop chain=forward comment="drop invalid" connection-state=invalid
add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan
add action=accept chain=forward comment="accept http &amp; https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
add action=accept chain=forward comment="accept dns from LAN" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp
add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-09.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-09.png" alt="Список всех правил в Mikrotik" class="wp-image-11138"/></a></figure></div>



<p>Пока у нас еще не настроен выход в интернет для локальной сети. Сделаем это далее, настроив NAT.</p>



<h2 class="wp-block-heading">Настройка NAT в микротик</h2>



<p>С натом в микротике есть один важный нюанс, о котором я не знал, пока не прочитал презентацию одного из сотрудников, которую я в итоге перевел &#8212; My «holy war» against masquerade. Я всегда и везде использовал <strong>masquerade</strong> для настройки NAT. К тому же это действие предлагается и в дефолтной конфигурации. По своей сути masquerade &#8212; частный случай <strong>src-nat</strong>, который следует использовать в том случае, если у вас не постоянный ip адрес на внешнем интерфейсе. Причем, в некоторых случаях с masquerade могут быть проблемы. Какие именно &#8212; описаны в презентации.</p>



<p>Таким образом, если у вас постоянный ip адрес, то для NAT используйте src-nat, если динамический &#8212; masquerade. Разница в настройках минимальна.</p>



<p>Для того, чтобы пользователи локальной сети, которую обслуживает роутер на микротике, смогли получить доступ в интернет, настроим на mikrotik NAT. Для этого идем в раздел&nbsp;<strong>IP -&gt; Firewall</strong>, вкладка&nbsp;<strong>NAT</strong>&nbsp;и добавляем простое правило.</p>



<pre class="wp-block-preformatted">/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1-wan to-addresses=10.20.1.20</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-10.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-10.png" alt="Настройка NAT в Микротик" class="wp-image-11139"/></a></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-11.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-11.png" alt="Настройка src-nat" class="wp-image-11140"/></a></figure></div>



<p>В данном случае 10.20.1.20 ip адрес на wan интерфейсе. Если не постоянный ip адрес на wan интерфейсе, то делаем с masquerade.</p>



<pre class="wp-block-preformatted">add action=masquerade chain=srcnat out-interface=ether1-wan</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-12.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-12.png" alt="Включение masquerade" class="wp-image-11141"/></a></figure></div>



<p>Все, NAT настроен, пользователи могут выходить в интернет. Теперь предлагаю проверить работу firewall, который мы настроили. Сбросьте все счетчики в правилах.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-13.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-13.png" alt="Проверка работы фаервола" class="wp-image-11142"/></a></figure></div>



<p>Теперь сгенерируйте как можно больше трафика и посмотрите, через какие правила он будет идти. Можно воспользоваться сервисом от&nbsp;Яндекса по измерению скорости интернета &#8212;&nbsp;<a href="https://yandex.ru/internet/" target="_blank" rel="noreferrer noopener">https://yandex.ru/internet/</a>.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-14.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-14.png" alt="Статистика обработанных пакетов" class="wp-image-11143"/></a></figure></div>



<p>Большая часть трафика прошла по правилу с established, related соединениям, минимально нагружая роутер своей обработкой в контексте именно фаервола. Особенно это будет актуально, если у вас много правил в firewall. Важно их расположить в правильном порядке.</p>


</br>



<h2 class="wp-block-heading">Проброс портов</h2>



<p>Покажу на простом примере, как при настроенном NAT и включенном фаерволе выполнить проброс порта в mikrotik для доступа к службе в локальной сети.&nbsp;Пробросить порт можно в той же вкладке&nbsp;<strong>NAT</strong>&nbsp;в настройках Firewall.</p>



<p>Для примера выполним&nbsp;<strong>проброс порта rdp</strong>&nbsp;из интернета через микротик. Извне будет открыт порт 41221, а проброс будет идти на локальный адрес 192.168.88.200 и порт 3389.</p>



<pre class="wp-block-preformatted">add action=dst-nat chain=dstnat dst-port=41221 in-interface=ether1-wan protocol=tcp to-addresses=192.168.88.200 to-ports=3389</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-15.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-15.png" alt="Проброс порта в Mikrotik" class="wp-image-11144"/></a></figure></div>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-16.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-16.png" alt="Настройка dst-nat" class="wp-image-11145"/></a></figure></div>



<p>Если у вас остальной фаревол микротика настроен по поему описанию выше, то проброс порта уже заработает и больше ничего делать не надо. Так как у нас правило на блокировку запросов из вне в локальную сеть сделано с учетом исключения цепочки dstnat, все будет работать сразу. Напоминаю это правило.</p>



<pre class="wp-block-preformatted">add action=drop chain=forward comment="drop all from WAN to LAN" <strong>connection-nat-state=!dstnat</strong> connection-state=new in-interface=ether1-wan</pre>



<p>Если вы настраивали firewall ранее по каким-то другим материалам, там могло быть другое правило, без учета dstnat, например вот так:</p>



<pre class="wp-block-preformatted">add action=drop chain=forward comment="drop WAN -&gt; LAN" in-interface=ether1-wan out-interface=bridge1-lan</pre>



<p>К такому правилу надо обязательно&nbsp;<strong>выше</strong>&nbsp;добавить разрешающее, примерно вот так:</p>



<pre class="wp-block-preformatted">add action=accept chain=forward comment="accept WAN -&gt; LAN RDP" dst-address=192.168.88.200 dst-port=3389 in-interface=ether1-wan protocol=tcp</pre>



<p>Я настоятельно не рекомендую открывать доступ к rdp порту для всего интернета. Обязательно настройте ограничение доступа по ip к этому порту, если такое возможно. Если невозможно, то не пробрасывайте порт, а сделайте доступ по vpn. Ограничение по ip делается просто. Добавляем еще один параметр <strong>Src. Address</strong> в правило проброса порта.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-18.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-18.png" alt="Ограничение доступа по ip к проброшенному порту" class="wp-image-7897"/></a></figure></div>



<p>Если используется список ip адресов, который будет меняться, проще сразу в правиле проброса указать на список, а потом править уже сам список. Для этого его надо создать. Создать список ip можно на вкладке&nbsp;<strong>Address List</strong>. Добавим список:</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-19.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-19.png" alt="Создание списка ip в микротик" class="wp-image-7898"/></a></figure></div>



<p>Возвращаемся в правило проброса порта, переходим на вкладку&nbsp;<strong>Advanced</strong>&nbsp;и добавляем указанный список в Src. Adress List</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-20.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-20.png" alt="Ограничение доступа по списку ip" class="wp-image-7899"/></a></figure></div>



<p>Теперь для изменения списка доступа к проброшенному порту не надо трогать само правило. Достаточно отредактировать список.</p>



<p>На этом по настройке NAT и пробросу портов на Mikrotik все. Надеюсь, у меня получилось подробно и понятно объяснить основные моменты и некоторые нюансы.</p>



<h2 class="wp-block-heading">Защита подключения через winbox</h2>



<p>Расскажу отдельно о том, как защитить подключение по winbox с помощью firewall. В микротиках время от времени находят критические уязвимости. Единственным способом надежно от них защититься &#8212; ограничить доступ к winbox с помощью фаервола. После этого можно спать спокойно и делать обновления системы не экстренно, после публикации уязвимости, а планово.</p>



<p>В рассмотренном ранее списке правил для фаервола заблокированы все внешние подключения полностью. Это самый безопасный вариант настроек. Иногда нужен доступ к удаленному управлению. Если невозможно создать статический список ip адресов, для которых будет разрешено подключение, то выходом в этом случае настроить vpn сервер на микротике и подключаться через vpn. Это хоть и менее безопасно прямого ограничения на уровне списка ip адресов, но все равно значительно лучше, чем оставлять доступ через winbox без ограничения через интернет.</p>



<p>Тема настройки vpn в mikrotik выходит за рамки данной статьи. Читайте отдельный материла на этот счет. Сделаем простое ограничение доступа к управлению на уровне ip. Для начала создадим список IP адресов, которым будет разрешено подключаться удаленно к winbox.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-21.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-21.png" alt="Защита winbox" class="wp-image-7900"/></a></figure></div>



<p>Добавляем правило в Firewall. Оно должно быть выше правила, где блокируются все входящие соединения.</p>



<pre class="wp-block-preformatted">add action=accept chain=input comment="accept management for white-list" dst-port=8291 in-interface=ether1-wan protocol=tcp src-address-list=winbox_remote</pre>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-22.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-22.png" alt="Ограничение доступа через winbox" class="wp-image-7901"/></a></figure></div>



<p>В вкладке Advanced указываем список:</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-23.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-23.png" alt="Список ip для подключения по winbox" class="wp-image-7902"/></a></figure></div>



<p>В разделе&nbsp;<strong>action</strong>&nbsp;ставим accept. Так мы обезопасили удаленный доступ через winbox. Считаю это самым простым и безопасным способом защиты микротика. Если есть возможность ограничений по ip, всегда используйте. Это универсальный способ, годный для любого случая и системы, не только в отношении Mikrotik.</p>



<p>В современном мире ИТ постоянно находят уязвимости. Невозможно всегда оперативно ставить обновления. Зачастую, эти обновления могут либо нарушить работу системы, либо содержать другие уязвимости. Только ограничение доступа к службам и системам позволяет более ли менее надежно защититься и спать спокойно, не торопясь обновляться со всех ног при обнаружении очередной критической уязвимости.</p>



<p>Итоговый список правил после всех наших настроек в этой статье должен получиться примерно таким.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-17.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-17.png" alt="Полный список правил firewall" class="wp-image-11146"/></a></figure></div>



<h2 class="wp-block-heading">Fasttrack</h2>



<p>В дефолтном правиле firewall mikrotik включен режим&nbsp;<a href="https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack" target="_blank" rel="noreferrer noopener">Fasttrack</a>. Я в своих правилах его обычно не использую. Попробую своими словами объяснить, что это такое. Я долго пытался вникнуть в суть этой технологии, когда разбирался.</p>



<p>Fasttrack &#8212; проприетарная технология Mikrotik, позволяющая маркировать ip пакеты для более быстрого прохождения пакетного фильтра. Включить режим маркировки пакетов fasttrack очень просто. Достаточно добавить в цепочку forward первым следующее правило:</p>



<pre class="wp-block-preformatted">/ip firewall filter add <strong>action=fasttrack-connection</strong> chain=forward comment=fasttrack connection-state=established,related</pre>



<p>Дальше остаются все те же самые правила, что я описал ранее в статье.</p>


</br>



<p>В этом режиме пакеты перемещаются по упрощенному маршруту в пакетном фильтре, поэтому не работают следующие технологии обработки пакетов:</p>



<ul><li>firewall filter;</li><li>mangle rules;</li><li>queues с parrent=global;</li><li>IP accounting;</li><li>IPSec;</li><li>hotspot universal client;</li><li>VRF;</li></ul>



<p>За счет того, что маршрут обработки пакетов более короткий, он меньше нагружает процессор в ущерб функционалу. Если вы ничего из перечисленного не используете, то можно пользоваться fasttrack. Однако, чаще всего нужны queues, поэтому от него приходится отказываться. Если же у вас не используются очереди и какие-то особенные правила в firewall, то можете использовать технологию.</p>



<p>Чтобы убедиться, что режим fasttrack работает, можно посмотреть раздел&nbsp;<strong>Mangle</strong>. Счетчик с маркированными пакетами должен расти.</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-18.png" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2020/03/mikrotik-firewall-nastroyka-18.png" alt="Fasttrack mangle" class="wp-image-11147"/></a></figure></div>



<p>И в завершении по fasttrack важное замечание &#8212; он не работает в CHR. Я с этим столкнулся лично, когда тестировал. У меня тестовое окружение настроено на CHR и там fasttrack не работал. Причем его можно включить, но все счетчики пакетов будут нулевыми. Реально технология не работает.</p>



<h2 class="wp-block-heading">Как на микротике отключить файрвол</h2>



<p>Для того, чтобы полностью отключить Firewall на микротике, достаточно просто отключить или удалить все правила в списке. По умолчанию, в mikrotik используются разрешающие правила. Все, что не запрещено &#8212; разрешено, то есть firewall нормально открытый. Если у вас нет ни одного активного правила, можно считать, что файрвол отключен, так как он пропускает все соединения без ограничений.</p>



<p>Вот пример отключенного фаервола на микротике <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-25.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2019/01/mikrotik-firewall-25.png" alt="Отключение firewall на mikrotik" class="wp-image-7904"/></a></figure></div>



<p>Итоговый список правил, настроенный по этой статье, получился вот такой:</p>



<pre class="wp-block-code"><code>/ip firewall address-list
add address=10.20.1.1 list=winbox_remote
/ip firewall filter
add action=accept chain=input comment="accept establish &amp; related" connection-state=established,related
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=accept chain=input comment="accept management for white-list" dst-port=8291 in-interface=ether1-wan protocol=tcp src-address-list=winbox_remote
add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan
add action=accept chain=forward comment="accept established,related" connection-state=established,related
add action=drop chain=forward comment="drop invalid" connection-state=invalid
add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan
add action=accept chain=forward comment="accept http &amp; https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
add action=accept chain=forward comment="accept dns from lan" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp
add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1-wan
add action=dst-nat chain=dstnat dst-port=41221 in-interface=ether1-wan protocol=tcp to-addresses=192.168.88.200 to-ports=3389</code></pre>



<h2 class="wp-block-heading">Заключение</h2>



<p>На этом все по базовой настройке firewall на mikrotik. Постарался показать максимально подробно базовый набор&nbsp;правил фаервола для обеспечения безопасности и защиты локальной сети и самого роутера.</p>



<p>Мой список правил не сильно отличается от дефолтного. Привел его последовательно по правилу, чтобы просто объяснить логику, как нужно рассуждать и действовать при добавлении правил. В качестве самостоятельной работы предлагаю добавить правило, разрешающее пинги из локальной сети в интернет. Если самостоятельно не получилось сделать, напишите в комментарии, я приведу рабочий пример.</p>



<p>Тема эта обширная, наверняка у кого-то есть замечания и свои советы по предложенной настройке. Тут нет универсальных правил на все случаи жизни. Firewall в микротике основан на линуксовых iptalbes, а&nbsp; это безграничное поле для маневра.</p>
<p>Сообщение <a href="https://clip-clap.ru/it/mikrotik/%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%84%d0%b0%d0%b5%d1%80%d0%b2%d0%be%d0%bb%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8/">Базовая настройка фаервола в Микротик</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://clip-clap.ru/it/mikrotik/%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d1%84%d0%b0%d0%b5%d1%80%d0%b2%d0%be%d0%bb%d0%b0-%d0%b2-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%82%d0%b8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mikrotik логирование на удаленный сервер rsyslog</title>
		<link>https://clip-clap.ru/it/mikrotik/mikrotik-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-rsyslog/</link>
					<comments>https://clip-clap.ru/it/mikrotik/mikrotik-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-rsyslog/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sun, 02 Aug 2020 09:47:00 +0000</pubDate>
				<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[rsyslog]]></category>
		<category><![CDATA[логирование]]></category>
		<guid isPermaLink="false">https://clip-clap.ru/?p=1507</guid>

					<description><![CDATA[<p>Возникло желание собирать логи с роутера Mikrotik. Была нужна информация о подключенных по pptp абонентах и логи firewall для настройки. По-умолчанию, Mikrotik пишет все</p>
<p>Сообщение <a href="https://clip-clap.ru/it/mikrotik/mikrotik-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-rsyslog/">Mikrotik логирование на удаленный сервер rsyslog</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Возникло желание собирать логи с роутера Mikrotik. Была нужна информация о подключенных по <strong>pptp</strong> абонентах и <strong>логи firewall</strong> для настройки. По-умолчанию, Mikrotik пишет все логи в лог журнал, который можно просмотреть через winbox. Стандартно, там хранятся последние 100 строк лога.</p>


</br>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://serveradmin.ru/wp-content/uploads/2014/09/2014-09-24-18-43-08-Skrinshot-e%60krana.png"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2014/09/2014-09-24-18-43-08-Skrinshot-e%60krana.png" alt="Mikrotik logging" class="wp-image-417"/></a></figure></div>



<h2 class="wp-block-heading">Настраиваем удаленный сервер&nbsp;rsyslog</h2>



<p>У меня в хозяйстве имелся сервер Debian. Решил хранить логи с микротиков именно на нем. В составе Debian уже имеется сервис сбора логов с удаленных источников&nbsp;<strong>rsyslog</strong>. Необходимо только включить в нем необходимый функционал.&nbsp;Правим файл&nbsp;<strong>/etc/rsyslog.conf</strong>:</p>



<p>Раскомментируем строки</p>



<pre class="wp-block-preformatted"># provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514</pre>


</br>



<p>чтобы получать логи по UDP, либо</p>



<pre class="wp-block-preformatted"># provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514</pre>



<p>чтобы получать логи по TCP</p>



<p>И в секцию&nbsp;RULES добавим несколько строк для удобного хранения файлов логов от разных удаленных источников:</p>



<pre class="wp-block-preformatted"># Зададим шаблон создания имен файлов (на основании IP адреса клиента)
$template FILENAME,"/var/log/!remote/%fromhost-ip%/syslog.log"</pre>



<pre class="wp-block-preformatted"># Укажем сохранять сообщения от любого источника (*) с любым приоритетом (*) в файл, заданный шаблоном
# Например, клиенты (10.0.0.2,10.0.0.3...) будут раскладываться в соответствующие каталоги /var/log/10.0.0.2/syslog.log
 *.* ?FILENAME</pre>



<p>Перезапускаем rsyslog для применения настроек:</p>



<pre class="wp-block-preformatted">/etc/init.d/rsyslog restart</pre>



<p>Теперь наш сервер готов принимать логи с удаленных источников. Хранить он их будет в папке /var/log/!remote Для каждого источника будет создана папка с именем IP адреса этого источника.</p>


</br>



<h2 class="wp-block-heading">Настраиваем пересылку&nbsp;логов в Mikrotik</h2>



<p>Теперь настраиваем в роутере хранение логов на удаленном сервере. Для этого заходим в раздел&nbsp;<strong>System -&gt; Logging</strong>, выбираем закладку&nbsp;<strong>Actions</strong>, два раза щелкаем по строчке remote. Открывается окно настроек. В нем вводим адрес удаленного сервера сбора логов. Порт на свое усмотрение либо оставляем по-умолчанию, либо меняем на свой. Больше ничего добавлять не надо.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2014/09/2014-09-24-18-59-49-Skrinshot-e%60krana.png" alt="настройка логов в mikrotik" class="wp-image-425"/></figure></div>



<p>Дальше в разделе&nbsp;<strong>Rules</strong>&nbsp;создаем необходимое правило хранения:</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2014/09/2014-09-24-19-05-15-Skrinshot-e%60krana.png" alt="Правила для логов в mikrotik" class="wp-image-428"/></figure></div>



<p>Все готово. Теперь все наши логи будут храниться на удаленном сервере. Необходимо не забыть настроить ротацию логов, дабы в один прекрасный день они не заняли все свободное место.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://serveradmin.ru/wp-content/uploads/2014/09/2014-09-24-19-07-55-Skrinshot-e%60krana-2.png" alt="запись логов с mikrotik в rsyslog" class="wp-image-429"/></figure></div>


</br>
<p>Сообщение <a href="https://clip-clap.ru/it/mikrotik/mikrotik-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-rsyslog/">Mikrotik логирование на удаленный сервер rsyslog</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://clip-clap.ru/it/mikrotik/mikrotik-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%bd%d0%b0-%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-rsyslog/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Кэширование страницы с использованием Disk: Enhanced 
Минифицировано с помощью Disk
Кэширование БД с использованием Disk (Request-wide (широкий запрос) modification query)

Served from: clip-clap.ru @ 2026-06-17 05:04:53 by W3 Total Cache
-->