- Устанавливаем Microtik в роли шлюза в локальной сети c 2-мя подсетями. Проброс портов
- Создаём интерфейсы
- Создаём мост
- Указываем адреса портам, шлюз, DHCP, DNS
- NAT. Srcnat, dstnat и masquerade
- Подключение к локальной сети по RDP из интернета
- Проброс портов для веб-сайта внутри сети
- Настройка FTP. Проброс портов и правило
- Сохранение и восстановление конфигурации
- Объединение сегментов сети статическими маршрутами
- [edit] Создание подсетей
- [edit] Пример
- [edit] Настройка статических маршрутов
- [edit] Готово
Устанавливаем Microtik в роли шлюза в локальной сети c 2-мя подсетями. Проброс портов
Взял себе в сеть Mikrotik RB1100Dx4 Dude edition вместо бывшего сервера на Untangle.
Для управления устройствами Mikrotik скачиваем WinBox (https://mikrotik.com/download#), установки она не требует.
Запускаем WinBox. Во вкладке Neighbors видим MAC адрес нашего микротика, соединяемся, логин по умолчанию — admin, пароля нет.
Для начала обновляем прошивку — Quick Set — Check for Updates — Autoupgrade, я обновился с 6.38.4 до 6.43.2.
Для установки Dude качаем её на том же сайте, идём в System — Discs — форматируем наш диск, загружаем нашу routeros-arm-6.43.2, перезагружаем микротик (system — reboot), прошивка сама поставится.
Установив себе Dude Client запускаем Device Discovery, чтобы увидеть всю оргтехнику, компьютеры, серверы, коммуникационное оборудование и построить сеть.
К 1-му порту подключаем кабель провайдера Интернет, ко второму я подключил коммутатор из подсети 1 (у меня стоит 2 свитча 48 портовых), к третьему — из подсети 0 (подсоединил к 16 портовому свитчу с камерами).
Удаляем конфигурацию по умолчанию, нажав на Remove Configuration.
Создаём интерфейсы
Открываем Interfaces, мы подключили интернет кабель в первый порт- ether1, переименуем его в WAN для удобства.
Открываем интерфейсы ether2, для себя переименовал в LAN1 TO SWITCH (подсеть 192.168.1.х), ether3 в LAN2 TO VIDEO (подсеть 192.168.0.х).
На интерфейсе LAN1 параметр Master Port оставляем в положении «none», в LAN2 этот параметр ставим в LAN1, чтобы порты были объединены в коммутатор, без этого они не будут общаться.
Создаём мост
Мост нужен для объединения портов выше к примеру с интерфейсом Wi-fi, у меня его нет, но мы создадим его для связи двух подсетей, во второй у меня работают только IP камеры.
В меню Bridge жмем + называем — LAN-bridge, переходим во вкладку Ports , жмем на + и добавляем в мост только LAN1, т.к. он мастер порт, связь с состальными уже будет.
Повторяем такое же действие делаем для интерфейса LAN2.
Указываем адреса портам, шлюз, DHCP, DNS
Заходим в IP — Adresses,
- для интерфейса WAN у нас будет адрес от провайдера интернет,
- для интерфейса LAN1 будет 192.168.1.254/24, шлюз сети рабочих станций 192.168.1.254,
- для интерфейса LAN2 — 192.168.0.254/24 (запись /24 эквивалентна /255.255.255.0), шлюз сети с камерами — 192.168.0.254.
Аккуратнее пишите слово шлюз, когда я начал проверять статью, то вместо «шлюз» у меня было в нескольких местах «шлюх», т.к. «Х» и «З» рядом на клавиатуре.
Указываем роутеру, какими DNS-серверами пользоваться ему самому через меню IP -> DNS, вводим DNS провайдера.
Укажем шлюз провайдера в Gateway, IP -> Routes новый маршрут, нажав + , присвоим параметр Dst. Address — 0.0.0.0/0 (то есть все сети).
DHCP-сервер там же, IP -> DHCP Server и нажимаем кнопку DHCP Setup,
- выбираем интерфейс, на котором будут раздаваться IP-адреса — LAN-bridge,
- вводим пулы адресов, которые будут раздаваться,
- ставим наши шлюзы: 0.254 и 1.254,
- для 1.254 ставим наши внутренний DNS, у меня они 192.168.1.2 и 192.168.1.3
NAT. Srcnat, dstnat и masquerade
Network address translation или трансляция сетевых адресов — это процесс перевода внутренних адресов во внешние. NAT запрещает или разрешает доступ внутри сети по конкретному IP адресу или диапазону адресов.
Для функционирования NAT необходимо наличие NAT-шлюза, который перезаписывает путь следования пакета от и к локальной сети. Таким образом клиент, который обращается к ресурсу не видит действительного IP адреса ресурса. NAT переводит внутренний IP в адрес, который будет виден из интернета.
Для Микротика есть два типа NAT
- srcnat— для пакетов, исходящих из сети. NAT маршрутизатор, при прохождении через него пакета, заменяет персональный IP адрес исходящего пакета на новый общедоступный IP адрес. Обратная операция применяется к пакетам, следующим в противоположном направлении.
- dstnat— для пакетов, которые следуют в сеть. Нужен для настройки доступа хостов внутренней сети для сети Интернет. NAT маршрутизатор, применяя действие dstnat, подменяет IP адреса назначения всех IP пакетов идущих через маршрутизатор в приватную сеть.
В меню IP -> Firewall -> NAT жмем +. Во вкладке General параметр Chain ставим в положение scrnat (для доступа из локальной сети во внешний мир), Out. Interface — в WAN.
Переходим во вкладку Action , и ставим параметр Action в положение masquerade.
Masquerade — это замена адреса источника IP пакета на автоматически определенный адрес средствами маршрутизации, он является формой srcnat, но без необходимости уточнения to-address – IP адрес исходящего интерфейса назначается автоматически.
Redirect является формой dstnat, без использования to-address – вместо него используется IP адрес входящего интерфейса.
Подключение к локальной сети по RDP из интернета
Нужная вещь в сетке, нам нужен доступ снаружи в сеть по RDP (также пойдет для ssh, snmp, torrent, и т.д.). Нам нужны 2 правила.
Идём Ip -> Firewall -> Nat -> New Nat Rule.
- Выбираем dstnat, для rdp выбираем протокол tcp, dst.port ставим тот порт, к которому будем обращаться извне, 33889 например или несколько через запятую, и интерфейс внешний ставим WAN.
Во вкладке action выбираем dst-nat и IP-адрес с портом (3389 для RDP) того компьютера, к которому подключаемся в локальной сети. - Также создаем еще одно правило Nat: выбираем srcnat, протокол tcp и вписываем туда dst.address и port машины нашей локальной сети (в моем случае это сервер 1С) к которой нужно подключиться.
Во вкладке action выбираем masquerade. Без него проброс портов не шел.
Теперь для удаленного подключения нужно ввести «ваш внешний белый ip:33889».
Проброс портов для веб-сайта внутри сети
Если есть сайт, располагающийся на сервере внутри локальной сети, то чтобы дать доступ к нему снаружи делаем проброс:
Идём Ip -> Firewall -> Nat -> New Nat Rule.
- Выбираем dstnat, dst.address — внешний ip сайта, протокол tcp, dst.port ставим 80, и интерфейс внешний ставим наш WAN.
- Во вкладке action выбираем dst-nat и IP-адрес локальной машины с сайтом и ставим порт 80.
Настройка FTP. Проброс портов и правило
Ip -> Firewall -> Nat -> New Nat Rule:
- Выбираем dstnat, dst.address — внешний ip, протокол tcp, dst.port ставим к примеру 34444, интерфейс WAN.
- Во вкладке action выбираем dst-nat и IP-адрес полки дисковой, или где у вас там будет FTP, порт 21.
- Также создаю такое же правило, но в action ставим диапазон портов на полке дисковой, к примеру 55536-57583.
Теперь создаём новое Filter Rule в Firewall:
FTP был на дисковой полке, поэтому в ней создался пользователь с FTP правами.
Сохранение и восстановление конфигурации
Всё готово. Сохраняем конфигурацию: files — backup — вводим имя и жмём Save.
P.S. еще навёл немного марафета со свичами из того, что было под рукой. Не идеально, как у перфекционистов, но уже лучше.
Объединение сегментов сети статическими маршрутами
Цель этого руководства — объяснить, как объединить разные сегменты сети (подсети) вместе, используя статические маршруты для пересылки трафика в нужную подсеть другого маршрутизатора. Не будем вдаваться в подробности подсетей в целом, хотя скажем, что использование подсетей имеет такие преимущества, как уменьшение сетевого трафика (меньше широковещательных кадров) и улучшение контроля доступа между узлами. Важно отметить, что связывание подсетей называется маршрутизацией, а используемые для этого интерфейсы не должны быть объединены в сетевой мост с любыми другими для правильной работы.
[edit] Создание подсетей
Существует множество способов создания подсетей в DD-WRT. По умолчанию только порт WAN не объединен в сетевой мост с другими интерфейсами, а коммутатор LAN (который является аппаратным мостом) и беспроводные интерфейсы объединены друг с другом программным обеспечением.
Способы создания дополнительных подсетей включают в себя:
- Задайте для беспроводного интерфейса значение «Unbridged», чтобы он не был объединен в сетевой мост с интерфейсами LAN коммутатора.
- Настройте VLAN, если коммутатор поддерживает их.
- Добавьте виртуальные интерфейсы к любому существующему интерфейсу, который может преодолеть аппаратные ограничения, такие как коммутаторы без поддержки VLAN.
ifconfig eth0:1 [IP-адрес_маршрутизатора_в_новой_подсети] netmask [Маска_подсети] broadcast [Широковещательный_адрес]
[edit] Пример
Теперь предположим, что у вас есть три маршрутизатора Router1..3, соединенных вместе. Порт WAN маршрутизатора Router1 подключен к Интернету, что делает его шлюзом всей локальной сети, а маршрутизаторы Router2 и 3 имеют порты WAN, подключенные к портам LAN Router1. Маршрутизатор Router2 и/или 3 также может использовать режим клиента (Client mode) или повторителя (Repeater mode) (без сетевого моста!).
По умолчанию все эти маршрутизаторы будут работать в режиме маршрутизации ‘Gateway’ («Шлюз»), что означает, что они выполняют преобразование сетевых адресов (Network Address Translation, NAT), что делает компьютеры в подсети LAN невидимыми со стороны интерфейса WAN. Поскольку каждый маршрутизатор имеет интерфейс, подключенный к подсети 192.168.1.0/24, все они имеют маршруты к этой подсети. Однако маршрутизатор Router1 не имеет маршрута к 192.168.2.0/24 или 192.168.3.0/24, Router2 не имеет маршрута к 192.168.3.0/24, а Router3 не имеет маршрута к 192.168.2.0/24.
[edit] Настройка статических маршрутов
Для этой конкретной топологии только маршрутизатор Router1 должен быть настроен со статическими маршрутами, потому что у двух других есть маршруты по умолчанию, которые указывают им направлять трафик к Router1 для любой подсети, к которой у них явно нет маршрутов.
Статические маршруты настраиваются со следуюшими параметрами на странице Setup → Advanced Routing веб-интерфейса DD-WRT:
- Destination LAN NET — удаленная подсеть, для которой вы создаете маршрут.
- Subnet Mask — маска подсети удаленной подсети. Как правило, используется маска подсети класса C 255.255.255.0, которая в нотации CIDR равна /24, как показано на изображении выше.
- Gateway — адрес шлюза по умолчанию, который должен быть задан как IP-адрес следующего перехода к подсети назначения. В нашем случае это IP-адрес интерфейса WAN маршрутизаторов Router2 и Router3. В сетях с большим количеством устройств следующим переходом может не быть устройство, напрямую подключенное к целевой подсети, на пути к ней могут быть еще несколько сегментов сети с маршрутизаторами.
- Interface — это должен быть интерфейс, к которому подключен следующий переход. В нашем примере маршрутизаторы Router2 и Router3 подключены к интерфейсу LAN/WLAN (br0) маршрутизатора Router1.
Настройте маршрутизатор Router1 так, как указано на следующих изображениях:
С настроенными статическими маршрутами теперь можно безопасно отключить преобразование сетевых адресов NAT на маршрутизаторах Router2 и Router3, переключив их режим работы Operating Mode с «Gateway» на «Router» на странице Setup → Advanced Routing веб-интерфейса.
Также понадобится использовать команды Iptables, чтобы разрешить трафик через брандмауэры маршрутизаторов Router2 и Router3, чтобы обеспечить полноценную связь между подсетями. Команды Iptables необходимо сохранить в сценарии брандмауэра (firewall script) на странице Administration → Commands веб-интерфейса. Вот несколько примеров того, как это можно сделать:
# Разрешить любой трафик через маршрутизатор (просто, но не безопасно, нельзя использовать на маршрутизаторах, напрямую подключенных к Интернету) iptables -I FORWARD -j ACCEPT
# Для маршрутизатора Router2: Разрешить трафик из подсетей Router1 и Router3 iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT iptables -I FORWARD -s 192.168.3.0/24 -j ACCEPT # Для маршрутизатора Router3: Разрешить трафик из подсетей Router1 и Router2 iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT iptables -I FORWARD -s 192.168.2.0/24 -j ACCEPT
# Разрешить пересылку всего блока 192.168.0.0/16 через маршрутизатор iptables -I FORWARD -s 192.168.0.0/16 -j ACCEPT
[edit] Готово
Если вы всё сделали правильно — настроили маршруты и брандмауэры, то теперь устройства в разных сегментах сети смогут общаться друг с другом, не полагаясь на мостовые соединения. Если на компьютерах сети установлены программные брандмауэры, возможно, нужно будет их настроить или отключить, чтобы разрешить подключения из других подсетей.
Если вы хотите, чтобы компьютеры отображались в сетевом окружении Windows, необходимо настроить сервер WINS и настроить DHCP-сервер для объявления сервера WINS.