Меню
Контакты
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Дайджест от Mikrotik: блокирование сайтов и проброс портов с помощью роутера

 21 Окт 2017    MikroTik, О настройках и установке оборудования производителя Mikrotik, Практика и программирование MikroTik

Блокирование сайтов по имени

В MikroTik RouterOS, начиная с версии 6.36, появилась возможность указывать DNS-имена сайтов в адрес-листах, а роутер сам определяет их IP-адреса или диапазоны IP-адресов. Поэтому процесс блокировки сайтов с помощью фаервола существенно упростился.

В RouterOS 6.36 и выше откройте меню NewTerminal и выполните следующие команды для блокировки сайтов:


# Добавляем список запрещенных сайтов с названием BlockedSites
/ip firewall address-list add list=BlockedSites address=youtube.com disabled=no
/ip firewall address-list add list=BlockedSites address=vk.com disabled=no
/ip firewall address-list add list=BlockedSites address=ok.ru disabled=no

# Добавляем в фаервол правило блокировки сайтов из списка BlockedSites
/ip firewall filter add chain=forward src-address-list=BlockedSites protocol=tcp action=reject reject-with=tcp-reset comment="BlockedSites" disabled=no

# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment="BlockedSites"] 1

Cписок запрещенных сайтов можно редактировать в меню IP - Firewall на вкладке Address Lists.

Правило блокировки находится в меню IP - Firewall на вкладке Filter Rules.

RouterOS по имени сайта неплохо определяет диапазоны IP-адресов, но не идеально. Мне не удалось с помощью данного способа заблокировать сайты facebook.com и instagram.com, поскольку MikroTik нашел не все необходимые диапазоны IP-адресов. Пришлось вручную найти необходимые IP-адреса и добавить их. Как это сделать, написано ниже.

Блокирование сайтов по IP-адресу

Фаервол позволяет заблокировать сайт по его IP-адресу. Узнать IP-адрес сайта можно в Windows, набрав в консоли команду nslookup имя сайта, например nslookup vk.com.

Узнать IP-адрес сайта

Чтобы выполнить команду nslookup в маршрутизаторе MikroTik, откройте меню New Terminal и выполните команду-аналог put [:resolve vk.com]

откройте меню New Terminal и выполните команду-аналог put

Сайты социальных сетей имеют много серверов с разными IP-адресами и вышеуказанные команды могут не показать адреса всех серверов. Поэтому лучше всего с помощью онлайн сервисов whois узнать, какие сети принадлежат данной социальной сети. Например, Vkontakte Ltd принадлежит сеть 87.240.128.0/18 и 93.186.224.0/22.

В поиске IP-адресов также поможет сервис bgp.he.net

 

поиск IP-адресов

После того, как мы узнали нужные нам IP-адреса, выполните в терминале MikroTik следующие команды:


# Добавляем список запрещенных IP-адресов с названием BlockedSites
/ip firewall address-list add list=BlockedSites address=87.240.143.244 disabled=no
/ip firewall address-list add list=BlockedSites address=87.240.128.0/18 disabled=no
/ip firewall address-list add list=BlockedSites address=93.186.224.0/22 disabled=no

# Добавляем в фаервол правило блокировки IP-адресов из списка BlockedSites
/ip firewall filter add chain=forward src-address-list=BlockedSites protocol=tcp action=reject reject-with=tcp-reset comment="BlockedSites" disabled=no

# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment="BlockedSites"] 1

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

Блокирование сайтов с помощью статических DNS записей

Заблокировать доступ к сайту можно также, создав статическую DNS запись с названием сайта и несуществующим IP адресом для него, например 127.0.0.1. Перед именем сайта бывает автоматически приписывается www, поэтому нужно создавать две записи, например odnoklassniki.ru и www.odnoklassniki.ru

Откройте меню NewTerminal и выполните следующие команды для блокировки одноклассников:


/ip dns static add name="odnoklassniki.ru" address=127.0.0.1
/ip dns static add name="www.odnoklassniki.ru" address=127.0.0.1

У пользователей заблокированные сайты еще будут открываться некоторое время, потому что на компьютерах есть DNS кэш, в котором временно хранятся имена посещенных сайтов и их IP адреса. Для очистки DNS кэша на компьютере нужно запустить командную строку cmd и ввести команду ipconfig /flushdns.

Такой способ блокирования сайтов будет работать только в том случае, если пользователь использует DNS сервер центрального роутера MikroTik. Если пользователь настроит вручную другой адрес DNS сервера, то ограничение работать не будет. Поэтому все DNS запросы необходимо завернуть на наш роутер. Для этого откройте меню New Terminal и выполните следующие команды:


/ip firewall nat add chain=dstnat protocol=udp dst-port=53 action=redirect add chain=dstnat protocol=tcp dst-port=53 action=redirect

Далее перейдите в меню IP - Firewall и на вкладке NAT переместите созданные правила вверх. Теперь все DNS запросы будут идти через наш роутер.

перейдите в меню IP - Firewal

Блокирование сайтов с помощью Proxy-сервера

Закрыть доступ к сайтам можно также с использованием прозрачного proxy-сервера MikroTik.

Разрешим использование прокси-сервера и настроим его. Для этого откройте New Terminal и выполните следующие команды:


/ip proxy set enabled=yes
set src-address=0.0.0.0
set port=8080
set parent-proxy=0.0.0.0
set parent-proxy-port=0
set cache-administrator="webmaster"
set max-cache-size=none
set cache-on-disk=no
set max-client-connections=600
set max-server-connections=600
set max-fresh-time=3d
set always-from-cache=no
set cache-hit-dscp=4
set serialize-connections=no

