На последнем MUM в Москве, мне, как и всем остальным, вручили маршрутизатор MikroTik hAP mini.

Я решил им заменить старенький, постоянно зависающий, маршрутизатор у родителей.
Чтобы получить максимальную производительность решил задействовать чип коммутации (switch chip). На просторах интернета не нашел подходящей инструкции, где было бы описание настроек и проводной и беспроводной части, поэтому решил поделиться своим опытом.
Забегая немного вперед скажу, что hAP mini прекрасно справился с задачей.

Схема следующая:



Интернет и IPTV от Билайна, подключение IPOE. По первому порту приходит интернет, на втором порту IPTV приставка, на 3 и по wifi локальная сеть.

И так, приступим:

1. Не подключая маршрутизатор к Интернет, включаем его, подключаемся к нему кабелем в третий порт, запускаем WinBox, заходим на маршрутизатор и сбрасываем настройки, не забыв отменить создание резервной копии и применение конфига по умолчанию.



2. После перезагрузки маршрутизатора, вновь подключаемся к нему через Winbox по MAC адресу

3. Запускаем New terminal и вводим следующие команды:

Самым первым делом меняем пароль для пользователя admin.
В идеале создать другого пользователя, а admin-a удалить.

/user set admin password=qwFnnNn#4$2hWR#QirEx

Создаем бридж:

/interface bridge add name=bridge1 protocol-mode=none

Добавляем интерфейсы в бридж:

/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=wlan1

Создаем два дополнительных интерфейса-VLAN на бридже:

/interface vlan
add interface=bridge1 name=VLAN10 vlan-id=10
add interface=bridge1 name=VLAN20 vlan-id=20

Настраиваем на интерфейсах VLAN:

/interface ethernet switch vlan
add independent-learning=yes ports=ether1,ether2,switch1-cpu switch=switch1 vlan-id=10
add independent-learning=yes ports=ether3,switch1-cpu switch=switch1 vlan-id=20

/interface ethernet switch port
set 0 default-vlan-id=10 vlan-header=always-strip vlan-mode=secure
set 1 default-vlan-id=10 vlan-header=always-strip vlan-mode=secure
set 2 default-vlan-id=20 vlan-header=always-strip vlan-mode=secure
set 3 vlan-mode=secure

Настраиваем WiFi (не забудьте SSID и пароль на свои заменить):

/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys wpa2-pre-shared-key=MyWifiPassword
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-onlyn disabled=no mode=ap-bridge ssid=MyWifiName vlan-id=20 vlan-mode=use-tag wireless-protocol=802.11 wps-mode=disabled

Подключение к Интернет нас IPOE, т.е. адрес получаем по DHCP. Обратите внимание что dhcp-client настраиваем на VLAN:

/ip dhcp-client add dhcp-options=hostname,clientid disabled=no interface=VLAN10

Настраиваем локальную сеть:

/ip address add address=192.168.11.1/24 interface=VLAN20 network=192.168.11.0
/ip pool add name=pool-lan ranges=192.168.11.2-192.168.11.99
/ip dhcp-server add address-pool=pool-lan disabled=no interface=VLAN20 lease-time=1h name=dhcp-server
/ip dhcp-server network add address=192.168.11.0/24 dns-server=192.168.11.1 gateway=192.168.11.1
/ip dns set allow-remote-requests=yes

Для удобства объединяем интерфейсы в группы:

/interface list
add name=WAN
add name=LAN
/interface list member
add interface=VLAN10 list=WAN
add interface=VLAN20 list=LAN

Создаем минимальные правила для файервола:

/ip firewall filter
add action=accept chain=input comment="Allow icmp" protocol=icmp
add action=accept chain=input comment="Allow established & related" connection-state=established,related
add action=accept chain=input comment="Allow access for ManageIP group" src-address-list=ManageIP
add action=drop chain=input comment="All other drop"
add action=fasttrack-connection chain=forward comment=Fasttrack connection-state=established,related
add action=accept chain=forward comment="Allow established & related" connection-state=established,related,untracked
add action=drop chain=forward comment="Drop invalid connection packets" connection-state=invalid
add action=accept chain=forward comment="Allow Internet" in-interface-list=LAN out-interface-list=WAN
add action=drop chain=forward comment="All other drop"

