Оптимизация конфигурации

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
EvgenIK
Сообщения: 3
Зарегистрирован: 29 мар 2016, 16:32

Была перенесена (перенабрана) очень давняя конфигурация с ROS 5.26 (x86) на ROS 6.34.4 (RB3011).
3 (будет 2) провайдера, настроена балансировка каналов (скорости - 15/15 мбит/с, 8/1 мбит/с, 2/0.5 мбит/с), PPTP-сервер (будет меняться на l2tp).
Помогите, пожалуйста, советами, что в ней можно улучшить/оптимизировать?
Кофигурация перешла по наследству :)
Из вычитанного на форуме, напрашивается замена маркировки пакетов на маркировку соединений.

Код: Выделить всё

/interface> export
/interface bridge
add comment="guest lan-wlan (wifi and 1 lan)" name=bridge-guest
/interface ethernet
set [ find default-name=ether1 ] comment="internet Atlant" name=ether1-atlant
set [ find default-name=ether2 ] comment="internet ADSL.BY" name=ether2-adsl
set [ find default-name=ether3 ] comment="internet BYFLY" name=ether3-byfly
set [ find default-name=ether4 ] comment="wi-fi guest" name=ether4-wifi-guest
set [ find default-name=ether5 ] comment="LAN guest" name=ether5-lan-guest
set [ find default-name=ether6 ] comment="master port, connect to LAN" name=ether6-lan-work
set [ find default-name=ether7 ] master-port=ether6-lan-work
set [ find default-name=ether8 ] master-port=ether6-lan-work
set [ find default-name=ether9 ] comment="wi-fi work" master-port=ether6-lan-work name=ether9-wifi-work
set [ find default-name=ether10 ] master-port=ether6-lan-work poe-out=off
set [ find default-name=sfp1 ] disabled=yes
/interface pppoe-client
add comment="client byfly" interface=ether3-byfly max-mru=1480 max-mtu=1480 mrru=1600 name=BYFLY password=\
    ****** user=*****
/interface l2tp-client
add comment="connect AtlantTelecom" connect-to=10.254.254.5 disabled=no keepalive-timeout=disabled max-mru=\
    1460 max-mtu=1460 mrru=1600 name=ATLANT password=***** user=*****
/interface pptp-client
add comment="client ADSL.BY" connect-to=81.25.32.67 keepalive-timeout=disabled max-mru=1400 max-mtu=1400 \
    name=ADSL password=***** user=*****
/interface bridge port
add bridge=bridge-guest interface=ether4-wifi-guest
add bridge=bridge-guest interface=ether5-lan-guest
/interface pptp-server server
set default-profile=pptp-vpn enabled=yes

/ppp profile
add dns-server=192.168.0.1 local-address=192.168.1.200 name=pptp-vpn only-one=yes remote-address=pool-vpn \
    use-encryption=yes wins-server=192.168.0.5

/ip firewall nat
add action=masquerade chain=srcnat comment="internet Atlant" out-interface=ATLANT
add action=masquerade chain=srcnat comment=\
    "vnutrennei resursi Atlant" out-interface=ether1-atlant
# ADSL not ready
add action=masquerade chain=srcnat comment="internet ADSL.BY" out-interface=ADSL
add action=masquerade chain=srcnat comment=\
    "vnutrennei resursi  ADSL.BY" \
    out-interface=ether2-adsl
# BYFLY not ready
add action=masquerade chain=srcnat comment="internet byfly" out-interface=BYFLY

/ip firewall mangle
add action=mark-connection chain=prerouting comment="mark all lo\
    cal-ip" new-connection-mark=MARK_ALL src-address-list=local-ip
add action=mark-routing chain=prerouting comment="Server WSUS ot ADSL.BY 4erez client-ADSL.BY" \
    connection-mark=MARK_ALL dst-port=8530 new-routing-mark=adsl-routing protocol=tcp
add action=mark-routing chain=prerouting comment="Vnutr resource adsl.by 4erez client-ADSL.BY" \
    connection-mark=MARK_ALL dst-address-list=adsl.by new-routing-mark=adsl-routing
add action=mark-packet chain=forward comment=\
    "markirovka vhodiachih paketov dlia guest" \
    dst-address-list=limit-guest new-packet-mark=limit-guest-down
