настройка 2-го WAN порта для создания 2-й подсети WLAN

Тема в разделе "Маршрутизация", создана пользователем Дмитрий Иванов, 7 окт 2016.

  1. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    На предприятии есть mikrotik RB2011UiAS, точки доступа RB cAP 2n и 2 провайдера.В качестве основного шлюза локальной сети используется D-link dfl-860E, для доступа в интернет 1-й провайдер. Появилась необходимость менеджерам и гостям настроить для общения с клиентами wifi роуминг, взамен старых wifi роутеров, которые периодически приходилось перезагружать или выходили из строя. Используя оборудование Mikrotik CAPsMAN и 2-го провайдера, получилось настроить wifi роуминг с 2 ssid. Подскажите, есть ли возможность настройки в mikrotik 2-го WAN порта (не для резервного канала) для создания 3-го ssid-а (подсети), который смотрел бы в основную локальную сеть предприятия, использую те же точки доступа cAP?
    Подскажите с чего начинать, может у кого есть рабочий пример решения моей проблемы?
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Да можно.
    Собираете гостевой SSID в отдельный бридж и на основании этого через PBR и маркировку маршрутов выкидываете их на другой WAN.
     
  3. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, спасибо за ответ!
    Есть ли рабочий пример у Вас или ссылка на более подробную инструкцию?
     
  4. Илья Князев

    Илья Князев Администратор Команда форума

    Вот прямо под вашу конфигурацию наверное нет. Давайте его соберем.
    1. Добавляем в nat стандартный маскарад на wan2

    2. /ip route rule
    Добавляем правило
    src-address=guest_net/24
    action=lookup-only-in-table
    table=guest_wan

    3. Добавляем маршрут
    0.0.0.0/0 gateway=wan2 route-mark=guest-wan
    По идее все. Проверяйте.
     
    Vaippp нравится это.
  5. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, сделал, как Вы описали выше. Но у меня непонятки с портом wan2?
    В IP->Addresses назначил IP адрес, а дальше где и как создавать bridge и как подсунуть его в CAPsMAN я не могу понять?
    Создавал vlan, указывал vlan_id на интерфейсах, где происходит раздача, объединял в bridge_vlan, создавал конфигурацию с datapath с нужным vlane_mode и vlan_id,
    в provisioning->slave configuration указывал нужную конфигурацию, но ничего не выходит.
    Илья, подскажите в чем может быть ошибка, или может есть другой путь?
     
  6. Илья Князев

    Илья Князев Администратор Команда форума

    У вас есть какой-то ethernet порт wan2. На него вешаете адрес данный провайдером (убедитесь что master-port=none для этого интерфейса и он не в бридже). И прописываете маршрут 0.0.0.0/0 на шлюз, который вам дал провайдер с route-mark=guest-wan
    БОЛЬШЕ С НИМ НИЧЕГО НЕ ДЕЛАЕМ
    Далее настраиваем NAT на этот порт.
    Потом создаем ПУСТОЙ бридж. Называем его как-то.
    Вешаем в /ip address на него какую-то подсеть и, если хочется, dhcp-сервер.
    Теперь в CapsMan указываем этот бридж в качестве data-path для гостевой конфигурации. И потом крутим роутинг через /ip route rule как я писал выше.
     
  7. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, спасибо! Получилось, но IP адреса при подключении к новой сети выдаются из подсети 10.20.30.0 (основная подсеть), а для нового bridge_new_ssid сделал dhcp сервер с подсетью 10.10.10.0.
    Как заставить mikrotk раздавать ip адреса из нужной подсети при подключении к конкретному ssid?
     
  8. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, добрый день! Когда в настройках нового ssida CAPsMAN->Datapaths-Local Forwarding ставишь галочку, то клиент получает ip адрес из сети 10.20.30.0, при этом ресурсы локальной сети доступны и есть интернет.
    Когда ставишь галочку CAPsMAN->Datapaths-Client To Client Forwarding , то клиент получает ip адрес из нужной сети 10.10.10.0, при этом ресурсы локальной сети уже не доступны и нет интернета.
    Помогите разобраться в чем может быть дело?
     
  9. Илья Князев

    Илья Князев Администратор Команда форума

    Дайте экспорт конфигурации. Посмотрю.
     
  10. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Код:
    /export compact
    # oct/12/2016 13:08:18 by RouterOS 6.36
    # software id = M4M9-TZLZ
    #
    /caps-man channel
    add band=2ghz-b/g/n extension-channel=Ce frequency=2412 name=channel1 tx-power=18 width=20
    /interface bridge
    add name=bridge1
    add name=bridge_office
    /ip neighbor discovery
    set ether1 discover=no
    set ether2 discover=no
    set ether3 discover=no
    set ether4 discover=no
    set ether5 discover=no
    set ether6 discover=no
    set ether7 discover=no
    set ether8 discover=no
    set ether9 discover=no
    set ether10 discover=no
    set sfp1 discover=no
    /caps-man datapath
    add bridge=bridge1 client-to-client-forwarding=yes local-forwarding=no name=datapath1
    add bridge=bridge_office client-to-client-forwarding=yes local-forwarding=no name=datapath_office
    /caps-man security
    add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm name=security1 passphrase=CCLwork753
    add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm name=security2 passphrase=CCLguest975
    add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm name=security_office passphrase=123456789
    /caps-man configuration
    add channel=channel1 country=russia datapath=datapath1 mode=ap name=cfg1 rx-chains=0,1,2 security=security1 ssid=Kont tx-chains=0,1,2
    add channel=channel1 country=russia datapath=datapath1 mode=ap name=cfg2 rx-chains=0,1,2 security=security2 ssid=KONT_guest tx-chains=0,1,2
    add channel=channel1 country=russia datapath=datapath_office mode=ap name=cfg_office rx-chains=0,1,2 security=security_office ssid=test tx-chains=\
      0,1,2
    /interface list
    add name=WANs
    /interface wireless security-profiles
    set [ find default=yes ] supplicant-identity=MikroTik
    /ip pool
    add name=dhcp ranges=10.20.30.20-10.20.30.200
    add name=dhcp_pool1 ranges=10.10.10.20-10.10.10.200
    /ip dhcp-server
    add address-pool=dhcp disabled=no interface=bridge1 lease-time=1d10m name=dhcp1
    add address-pool=dhcp_pool1 disabled=no interface=bridge_office lease-time=1d10m name=dhcp2
    /caps-man manager
    set enabled=yes
    /caps-man provisioning
    add action=create-dynamic-enabled hw-supported-modes=gn master-configuration=cfg1 name-format=identity slave-configurations=cfg2,cfg_office
    /interface bridge port
    add bridge=bridge1 interface=ether3
    add bridge=bridge1 interface=ether4
    add bridge=bridge1 interface=ether5
    /interface list member
    add interface=ether1 list=WANs
    add interface=ether2 list=WANs
    /ip address
    add address=87.x.x.x/29 interface=ether1 network=87.x.x.x
    add address=10.20.30.1/24 interface=bridge1 network=10.20.30.0
    add address=192.168.150.96/24 interface=ether2 network=192.168.150.0
    add address=10.10.10.1/24 interface=bridge_office network=10.10.10.0
    /ip address
    add address=87.x.x.x/29 interface=ether1 network=87.x.x.x
    add address=10.20.30.1/24 interface=bridge1 network=10.20.30.0
    add address=192.168.150.96/24 interface=ether2 network=192.168.150.0
    add address=10.10.10.1/24 interface=bridge_office network=10.10.10.0
    /ip dhcp-server network
    add address=10.10.10.0/24 dns-server=10.10.10.1,8.8.8.8,192.168.150.4 gateway=10.10.10.1
    add address=10.20.30.0/24 dns-server=10.20.30.1,8.8.8.8 gateway=10.20.30.1 netmask=24
    /ip dns
    set allow-remote-requests=yes servers=87.x.x.x,87.x.x.x,8.8.8.8,192.168.150.4
    /ip firewall filter
    add action=accept chain=input comment="allow ping" log-prefix="" protocol=icmp
    add action=accept chain=forward protocol=icmp
    add action=accept chain=input comment="accept established connections" connection-state=established log-prefix=""
    add action=accept chain=forward connection-state=established
    add action=accept chain=input comment="accept related connections" connection-state=related log-prefix=""
    add action=accept chain=forward connection-state=related
    add action=accept chain=input comment="local input" in-interface=!ether1 log-prefix="" src-address=10.20.30.0/24
    add action=accept chain=forward comment="accept forward local to internet" in-interface=!ether1 log-prefix="" out-interface=ether1
    add action=drop chain=input comment="clouse DNS rezolver" dst-port=53 in-interface=ether1 log-prefix="" protocol=tcp
    add action=drop chain=input dst-port=53 in-interface=ether1 protocol=udp
    add action=drop chain=input comment="dorp invalid connections" connection-state=invalid log-prefix=""
    add action=drop chain=forward connection-state=invalid
    add action=drop chain=input in-interface=ether1
    add action=drop chain=forward comment="drop all other forward" log-prefix=""
    /ip firewall mangle
    add action=mark-routing chain=prerouting log-prefix="" new-routing-mark=office passthrough=no src-address=10.10.10.0/24
    /ip firewall nat
    add action=masquerade chain=srcnat log-prefix="" out-interface=ether1
    add action=masquerade chain=srcnat log-prefix="" out-interface=ether2
    /ip route
    add distance=1 gateway=192.168.150.1 routing-mark=office
    add distance=1 gateway=87.x.x.x
    /ip route rule
    add action=unreachable dst-address=10.20.30.0/24 src-address=87.x.x.x/29
    add action=unreachable dst-address=87.x.x.x/29 src-address=10.20.30.0/24
    add action=lookup-only-in-table src-address=10.10.10.0/24 table=office
    add action=unreachable disabled=yes dst-address=192.168.150.0/24 src-address=10.20.30.0/24
    add action=unreachable disabled=yes dst-address=10.20.30.0/24 src-address=192.168.150.0/24
    /ip service
    set telnet disabled=yes
    set ftp disabled=yes
    set www disabled=yes
    set ssh disabled=yes
    set api disabled=yes
    set winbox address=10.20.30.0/24
    set api-ssl disabled=yes
    /system clock
    set time-zone-name=Asia/Krasnoyarsk
    /system identity
    set name=Master
    /system routerboard settings
    set protected-routerboot=disabled
    /tool mac-server
    add interface=bridge1 
    В данном виде сеть test раздает IP адреса из нужной сети 10.10.10.0, но отсутствует интернет, при смене в datapath - clien to client forwarding на local forfarding адреса выдаются из другой подсети и интернет доступен
    При созданиии отдельной конфигурации в Provisioning для cfg_office имя сети даже не появляется
     
    Последнее редактирование модератором: 12 окт 2016
  11. Илья Князев

    Илья Князев Администратор Команда форума

    А как будет работать локальный DNS?
    А вот эти 2 правила у вас разрешают только работу с Интернет по Ether1 и грохают все остальное.

    В общем разберитесь с файрволом.
     
  12. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, огромное спасибо! Извините, что долго не отвечал, ковыряться с настройками могу только до или после работы. Да, дело в файерволе, после отключения правил все становится на свое место, адреса выдаются из нужной подсети.
    Кокда получится все, что я задумал, обязательно напишу.
     
  13. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, добрый день! Спасибо еще раз за помощь! Только недавно получилось вернуться к настройкам Mikrotik и реализовать задуманное. Получилось создать три сети с раздачей интернета, кроме одного: 3-я подсеть не смотрит в нужную мне локалку (в офис), пингует только шлюз, хотя с самого микоротика вся локальная сеть офиса хорошо пингуется. Илья, подскажите пожалуйста где искать, как быть, как сделать чтобы из нужной подсети была доступна подсеть офиса?
     
  14. Илья Князев

    Илья Князев Администратор Команда форума

    Схема и кнфиг?
     
  15. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    /export compact
    /caps-man channel
    add band=2ghz-b/g/n extension-channel=Ce frequency=2412 name=channel1 tx-power=\
    18 width=20
    /interface bridge
    add name=bridge_lan1
    add name=bridge_lan2
    add name=bridge_office
    /caps-man interface
    add disabled=no l2mtu=1600 mac-address=E4:8D:8C:F2:AA:B3 master-interface=none \
    name=cap1 radio-mac=E4:8D:8C:F2:AA:B3
    add disabled=no l2mtu=1600 mac-address=E4:8D:8C:F8:AC:51 master-interface=none \
    name=cap2 radio-mac=E4:8D:8C:F8:AC:51
    /ip neighbor discovery
    set ether1 discover=no
    set ether2 discover=no
    set ether3 discover=no
    set ether4 discover=no
    set ether5 discover=no
    set ether6 discover=no
    set ether7 discover=no
    set ether8 discover=no
    set ether9 discover=no
    set ether10 discover=no
    set sfp1 discover=no
    set cap1 discover=no
    set cap2 discover=no
    /caps-man datapath
    add bridge=bridge_office client-to-client-forwarding=yes name=datapath_office
    add bridge=bridge_lan1 local-forwarding=yes name=datapath_lan1
    add bridge=bridge_lan2 client-to-client-forwarding=yes name=datapath_lan2
    /caps-man security
    add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \
    name=security_office passphrase=123456789
    add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \
    name=security_lan1 passphrase=123456789
    add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \
    name=security_lan2 passphrase=123456789
    /caps-man configuration
    add channel=channel1 country=russia datapath=datapath_office mode=ap name=\
    cfg_office rx-chains=0,1,2 security=security_office ssid=V tx-chains=0,1,2
    add channel=channel1 country=russia datapath=datapath_lan1 mode=ap name=\
    cfg_lan1 rx-chains=0,1,2 security=security_lan1 ssid=CL1 \
    tx-chains=0,1,2
    add channel=channel1 country=russia datapath=datapath_lan2 mode=ap name=\
    cfg_lan2 rx-chains=0,1,2 security=security_lan2 ssid=CL2\
    0,1,2
    /interface list
    add name=WANs
    /interface wireless security-profiles
    set [ find default=yes ] supplicant-identity=MikroTik
    /ip pool
    add name=dhcp_pool1 ranges=10.10.10.20-10.10.10.200
    add name=dhcp_pool2 ranges=10.10.20.20-10.10.20.200
    add name=dhcp_pool3 ranges=10.10.30.20-10.10.30.200
    /ip dhcp-server
    add address-pool=dhcp_pool1 disabled=no interface=bridge_office lease-time=1d \
    name=dhcp1
    add address-pool=dhcp_pool2 disabled=no interface=bridge_lan1 lease-time=1d \
    name=dhcp2
    add address-pool=dhcp_pool3 disabled=no interface=bridge_lan2 lease-time=1d \
    name=dhcp3
    /caps-man manager
    set enabled=yes
    /caps-man provisioning
    add action=create-dynamic-enabled hw-supported-modes=gn master-configuration=\
    cfg_lan1 name-format=identity slave-configurations=cfg_lan2,cfg_office
    /interface bridge port
    add bridge=bridge_office interface=ether3
    add bridge=bridge_office interface=ether4
    /interface list member
    add interface=ether1 list=WANs
    add interface=ether2 list=WANs
    /ip address
    add address=192.168.150.96/24 interface=ether2 network=192.168.150.0
    add address=87.xxx.xxx.xxx/29 interface=ether1 network=87.237.42.240
    add address=10.10.10.1/24 interface=bridge_office network=10.10.10.0
    add address=10.10.20.1/24 interface=bridge_lan1 network=10.10.20.0
    add address=10.10.30.1/24 interface=bridge_lan2 network=10.10.30.0
    /ip dhcp-server network
    add address=10.10.10.0/24 dns-server=10.10.10.1,8.8.8.8,192.168.150.4 gateway=\
    192.168.150.1
    add address=10.10.20.0/24 dns-server=\
    10.10.20.1,8.8.8.8,87.xxx.xxx.xxx,87. xxx.xxx.xxx gateway=10.10.20.1
    add address=10.10.30.0/24 dns-server=\
    10.10.30.1,8.8.8.8,87.xxx.xxx.xxx,87. xxx.xxx.xxx gateway=10.10.30.1
    /ip dns
    set allow-remote-requests=yes servers=\
    8.8.8.8,192.168.150.2,192.168.150.4,192.168.33.2,87.xxx.xxx.xxx,87. xxx.xxx.xxx
    /ip firewall filter
    add action=accept chain=input comment="allow ping" log-prefix="" protocol=icmp
    add action=accept chain=forward protocol=icmp
    add action=accept chain=input comment="accept established connections" \
    connection-state=established log-prefix=""
    add action=accept chain=forward connection-state=established
    add action=accept chain=input comment="accept related connections" \
    connection-state=related log-prefix=""
    add action=accept chain=forward connection-state=related
    /ip firewall mangle
    add action=mark-routing chain=prerouting log-prefix="" new-routing-mark=office \
    passthrough=no src-address=10.10.10.0/24
    add action=mark-routing chain=prerouting log-prefix="" new-routing-mark=\
    no_office1 passthrough=no src-address=10.10.20.0/24
    add action=mark-routing chain=prerouting log-prefix="" new-routing-mark=\
    no_office1 passthrough=no src-address=10.10.30.0/24
    /ip firewall nat
    add action=masquerade chain=srcnat log-prefix="" out-interface=ether2 \
    routing-table=office
    add action=masquerade chain=srcnat log-prefix="" out-interface=ether1 \
    routing-table=no_office1
    /ip route
    add distance=1 gateway=192.168.150.1 routing-mark=office
    add distance=1 gateway=87. xxx.xxx.xxx routing-mark=no_office1
    /ip route rule
    add action=lookup-only-in-table src-address=10.10.20.0/24 table=no_office1
    add action=lookup-only-in-table src-address=10.10.30.0/24 table=no_office1
    add action=lookup-only-in-table src-address=10.10.10.0/24 table=office
    /ip service
    set telnet disabled=yes
    set ftp disabled=yes
    set www disabled=yes
    set ssh disabled=yes
    set api disabled=yes
    set winbox address=192.168.150.0/24
    set api-ssl disabled=yes
    /system clock
    set time-zone-name=Europe/Moscow
    /system identity
    set name=Master
    /system routerboard settings
    set protected-routerboot=disabled

    Илья, прошу извенить за схему, могут быть ошибки так как спешил.
     

    Вложения:

    • схема.pdf
      Размер файла:
      120,8 КБ
      Просмотров:
      10
  16. Илья Князев

    Илья Князев Администратор Команда форума

    Так вы сами ставите Lookup Only in table.
     
  17. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, добрый день! Возвращаюсь к своим баранам, прошло много времени, за это время я прочитал много статей и примеров в интернете. Привел свой Микротик в божеский вид (как мне кажется)! Мне получилось настроить 3 сида и каждый раздает интернет из своей подсети. Настраивал PBR прочитав Вашу статью https://mum.mikrotik.com//presentations/RU15/presentation_2753_1443525958.pdf , но у меня работать так не хочет, пакеты бегают по цепочкам, а трафик идет все равно через основной маршрут.

    add action=mark-connection chain=prerouting disabled=no in-interface=WAN2 log-prefix="" new-connection-mark=inWAN2 passthrough=no
    add action=mark-routing chain=prerouting connection-mark=inWAN2 disabled=no log-prefix="" new-routing-mark=toWAN2 passthrough=no
    add action=mark-routing chain=output connection-mark=inWAN2 disabled=no log-prefix="" new-routing-mark=toWAN2 passthrough=no

    есть правило соответствующее в NAT

    add action=masquerade chain=srcnat log-prefix="" out-interface=WAN2

    есть маршрут

    add distance=1 gateway=192.168.150.1 routing-mark=toWAN2

    при такой схеме в mangle видно, что счетчики пакетов увеличиваются, но маршрут при трасировке показывает совершенно другой - по умолчанию

    Если я меняю правило в mangle на

    add action=mark-routing chain=prerouting log-prefix="" new-routing-mark=toWAN2 passthrough=yes src-address=10.10.30.0/24
    add action=mark-routing chain=output log-prefix="" new-routing-mark=toWAN2 passthrough=yes src-address=10.10.30.0/24

    то у меня все работает правильно и при трасеровке показывает правильный маршрут.

    Все действия проводил также и при выключенном firewall, ни чего не менялось. Как я понял то в первом случае маркируются соединения приходящие на порт WAN2 и ответы с промаркированными пакетами отправляются по маркированному маршруту. Во втором случае все пакеты из сурса идут сразу по маршруту.
    По логике правильный 1-й вариант, но почему он у меня не работает. Подскажи?
     
  18. Илья Князев

    Илья Князев Администратор Команда форума

    Это можно заменить на
    Код:
    add action=mark-connection chain=input disabled=no in-interface=WAN2 log-prefix="" new-connection-mark=inWAN2 passthrough=no
    add action=mark-routing chain=output connection-mark=inWAN2 disabled=no log-prefix="" new-routing-mark=toWAN2 passthrough=no 
    Цель чтобы когда к нам снаружи придет пакет на WAN2, то ответило с него же
    А вот дальше вам надо в Prerouting размаркировать трафик идущий через роутер. Ну или можно без маркировки (Action=route), но тогда, когда у вас подохнет один из WAN, трафик не уйдет на другой.
     
  19. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    Илья, но почему не работает

    add action=mark-connection chain=prerouting disabled=no in-interface=WAN2 log-prefix="" new-connection-mark=inWAN2 passthrough=no
    add action=mark-routing chain=prerouting connection-mark=inWAN2 disabled=no log-prefix="" new-routing-mark=toWAN2 passthrough=no
    add action=mark-routing chain=output connection-mark=inWAN2 disabled=no log-prefix="" new-routing-mark=toWAN2 passthrough=no

    и

    add action=mark-connection chain=input disabled=no in-interface=WAN2 log-prefix="" new-connection-mark=inWAN2 passthrough=no
    add action=mark-routing chain=output connection-mark=inWAN2 disabled=no log-prefix="" new-routing-mark=toWAN2 passthrough=no

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

    add action=mark-routing chain=prerouting log-prefix="" new-routing-mark=toWAN2 passthrough=yes src-address=10.10.30.0/24
    add action=mark-routing chain=output log-prefix="" new-routing-mark=toWAN2 passthrough=yes src-address=10.10.30.0/24

    Хотелось бы как вы описываете и приводите в примере, но в моем случае это не срабатывает. В чем загвоздка, где не поставил галочку или я не правильно думаю логически и не корректно программирую микротик?
     
  20. Дмитрий Иванов

    Дмитрий Иванов Новый участник

    может в firewall надо прописывать на какие-то доп правила или наоборот убрать?