Нередко у нас возникает необходимость дать доступ снаружи к компьютерам, которые находятся за NAT-ом в нашей локальной сети. Будь то веб-сервер или персоналка, к которой надо дать доступ снаружи по протоколу RDP, чтобы сотрудник мог работать из дома используя «Удаленный рабочий стол». Сегодня расскажу, как пробросить порты на роутере MikroTik используя dst-nat.
В статье, посвященной настройке DHCP-сервера, я раздал IP-адреса двум компьютерам: 192.168.33.2 и 192.168.33.129. Пусть первый будет веб-сервером, а второй будет персоналкой. Соответственно, для веб-сервера нам нужно пробросить, как минимум 80-ый порт, а для персоналки — порты для удовлетворения хотелок пользователя. А пользователь хочет удаленный рабочий стол. Пусть нашим внешним ip будет 1.1.1.1 на интерфейсе inetTest.
Проброс портов в winbox
Открываем IP — Firewall — NAT, жмем «+»
Chain — цепочка, в которой будет обрабатываться правило. Выбираем dstnat.
Src. Address — адрес источника. Если мы хотим указать конкретный адрес, то забиваем сюда. Но т.к. веб-сервер должен быть доступен всем, то я это поле не заполняю.
Dst. Address — адрес, к которому будут обращаться клиенты извне. В данном примере это адрес 1.1.1.1. Можно этот адрес не указывать, но в этом случае нужно будет обязательно указать In. Interface
Protocol — выбираем TCP.
Dst. port — порт, к которому будут обращаться клиенты извне. Для веб-сервера по-умолчанию это порт 80.
In. Interface — интерфейс, который смотрит наружу. В нашем случае это интерфейс inetTest.
Остальные параметры нам в этой статье неинтересны, поэтому переходим на вкладку Action.
Action — выбираем dst-nat.
To Addresses — пишем IP-адрес нашего веб-сервера в локальной сети.
To Ports — порт 80.
Этого, собственно, достаточно. Но есть один очень важный момент. У роутера MikroTik есть встроенный веб-сервер, который висит на том же дефолтном порту 80. Надо его оттуда убрать. Заходим в IP — Services и меняем там порт службы www с 80-го, на произвольный.
Процесс создания правила проброса порта RDP для персоналки аналогичен вышеописанному.
Хотел бы только сказать, что такой простой проброс RDP чертовски небезопасен и использовать его в таком виде крайне не рекомендую. Если известен удаленный IP-адрес, с которого будет производиться подключение, обязательно его указывайте в поле Src. Address. Это как минимум. А лучше вообще используйте VPN (легко поднимается на MikroTik) вместо банального проброса порта. Если уж сильно нужен именно проброс порта и неизвестен адрес источника, то есть еще такая штука, port knocking называется. Так же можно реализовать на MikroTik, но это материал для отдельной заметки — читайте статью Port knocking MikroTik .
Здесь проброс RDP используется только в качестве примера проброса порта, а не как призыв открывать небезопасный доступ к своим рабочим столам всему интернету.
Проброс портов — скрипты
В скриптах я добавил еще одно правило для протокола HTTPS на веб-сервер, а для проброса RDP использовал нестандартный порт.
1 2 3 4 5 6 7 8 9 10 11 |
# # # WEB Server 192.168.33.2 HTTP port 80 /ip firewall nat add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1 dst-port=80 in-interface=inetTest protocol=tcp to-addresses=192.168.33.2 to-ports=80 # WEB Server 192.168.33.2 HTTPS port 443 add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1 dst-port=443 in-interface=inetTest protocol=tcp to-addresses=192.168.33.2 to-ports=443 # RDP PC 192.168.33.129 add action=dst-nat chain=dstnat comment=test dst-address=1.1.1.1 dst-port=4565 in-interface=inetTest protocol=tcp to-addresses=192.168.33.129 to-ports=3389 |
Для RDP dst-port указан 4565, который MikroTik перенаправит на персоналку 192.168.33.129 на стандартный порт RDP — 3389. Соответственно, удаленному пользователю при подключению к удаленному рабочему столу надо будет так же указать и порт: 1.1.1.1:4565
Естественно, не забудьте разрешить в файерволе входящие соединения на внешний интерфейс (у нас inetTest) на порты, которые мы собираемся пробросить (в этом примере 80, 443, 4565).
В этой статье я использовал самый простой пример, но думаю, для базового уровня этого достаточно.
До новых встреч!
Реклама: