Jump to content

Два аплинка и разруливание по принципу "откуда пришел пакет, туда и ответить"


Recommended Posts

Posted

Есть MT, на котором будет три сетевых сегмента. Нужно настроить два аплинка (РТ и чей-то 4G), сегменты статически раскидать по аплинкам, но если какой-то аплинк упал, то весь трафик должен ходить через оставшийся аплинк.

Для входящего трафика ответные пакеты должны уходить в тот интерфейс, с которого они пришли.

Не поделитесь готовым примером?

Я такое как-то уже настраивал ранее (с помощью route rule и маркировки пакетов), но помню, что потратил кучу времени, потому что работало это все как-то нелогично. Но конфигурацию не сохранял, а тот настроенный микротик помер безвозвратно и конфигурацию с него не вытянуть.

Posted

А как статья называлась?

Так то подобных статей в интернете тысячи, но 99% из них это перепечатка одни и тех же кривых примеров, которые как-то работают, но плохо и криво.

Я потому кучу времени и потратил, что приходилось подобный хлам отфильтровывать.

Posted

настраивается PBR по source IP, вешается на интерфейсы нат, настраиваются дефолт маршруты с разными метриками и проверкой доступности шлюзов...

Posted

В аттаче рабочие презентации с обьяснениями, делалось по ним много раз (хотя и не в полном обьеме). Фотографию шаманского бубна для отладки подобных конфигов нагуглите сами, мне лень.

presentation_6157_1554717194.pdf presentation_6827_1553517470.pdf

Posted

Просьба посмотреть и покритиковать конфиг.

Вроде бы все правильно, но глаз мог замылиться.

А объект далеко, выезжать на него не хотелось бы.

Скрытый текст
/interface bridge
add name=loopback
/interface ethernet
set [ find default-name=ether1 ] name=eth1-wan1
set [ find default-name=ether2 ] name=eth2-cams
set [ find default-name=ether3 ] name=eth3-staff
set [ find default-name=ether4 ] arp=reply-only name=eth4-guest
set [ find default-name=ether5 ] name=eth5-wan2
/interface pppoe-client
add add-default-route=yes default-route-distance=10 disabled=no interface=eth1-wan1 name=pppoe-rt password=<pwd> use-peer-dns=yes user=<usr>
/interface list
add name=lan
add name=wan
add name=mgmt
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip dhcp-server
add add-arp=yes disabled=no interface=eth2-cams lease-time=1w name=dhcp-cams
/ip pool
add name=pool-staff ranges=192.168.101.1-192.168.101.99
add name=pool-guest ranges=192.168.102.1-192.168.102.199
/ip dhcp-server
add add-arp=yes address-pool=pool-staff disabled=no interface=eth3-staff lease-time=2d name=dhcp-staff
add add-arp=yes address-pool=pool-guest disabled=no interface=eth4-guest lease-time=1h name=dhcp-guest
/ip neighbor discovery-settings
set discover-interface-list=none
/interface list member
add interface=eth2-cams list=lan
add interface=eth3-staff list=lan
add interface=eth4-guest list=lan
add interface=pppoe-rt list=wan
add interface=eth5-wan2 list=wan
add interface=eth3-staff list=mgmt
add interface=loopback list=lan
/ip address
add address=192.168.102.250/24 interface=eth4-guest network=192.168.102.0
add address=192.168.101.250/24 interface=eth3-staff network=192.168.101.0
add address=192.168.100.250/24 interface=eth2-cams network=192.168.100.0
add address=bb.bb.bb.2/30 interface=eth5-wan2 network=bb.bb.bb.0
add address=192.168.1.1/24 interface=eth1-wan1 network=192.168.1.0
add address=192.168.255.250 interface=loopback network=192.168.255.250
add address=192.168.201.250/24 interface=eth2-cams network=192.168.201.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-server lease
add address=192.168.100.200 comment="POE Switch" mac-address=F8:F0:82:64:06:FC server=dhcp-cams
...
/ip dhcp-server network
add address=192.168.100.0/24 dns-server=192.168.100.250 gateway=192.168.100.250 netmask=24 ntp-server=192.168.100.250
add address=192.168.101.0/24 dns-server=192.168.101.250 gateway=192.168.101.250 netmask=24 ntp-server=192.168.101.250
add address=192.168.102.0/24 dns-server=192.168.102.250 gateway=192.168.102.250 netmask=24 ntp-server=192.168.102.250
/ip dns
set allow-remote-requests=yes servers=8.8.8.8
/ip dns static
add address=192.168.255.250 name=usersite.local
add address=192.168.255.250 name=ntp.usersite.local
add address=192.168.100.0 name=cams.usersite.local
add address=192.168.100.250 name=gw.cams.usersite.local
add address=192.168.100.240 name=nvr.cams.usersite.local
add address=192.168.101.0 name=staff.usersite.local
add address=192.168.101.250 name=gw.staff.usersite.local
add address=192.168.102.0 name=guest.usersite.local
add address=192.168.102.250 name=gw.guest.usersite.local
add address=192.168.1.1 name=wan1-link-gw.usersite.local
add address=192.168.1.20 name=wan1-link-remote.usersite.local
add address=192.168.1.21 name=wan1-link-local.usersite.local
/ip firewall address-list
add address=192.168.101.0/24 list=net-staff
add address=192.168.102.0/24 list=net-guest
add address=192.168.100.0/24 list=net-cams
add address=xx.xx.127.95 list=acl-mgmt
add address=xx.xx.124.80 list=acl-mgmt
add address=0.0.0.0/8 comment="source this" list=acl-bogon
add address=10.0.0.0/8 comment="private network" list=acl-bogon
add address=100.64.0.0/10 comment=CG-NAT list=acl-bogon
add address=127.0.0.0/8 comment="loopback addresses" list=acl-bogon
add address=169.254.0.0/16 comment="link-local subnet" list=acl-bogon
add address=172.16.0.0/12 comment="private network" list=acl-bogon
add address=192.0.0.0/24 comment=reserved list=acl-bogon
add address=192.0.2.0/24 comment="test network" list=acl-bogon
add address=192.42.172.0/24 comment=non-work list=acl-bogon
add address=192.88.99.0/24 comment="anycast relay" list=acl-bogon
add address=192.168.0.0/16 comment="private network" list=acl-bogon
add address=198.18.0.0/15 comment="test inter-network" list=acl-bogon
add address=198.51.100.0/24 comment="test network" list=acl-bogon
add address=203.0.113.0/24 comment="test network" list=acl-bogon
add address=224.0.0.0/4 comment=multicast list=acl-bogon
add address=240.0.0.0/4 comment=reserved list=acl-bogon
add address=0.0.0.0/8 list=acl-invalid
add address=127.0.0.0/8 list=acl-invalid
add address=192.168.100.0/24 list=net-lan
add address=192.168.101.0/24 list=net-lan
add address=192.168.102.0/24 list=net-lan
add address=192.168.101.200-192.168.101.249 list=acl-mgmt
add address=192.168.201.0/24 list=net-cams
add address=192.168.201.0/24 list=net-lan
add address=192.168.100.0/24 list=acl-wan1
add address=192.168.101.0/24 list=acl-wan1
add address=192.168.201.0/24 list=acl-wan1
add address=192.168.102.0/24 list=acl-wan2
/ip firewall filter
add action=accept chain=input comment=established connection-state=established
add action=accept chain=input comment=related connection-state=related
add action=accept chain=input comment=ping icmp-options=8:0-255 protocol=icmp
add action=accept chain=input comment="mgmt (allow)" dst-port=8291,22,23,80,443 protocol=tcp src-address-list=acl-mgmt
add action=drop chain=input comment="mgmt (deny)" dst-port=8291,22,23,80,443 protocol=tcp
add action=accept chain=input comment="common lan services" dst-port=53,123 in-interface-list=lan protocol=udp src-address-list=net-lan
add action=accept chain=input comment="any lan services" in-interface-list=lan src-address-list=net-staff
add action=drop chain=input comment="default rule"
add action=accept chain=forward comment=established connection-state=established
add action=accept chain=forward comment=related connection-state=related
add action=accept chain=forward comment="direct dstnat" connection-nat-state=dstnat dst-port=65000-65535 in-interface-list=wan protocol=tcp src-address-list=\
    net-cybercom
add action=accept chain=forward comment="lan access for staff" dst-address-list=net-lan src-address-list=net-staff
add action=drop chain=forward comment="default rule"
add action=accept chain=output comment="default rule"
/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface-list=lan new-connection-mark=conn-wan1 passthrough=yes src-address-list=\
    acl-wan1
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface-list=lan new-connection-mark=conn-wan2 passthrough=yes src-address-list=\
    acl-wan2