В группу ManageIP добавляем адреса с которых будет доступ на маршрутизатор:

/ip firewall address-list add address=192.168.11.0/24 list=ManageIP

Настраиваем NAT для выхода в интернет из локалки:

/ip firewall nat add action=masquerade chain=srcnat out-interface-list=WAN

Ну и в заключении, не обязательные, но полезные команды:

/ip cloud set ddns-enabled=yes update-time=no
/system clock set time-zone-autodetect=no
/system clock manual set time-zone=+03:00 
/system identity set name=MyHome
/system ntp client set enabled=yes primary-ntp=95.165.138.248 secondary-ntp=89.175.20.7

Разрешаем neighbor discovery только из локальной сети.

Если вы не обновляли ROS и у вас 6.40.4:

/ip neighbor discovery
set ether1 discover=no
set ether2 discover=no
set ether3 discover=no
set wlan1 discover=no
set bridge1 discover=no

Если обновились на последнюю, то:

/ip neighbor discovery-settings set discover-interface-list=LAN

Но в этом случае не работает подключение по MAC из wifi сети. Есть идеи почему?

На этом все.

Можно в первый порт подключать кабель провайдера и тестировать.

Результаты небольшого тестирования показали, что по кабелю получил почти все 100Мбит/с которые дает провайдер (запустил торрент), IPTV приставка работает, при этом нагрузка на процессор маршрутизатора была всего 20%. По WiFi удалось получить всего 25Мбит/с, слишком сильно эфир загажен, но и этой скорости достаточно.