add action=mark-packet chain=forward comment=\
    "markirovka vhodiachih paketov vpn" dst-address-list=no-limit-vpn \
    new-packet-mark=no-limit-vpn-down
add action=mark-packet chain=forward comment=\
    "markirovka vhodiachih paketov dlia office" \
    dst-address-list="limit office" new-packet-mark=limit-office-down
add action=mark-packet chain=forward comment=\
    "markirovka ishodiachih paketov dlia guest" \
    new-packet-mark=limit-guest-up src-address-list=limit-guest
add action=mark-packet chain=forward comment=\
    "markirovka ishodiachih paketov dlia vpn" new-packet-mark=\
    no-limit-vpn-up src-address-list=no-limit-vpn
add action=mark-packet chain=forward comment="markirovka ishodiachih paketov dlia office" new-packet-mark=limit-office-up src-address-list=\
    limit-office
   
/ip route
add distance=1 gateway=10.23.103.185 routing-mark=adsl-routing
add comment="vnutrennie resursi Atlant" distance=1 dst-address=10.0.0.0/10 gateway=\
    10.13.28.1 routing-mark=atlant-routing
add comment="DNS server Atlant" distance=1 dst-address=213.184.224.254/32 gateway=ether1-atlant routing-mark=\
    atlant-routing
add comment="DNS server Atlant" distance=1 dst-address=213.184.225.32/27 gateway=ether1-atlant routing-mark=\
    atlant-routing
add comment="balansirovka kanalov internet" distance=1 gateway=\
    ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ADSL,ADSL,ADSL,ADSL,BYFLY
add comment="l2tp server Atlanta" distance=1 dst-address=10.254.254.0/24 gateway=10.13.28.1
add comment="vnutrennie resursi adsl.by" distance=1 \
    dst-address=81.25.32.6/32 gateway=10.23.103.185
add comment="DNS server adsl.by" distance=1 \
    dst-address=81.25.32.32/27 gateway=10.23.103.185
add comment="VPN server adsl.by" distance=1 \
    dst-address=81.25.32.64/26 gateway=10.23.103.185
add comment="IGET server adsl.by " \
    distance=1 dst-address=81.25.34.96/28 gateway=10.23.103.185   

/ip firewall filter
add action=drop chain=input comment="Drop invalid connections" connection-state=invalid
add chain=forward comment="razreshenie porta dlia mail-servera" dst-port=25 protocol=tcp
add chain=input comment="Allow established connections"
add chain=input comment="Access related connections" connection-state=related
add action=add-src-to-address-list address-list=dns-flood address-list-timeout=1h chain=input comment="zashita ot flooda na 53 port" dst-port=53 in-interface=all-ppp protocol=udp
add action=drop chain=input comment="zashita ot flooda na 53 port" dst-port=53 \
    in-interface=all-ppp protocol=udp src-address-list=dns-flood
add chain=input comment="Allow UDP" protocol=udp
add chain=input comment="razre6enie gjhnjv UDP dlia l2tp" disabled=yes in-interface=all-ppp port=\
    500,1701,4500 protocol=udp
add chain=input comment="Allow PPTP" limit=50/5s,2:packet protocol=icmp
add chain=input comment="Allow PPTP" dst-port=1723 limit=50/5s,2:packet protocol=tcp
add chain=input comment="Allow ICMP" protocol=icmp
add chain=input comment="Allow PPTP" disabled=yes dst-port=8291 protocol=tcp
add chain=input comment="Allow PPTP" protocol=gre
add chain=input comment="Allow access to router from know network" src-address=192.168.0.0/24
add chain=input comment="L2tp  vpn  server  udp  4500  (nat-travelrsal)" disabled=yes protocol=udp src-port=\
    4500
add action=drop chain=tcp comment="Deny CIFS" dst-port=445 protocol=tcp src-address-list=!no-block
add chain=input comment=" l2tp  vpn  server  udp" disabled=yes protocol=tcp src-port=1701
add action=drop chain=input comment="Block Open Proxy" in-interface=all-ppp
add action=drop chain=forward comment="Drop invalid connections" connection-state=invalid protocol=tcp
add action=drop chain=forward comment=Block_social disabled=yes layer7-protocol=social src-address-list=\
    CU_BLOCK_SOCIAL