# pppoe-rt not ready
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=pppoe-rt new-connection-mark=conn-wan1 passthrough=yes
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=eth5-wan2 new-connection-mark=conn-wan2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=conn-wan1 in-interface-list=!wan new-routing-mark=wan1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=conn-wan2 in-interface-list=!wan new-routing-mark=wan2 passthrough=yes
add action=mark-routing chain=output connection-mark=conn-wan1 new-routing-mark=wan1 passthrough=yes
add action=mark-routing chain=output connection-mark=conn-wan2 new-routing-mark=wan2 passthrough=yes
/ip firewall nat
# pppoe-rt not ready
add action=src-nat chain=srcnat comment="WAN1 NAT" out-interface=pppoe-rt src-address-list=net-lan to-addresses=83.239.114.27
add action=src-nat chain=srcnat comment="WAN2 NAT" out-interface=eth5-wan2 src-address-list=net-lan to-addresses=193.232.250.2
add action=masquerade chain=srcnat out-interface-list=wan src-address-list=net-lan
add action=dst-nat chain=dstnat comment="MGMT WIFI-REMOTE (http)" dst-port=65501 in-interface-list=wan protocol=tcp src-address-list=net-cybercom \
    to-addresses=192.168.1.20 to-ports=80
add action=dst-nat chain=dstnat comment="MGMT WIFI-LOCAL (http)" dst-port=65502 in-interface-list=wan protocol=tcp src-address-list=net-cybercom \
    to-addresses=192.168.1.21 to-ports=80
add action=dst-nat chain=dstnat comment="WEB NVR" dst-port=65200 in-interface-list=wan protocol=tcp src-address-list=net-cybercom to-addresses=\
    192.168.100.240 to-ports=80
add action=dst-nat chain=dstnat comment="WEB NVR (alt)" dst-port=65201 in-interface-list=wan protocol=tcp src-address-list=net-cybercom to-addresses=\
    192.168.201.240 to-ports=80
/ip firewall service-port
set ftp disabled=yes
set tftp disabled=yes
set irc disabled=yes
set h323 disabled=yes
set sip disabled=yes
set pptp disabled=yes
set udplite disabled=yes
set dccp disabled=yes
set sctp disabled=yes
/ip route
add distance=1 gateway=pppoe-rt routing-mark=wan1
add distance=1 gateway=bb.bb.bb.1 routing-mark=wan2
add distance=20 gateway=bb.bb.bb.1
/ip route rule
add action=lookup-only-in-table disabled=yes src-address=aa.aa.aa.27/32 table=wan1
add action=lookup-only-in-table disabled=yes src-address=bb.bb.bb.2/32 table=wan2
/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Moscow
/system identity
set name=USERSITE
/system ntp client
set enabled=yes primary-ntp=188.225.9.167 secondary-ntp=213.110.203.168
/system ntp server
set enabled=yes
/tool graphing interface
add
/tool graphing queue
add
/tool graphing resource
add
/tool mac-server
set allowed-interface-list=mgmt
/tool mac-server mac-winbox
set allowed-interface-list=mgmt

 

 

Posted

В конфиге есть одна ошибка.

Нужно явно добавить разрешающее правило в forward, соответствующее NAT (как минимум, разрешить форвардинг из ACL net-lan на группу интерфейсов wan).

Самого по себе правила в ip firewall nat недостаточно.

Ну и правило в filter с критерием connection nat state srcnat почему-то не работает

Posted
В 16.12.2021 в 20:32, alibek сказал:

Я такое как-то уже настраивал ранее (с помощью route rule и маркировки пакетов), но помню, что потратил кучу времени, потому что работало это все как-то нелогично. Но конфигурацию не сохранял, а тот настроенный микротик помер безвозвратно и конфигурацию с него не вытянуть.

Не надо ничего вытягивать.

 

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

 

Далее через PPC маркируете всех абонентов по нужной пропорции, 1 к 1 или 2 к 1 и т.п., то есть сколько процентов абонентов идет на один аплинк, и сколько на другой - и все будет работать без проблем.

Нужно больше каналов - добавляете больше микротиков, подключив их все к "центральному", на котором будете управлять трафиком.

Если какой-то канал сломается, просто пингом через него проверяется доступность интернета (обычно несколько ресурсов), и когда доступа нет просто меняется маршрут. А пинг по прежнему идет, когда восстановится и трафик переключится.

Posted
2 часа назад, alibek сказал:

Спас-бросок провален.

Я прошу прощения но это черт возьми шедевральный ответ ;)

 

у него просто пенальти на спас броски, всегда почти проваливает - видать проклял кто-то

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.