Комментарии (11)


  1. Vovanys
    05.10.2018 18:38

    Как эта прошивка ведет себя?
    У меня как и у многих периодически по вачдогу ребутится… Даже без нагрузки… Ночью только пип что ребут.


    1. algerka Автор
      05.10.2018 19:46

      Не замечал такого.


  1. eteh
    05.10.2018 18:47

    У меня сделано 2 бриджа — 1й это порт от провайдера и телевизор, 2 все остальное — dhcp сервер соответственно раздаёт адреса на 2 бридж, dhcp клиент берет адрес с 1 бриджа, соответственно все Настройки в том числе и правил фаервола вместо порта используют бридж 1 — работает все весьма шустро


    1. algerka Автор
      05.10.2018 19:27

      А если у вас будет больше 3 портов, hAP lite, к примеру, с 4 портами? И какую вы скорость получите между двумя портами на втором бридже, ведь второй то не будет использовать возможности чипа коммутации?
      Данная статья больше для ознакомления с возможностью чипа коммутации. Попробуйте его использовать и вам понравится!
      Чисто для сравнения покажите при трафике в 100Мбит сколько загрузка у вас процессора?


      1. eteh
        05.10.2018 23:06

        в случае HAP AC Lite при моей загрузке — 30-40 мбит/с (выше не может выдать провайдер билайн в г. СПб) загрузка процессора не выше 9%, соединение l2tp vpn.

        Мои настройки
        # oct/05/2018 22:57:07 by RouterOS 6.42.3
        # software id = KQXA-KEFM
        #
        # model = RouterBOARD 952Ui-5ac2nD
        # serial number = ****
        /interface bridge
        add fast-forward=no name=bridge_lan
        add fast-forward=no name=bridge_to_ethernet
        /interface ethernet
        set [ find default-name=ether1 ] name=ether1_internet
        set [ find default-name=ether2 ] name=ether2_telek
        set [ find default-name=ether3 ] name=ether3_lan
        set [ find default-name=ether4 ] name=ether4_lan
        set [ find default-name=ether5 ] disabled=yes
        /interface wireless security-profiles
        set [ find default=yes ] supplicant-identity=MikroTik
        add authentication-types=wpa-psk,wpa2-psk eap-methods=""     management-protection=allowed mode=dynamic-keys name=beeline     supplicant-identity="" wpa-pre-shared-key=****     wpa2-pre-shared-key=****
        /interface wireless
        set [ find default-name=wlan1 ] country=russia disabled=no mode=ap-bridge     security-profile=beeline ssid=HomeWiFi wps-mode=disabled
        set [ find default-name=wlan2 ] band=5ghz-a/n/ac disabled=no mode=ap-bridge     security-profile=beeline ssid=HomeWiFi5 wps-mode=disabled
        /ip dhcp-client option
        add code=55 name=parameter_request_list value=0x01F90321062A
        /ip hotspot profile
        set [ find default=yes ] html-directory=flash/hotspot
        /ip pool
        add name=dhcp_pool1 ranges=192.168.1.2-192.168.1.254
        /ip dhcp-server
        add address-pool=dhcp_pool1 authoritative=after-2sec-delay disabled=no     interface=bridge_to_beeline lease-time=3d name=dhcp1
        /ppp profile
        add change-tcp-mss=yes name=beeline_l2tp remote-address=192.168.255.254     use-compression=no use-encryption=no use-mpls=no
        /interface l2tp-client
        add add-default-route=yes allow=chap connect-to=tp.internet.beeline.ru     disabled=no max-mru=1420 max-mtu=1420 name=l2tp_beeline password=    **** profile=beeline_l2tp user=****
        /snmp community
        set [ find default=yes ] addresses=0.0.0.0/0
        /interface bridge port
        add bridge=bridge_to_beeline hw=no interface=ether3_lan
        add bridge=bridge_to_beeline hw=no interface=ether4_lan
        add bridge=bridge_to_beeline interface=wlan1
        add bridge=bridge_to_beeline interface=wlan2
        add bridge=bridge_lan interface=ether1_wan
        add bridge=bridge_lan interface=ether2_tv
        /ip address
        add address=192.168.1.1/24 interface=bridge_to_beeline network=192.168.1.0
        /ip dhcp-client
        add default-route-distance=10 dhcp-options=hostname,parameter_request_list     disabled=no interface=bridge_lan
        /ip dhcp-server network
        add address=192.168.1.0/24 gateway=192.168.1.1
        /ip firewall nat
        add action=masquerade chain=srcnat out-interface=l2tp_beeline src-address=    192.168.1.0/24
        add action=masquerade chain=srcnat out-interface=bridge_lan src-address=    192.168.1.0/24
        /ip route
        add distance=1 dst-address=83.102.255.0/24 gateway=10.138.32.1
        add distance=1 dst-address=85.21.192.3/32 gateway=10.138.32.1
        add distance=1 dst-address=213.234.192.0/24 gateway=10.138.32.1
        add distance=1 dst-address=213.234.192.8/32 gateway=10.138.32.1
        /ip service
        set telnet disabled=yes
        set ftp disabled=yes
        set www disabled=yes
        set ssh address=192.168.1.0/24 disabled=yes
        set api disabled=yes
        set winbox address=192.168.1.0/24
        set api-ssl disabled=yes
        /ip smb shares
        set [ find default=yes ] directory=/pub
        /system clock
        set time-zone-name=Europe/Moscow
        /system routerboard settings
        set silent-boot=no


        1. algerka Автор
          06.10.2018 20:42

          1. Я не спрашивал про ваш конфиг, я просил показать график загрузки процессора. Да и не корректно сравнивать 100 и 30-40 Мбит.
          2. Если на провайдере не получается протестировать — подключите в 3 и 4 порт два компьютера, и запустите iperf. Думаю 100Мбит вы не получите.


  1. hzs
    06.10.2018 09:14

    А как происходит смешивание iptv потока с интернетом, что идёт в телевизор?
    Ведь, если в телек отправить только iptv, телевизор не будет иметь другие сетевые возможности и выход в интернет.


    1. AcidVenom
      06.10.2018 13:24

      Для этого есть igmpproxy пакет.


    1. algerka Автор
      06.10.2018 20:28

      В телевизор ничего не идет. IPTV идет в тв приставку.


      1. hzs
        06.10.2018 21:16

        Ну тогда да.
        Был Ростелеком и у него из оптического конвертера было два выхода, один iptv, второй интернет, оба в разных подсетях.
        Ни как не получилось их пустить по одному кабелю, чтобы у смарт телевизора было и iptv и выход в интернет. Получилось только либо-либо.


        1. Nic0las
          08.10.2018 09:42

          По одному кабелю можно пустить два vlan с роутера, а у тв поставить ещё один роутер, который trunk’и в access-порты разберёт. Что-то похожее ранее делал с двумя провайдерами: интернет от одного, тв от другого.