add action=drop chain=forward comment="block social site dns" disabled=yes dst-port=53 layer7-protocol=social \
    protocol=tcp
add chain=forward comment="Allow related connections" connection-state=related
add action=reject chain=forward comment="block social sites (reject)" disabled=yes dst-address-list=block \
    reject-with=icmp-host-prohibited src-address-list=limit-office
add action=reject chain=input dst-port=8080 in-interface=all-ppp protocol=tcp reject-with=tcp-reset
add action=drop chain=forward comment="Drop bogons" src-address=0.0.0.0/8
add action=drop chain=forward comment="Drop bogons" dst-address=0.0.0.0/8
add action=drop chain=forward comment="Drop bogons" src-address=127.0.0.0/8
add action=drop chain=forward comment="Drop bogons" dst-address=127.0.0.0/8
add action=drop chain=forward comment="Drop bogons" src-address=224.0.0.0/3
add action=drop chain=forward comment="Drop bogons" dst-address=224.0.0.0/3
add action=jump chain=forward jump-target=tcp protocol=tcp
add action=jump chain=forward jump-target=udp protocol=udp
add action=jump chain=forward jump-target=icmp protocol=icmp
add action=drop chain=tcp comment="Deny TFTP" dst-port=69 protocol=tcp
add action=drop chain=tcp comment="Deny RPC portmapper" dst-port=111 protocol=tcp
add action=drop chain=tcp comment="Deny RPC portmapper" dst-port=135 protocol=tcp
add action=drop chain=tcp comment="Deny NBT" dst-port=137-139 protocol=tcp src-address-list=!no-block
add action=drop chain=tcp comment="Deny NFS" dst-port=2049 protocol=tcp
add action=drop chain=tcp comment="Deny NetBus" dst-port=12345-12346 protocol=tcp
add action=drop chain=tcp comment="Deny NetBus" dst-port=20034 protocol=tcp
add action=drop chain=tcp comment="Deny DHCP" dst-port=67-68 protocol=tcp
add action=drop chain=udp comment="Deny TFTP" dst-port=69 protocol=udp
add action=drop chain=udp comment="Deny PRC" dst-port=111 protocol=udp
add action=drop chain=udp comment="Deny PRC portmapper" dst-port=135 protocol=udp src-address-list=!no-block
add action=drop chain=udp comment="Deny NBT" dst-port=137-139 protocol=udp src-address-list=!no-block
add action=drop chain=udp comment="Deny NFS" dst-port=2049 protocol=udp src-address-list=!no-block
add chain=icmp comment="echo reply" icmp-options=0:0 ipv4-options=loose-source-routing protocol=icmp
add chain=icmp comment="net unreachable" icmp-options=3:0 ipv4-options=loose-source-routing protocol=icmp
add chain=icmp comment="host unreachable" icmp-options=3:1 ipv4-options=loose-source-routing protocol=icmp
add chain=icmp comment="host unreachable fargmentation required" icmp-options=3:4 ipv4-options=\
    loose-source-routing protocol=icmp
add chain=icmp comment="Allow source quench" icmp-options=4:0 protocol=icmp
add chain=icmp comment="Allow echo request" icmp-options=8:0 protocol=icmp
add chain=icmp comment="Allow time exceed" icmp-options=11:0 protocol=icmp
add chain=icmp comment="Allow parameter bad" icmp-options=12:0 protocol=icmp
add action=drop chain=icmp comment="Deny all other types"
add action=log chain=input comment="Log everything else" log-prefix=drop-input
add action=drop chain=input comment="Drop anything else"
add chain=forward comment="Allow already established connections" connection-state=established


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Жесть какая
Чего только стоит

add comment="balansirovka kanalov internet" distance=1 gateway=\
ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ADSL,ADSL,ADSL,ADSL,BYFLY

фильтры в фаерволе доставляют

Извините но лучая оптимизация данного конфига это systec config-reset и дальше вдумчиво


Есть интересная задача и бюджет? http://mikrotik.site
EvgenIK
Сообщения: 3
Зарегистрирован: 29 мар 2016, 16:32

vqd
По большей части настройки соответствуют приведённым в разных мануалах и how-to и работают (правда, для версии 5.26). А