Делаем proxy-сервер прозрачным:


/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080

Закрываем доступ к прокси-серверу со стороны Интернета:


/ip firewall filter add chain=input in-interface= protocol=tcp dst-port=8080 action=drop

Вводим команду блокировки сайта:


/ip proxy access add dst-host=www.odnoklassniki.ru action=deny

Проброс портов в роутере MikroTik

Проброс портов в роутере MikroTik (port forwarding) позволяет организовать удаленный доступ из интернета к какому-нибудь устройству внутри вашей локальной сети (к IP-камере, Web, FTP или игровому серверу).

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

  1. Откройте меню IP - Cloud
  2. Поставьте галочку DDNS Enabled
  3. Нажмите кнопку Apply
  4. Если после этого отобразиться статус "updated" без ошибок, то у вас белый IP-адрес.

Откройте меню IP - Cloud

Если в правом нижнем углу отображается ошибка типа "DDNS server received request from IP 67.170.73.47 but your local IP was 104.12.152.1; DDNS service might not work.", то у вас серый IP-адрес. В этом случае вам нужно обратиться к провайдеру для получения белого IP-адреса. У некоторых провайдеров это платная услуга.

имеется роутер MikroTik с белым IP-адресом

Итак, у нас имеется роутер MikroTik с белым IP-адресом 178.189.224.122. Он имеет внутреннюю подсеть 192.168.88.0/24.

Внутри подсети есть IP-камера с адресом 192.168.88.250, у которой есть Web-интерфейс, работающий на 80 порту. Нам нужно обеспечить доступ из интернета к Web-интерфейсу IP-камеры.

Схема сети

Необходимо сделать так, чтобы при открытии в браузере адреса http://178.189.224.122:10000, мы попадали на Web-интерфейс IP-камеры.

10000 в адресной строке - это произвольный номер порта. Его желательно указывать в диапазоне от 49152 до 65535. Можно также использовать диапазон от 1024 до 49151, если вы уверены, что указанный порт не будет конфликтовать с какой-то программой.

Для проброса портов в роутере MikroTik откройте меню New Terminal и выполните команды, описанные ниже:

откройте меню New Terminal

Первым делом добавляем правило маскарадинга для подсети 192.168.88.0/24


/ip firewall nat add action=masquerade chain=srcnat src-address=192.168.88.0/24

Далее обращения из интернета к порту 10000, перенаправляем во внутреннюю сеть на устройство 192.168.88.250 и порт 80.


/ip firewall nat add action=netmap chain=dstnat dst-port=10000 in-interface=ether1 protocol=tcp to-addresses=192.168.88.250 to-ports=80

Обращения из локальной сети к внешнему IP-адресу 178.189.224.122 и порту 10000 перенаправляем в локальную сеть на устройство 192.168.88.250 и порт 80, а не в Интернет.


/ip firewall nat add action=netmap chain=dstnat dst-address=178.189.224.122 dst-port=10000 in-interface=bridge protocol=tcp src-address=192.168.88.0/24 to-addresses=192.168.88.250 to-ports=80

Созданные правила можно посмотреть в меню IP - Firewall на вкладке NAT.

в меню IP - Firewall на вкладке NAT

Теперь открываем в браузере адрес http://178.189.224.122:10000. Появляется окно с вводом пароля.

открываем в браузере

Вводим логин, пароль и попадаем на Web-страничку с видео и настройками IP-камеры.

попадаем на Web-страничку

Я еще захотел просматривать видео на планшете в полноэкранном режиме без использования Web-интерфейса. В этом поможет программа VLC media player. Она может отображать видеопоток по протоколу RTSP, который поддерживает моя камера TP-Link. Протокол RTSP использует порт 554, поэтому его нужно пробросить в роутере MikroTik.

Обращения из интернета к порту 554, перенаправляем во внутреннюю сеть на устройство 192.168.88.250 и порт 554.


/ip firewall nat add action=netmap chain=dstnat dst-port=554 in-interface=ether1 protocol=tcp to-addresses=192.168.88.250 to-ports=554

Обращения из локальной сети к внешнему IP-адресу 178.189.224.122 и порту 554 перенаправляем в локальную сеть на устройство 192.168.88.250 и порт 554, а не в интернет.


/ip firewall nat add action=netmap chain=dstnat dst-address=178.189.224.122 dst-port=554 in-interface=bridge protocol=tcp src-address=192.168.88.0/24 to-addresses=192.168.88.250 to-ports=554

Теперь запускаем на планшете программу VLC media player и выбираем открыть Сетевой ресурс. В ОС Windows в VLC media player нужно открыть меню Медиа - Открыть URL.

Медиа - Открыть URL

Вводим адрес rtsp://login:passwd@178.189.224.122/video.mp4

, где login - логин для доступа к IP-камере, passwd - пароль для доступа к IP-камере, 178.189.224.122 - внешний IP-адрес роутера.

Строка RTSP запроса для вашей модели камеры может отличаться. Поэтому уточните на сайте производителя или в документации к камере, как она правильно прописывается. Также удостоверьтесь, что ваша камера поддерживает протокол RTSP и он включен в настройках.

Строка RTSP запроса для вашей модели камеры

Далее нажмите Открыть сетевой ресурс. В нижней части появится миниатюра видео с камеры. Нажмите на нее.

Открыть сетевой ресурс

После этого видео на планшете откроется в полноэкранном режиме.

видео на планшете откроется в полноэкранном режиме

Источник: "Блокирование сайтов в роутере MikroTik" и "Проброс портов в роутере MikroTik"