add comment="balansirovka kanalov internet" distance=1 gateway=\
ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ATLANT,ADSL,ADSL,ADSL,ADSL,BYFLY

это из-за 3 провайдеров и большого разброса скоростей у них (15/15 мбит/с, 8/1 мбит/с, 2/0.5 мбит/с).
Будем отключать медленного провайдера, тогда получится красивее:

add comment="balansirovka kanalov internet" distance=1 gateway=\
ATLANT,ATLANT,ADSL

Только это-же будет справедливо для входящей скорости (~2 к 1), а вот у исходящей 15 к 1..

Можно ли более направленные советы дать по изменениям?


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

читайте про PCC

Но сброс конфига эт самое лучшее что методом ибо собирался он явно методом копи/пасте


Есть интересная задача и бюджет? http://mikrotik.site
EvgenIK
Сообщения: 3
Зарегистрирован: 29 мар 2016, 16:32

vqd
Как оцените пригодность инструкции https://habrahabr.ru/post/244385/ для настройки PCC и балансировки 2-3 разноскоростных каналов?


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Ни как не оценю, подводные камни там не реализованы ни как, даже упоминания нет.
Как в ознакомительных целях что бы принципы понять, подойдет. Для продакшена еще допиливать нужно


Есть интересная задача и бюджет? http://mikrotik.site
EvgenIK
Сообщения: 3
Зарегистрирован: 29 мар 2016, 16:32

С какими подводными камнями можно столкнуться при настройке по вышеприведенной инструкции (ведь с ними можно столкнуться и при объединении и балансировке с использованием wiki Mikrotika)?
Решения каких проблем искать на просторах интернета?


gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Все давно разжевано viewtopic.php?f=15&t=3280


EvgenIK
Сообщения: 3
Зарегистрирован: 29 мар 2016, 16:32

Благодарю за помощь всех откликнувшихся!


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

нету их на просторах интернета и в вики нету.

Ладно натолкну на путь праведный

Что есть агрегация? По сути это банальное распределение соединений по различным операторам. Все алгоритмы которые описаны они тупо распределяют соединения, один более менее гибкий это PCC, в нем можно изменить алгоритм и тем самым побороть проблему HTTPS и всяких там банк-клиентов но при этом оставить сам механизм рабочим, остальные методы этого не позволяют сделать.
В том же ECMP можно только исключить некоторых юзеров из этой схемы и тем самым вроде как решить данную проблему.

Это был первый камень.

Второй основной камень заключается в проблеме когда канал падает на стороне оператора. Тоесть шлюз у нас доступен а инета нет. Самый яркий пример это использование например решения типа SXT LTE Если там модем упадет то на стороне роутера вы этого не увидите и соответсвенно в случае 2-х каналов схлопочите 50% потери. Опция check-gateway=ping пингует пару раз сам шлюз и если шлюз живой то ничего не отработается, по мне так бестолковая опция.

Что бы это исключить нужно писать скрипт который постоянно опрашивает каналы и вслучае если 1 отвалился то перенастраивает (если больше 2-х операторов) или вовсе отключает (если 2 оператора) агрегацию.

В случае ECMP из маршрута нужно выдернуть шлюзы или интерфейсы (в зависимости от типа), в случае PCC полностью перенастроить правила либо вовсе их отключить (если 2 канала)

Ну и не забываем про маркировку соединений, ответы всегда должны уйти через тот канал через который пришел запрос

Собственно из опыта проверка раз в 30 секунд вполне оптимальна для стационарных установок, если чаше проверять то будут еще камни подводные. Самое оптимальное проверять каждый канал в своем потоке. То есть у вас каналы не по порядку проверяются, а одновременно что позволяет значительно сократить время на проверку. Если для 2-х каналов это не актуально то для 5, 8, 10 и больше уже очень. Так же решения на базе модемов лучше всего проверять в несколько потоков но опять же зависит от кол-ва. На передвижных установках у меня пучилось реализовать полную проверку и исключение/добавление интерфейсов на установке из 8-ми модемов за 7 секунд, с использованием малины снизил до 3-х секунд и вообще система агрегации на подвижных установках с большим количеством модемов отлично работает в связке микротики + малина ))))

Ну вот так вот в двух словах. Разумеется скрипты не дам )))


Есть интересная задача и бюджет? http://mikrotik.site
Ответить