Fasttrack и маркировка пакетов для wireguard

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

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

Добрый день!
Столкнулся с проблемой, микротик hex S, настроил wireguard соединение и маркировку пакетов на ресурсы из address list.
При выключенном fasttrack все работает как надо, но от гигабита получаю только 400 мбит, т.к. CPU usage на микроте постоянно 100%, включаю fasttrack, получаю нужным мне гигабит, но соответственно перестают маркироваться пакеты для wireguard соединения.
Вопрос следующий, как правильно настроить fasttrack и firewall что бы не маркированные пакеты ходили как обычно, а маркированные через wireguard?
Если есть возможность, прошу пошагово расписать, насколько это возможно, в настройках firewall на микротике не особо шарю, только начал пытаться разобраться.
 конфиг
/interface bridge
add admin-mac=*** auto-mac=no comment=defconf name=bridge
/interface ethernet
set [ find default-name=ether1 ] advertise=100M-half,100M-full,1000M-half,1000M-full
/interface wireguard
add listen-port=*** name=wireguard1
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge lease-time=1d name=defconf
/port
set 0 name=serial0
/routing table
add disabled=no fib name=wg_mark
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=sfp1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface wireguard peers
add allowed-address=::/0,0.0.0.0/0 endpoint-address=*** endpoint-port=*** interface=wireguard1 persistent-keepalive=20s public-key=***
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=192.168.88.0
add address=*** interface=wireguard1 network=***
/ip dhcp-client
add add-default-route=special-classless comment=defconf default-route-distance=2 interface=ether1
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall address-list
add address=nnmclub.to list=rkn_wg
add address=rutracker.org list=rkn_wg
add address=kinozal.tv list=rkn_wg
add address=anonfiles.com list=rkn_wg
add address=gofile.io list=rkn_wg
/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=rkn_wg new-routing-mark=wg_mark passthrough=yes
add action=change-mss chain=forward new-mss=clamp-to-pmtu out-interface=wireguard1 passthrough=yes protocol=tcp tcp-flags=syn
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat out-interface=wireguard1
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wireguard1 routing-table=wg_mark suppress-hw-offload=no
/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh disabled=yes
set api disabled=yes
set winbox port=***
set api-ssl disabled=yes
/ip upnp
set enabled=yes
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system clock
set time-zone-name=Europe/Moscow
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN


xvo
Сообщения: 4230
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Переделать маркировку на то, чтобы сначала маркировать соединения, потом уже по ним - роутинг, только для исходящих пакетов.
И добавить в fasttrack условие connection-mark=no-mark.


Telegram: @thexvo
ar0unD
Сообщения: 13
Зарегистрирован: 03 фев 2023, 19:27

xvo писал(а): 11 фев 2023, 11:45 Переделать маркировку на то, чтобы сначала маркировать соединения, потом уже по ним - роутинг, только для исходящих пакетов.
И добавить в fasttrack условие connection-mark=no-mark.
спасибо за ответ, примерно понял что нужно сделать, несколько раз попробовал, не заработало, скорее всего где-то допустил ошибку, не затруднит Вас некую мини-инструкцию сделать? буду очень благодарен.


xvo
Сообщения: 4230
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

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

/ip firewall filter
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related connection-mark=no-mark hw-offload=yes

/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new dst-address-list=rkn_wg new-connection-mark=rkn_wg passthrough=yes
add action=mark-routing chain=prerouting in-interface-list=LAN connection-mark=rkn_wg new-routing-mark=wg_mark passthrough=yes


Telegram: @thexvo
ar0unD
Сообщения: 13
Зарегистрирован: 03 фев 2023, 19:27

xvo писал(а): 11 фев 2023, 12:54

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

/ip firewall filter
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related connection-mark=no-mark hw-offload=yes

/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new dst-address-list=rkn_wg new-connection-mark=rkn_wg passthrough=yes
add action=mark-routing chain=prerouting in-interface-list=LAN connection-mark=rkn_wg new-routing-mark=wg_mark passthrough=yes
Все работает, спасибо огромное.
Насколько я понял, при такой конфигурации, все соединения к address list rkn_wg маркируются как rkn_wg, и если входящий интерфейс это LAN и у пакета есть марка rkn_wg, то мы меняем марку на wg_mark и далее уже пакет идет по wireguard туннелю, верно?
Просто хочется понять как это работает, что бы можно было на втором микротике повторить из gui, а не терминала.


xvo
Сообщения: 4230
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

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


Telegram: @thexvo
ar0unD
Сообщения: 13
Зарегистрирован: 03 фев 2023, 19:27

xvo писал(а): 11 фев 2023, 13:31 Все так, только марку мы не меняем - это разные типы марок.
У всех пакетов этих соединений будет нужная марка соединения, но только у исходящих - марка роутинга.
У входящих пакетов никакой марки роутинга нет, и они продолжают ходить по основной таблице.
После Ваших слов, перечитал команды для терминала и пришло осознание как это работает, спасибо огромное еще раз за помощь и за небольшое обучение.


xvo
Сообщения: 4230
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

:co_ol:


Telegram: @thexvo
Kolobok
Сообщения: 1
Зарегистрирован: 22 июн 2025, 19:38

Столкнулся с похожей проблемой - при включенном fasttrack youtube не работает, при отключенном - без проблем. При этом vpn wineguard соединение устанавливается, пинги на внутренние адреса vpn проходят, трасировка показывает, что пакеты на адреса ютуба уходят в vpn, но ютуб и другие гугловские сервисы, не только ютуб, не работают.

Добавлял правило из постов выше - не помогло.
add action=mark-connection chain=prerouting connection-state=new dst-address-list=VPN new-connection-mark=VPN passthrough=yes
 Конфиг
# 2025-06-22 22:28:58 by RouterOS 7.19.1
# software id = TAEL-4YA9
#
# model = RB750Gr3

/interface bridge
add admin-mac=D4:01:C3:FD:CC:13 auto-mac=no comment=defconf name=bridge \
port-cost-mode=short
/interface wireguard
add listen-port=13231 mtu=1420 name=wg1
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp ranges=192.168.1.100-192.168.1.200
/ip dhcp-server
add add-arp=yes address-pool=dhcp interface=bridge lease-time=10m name=\
defconf
/port
set 0 name=serial0
/routing table
add disabled=no fib name=mark_vpn
/interface bridge port
add bridge=bridge comment=defconf ingress-filtering=no interface=ether2 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether3 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether4 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether5 \
internal-path-cost=10 path-cost=10
/ip firewall connection tracking
set udp-timeout=10s
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface ovpn-server server
add auth=sha1,md5 mac-address=FE:FD:47:EE:CE:8E name=ovpn-server1
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=83.xxx.xxx.xxx endpoint-port=\
51820 interface=wg1 name=wg1-peer public-key=\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/ip address
add address=192.168.1.1/24 comment=defconf interface=bridge network=\
192.168.1.0
add address=93.yyy.yyy.yyy/24 interface=ether1 network=93.yyy.yyy.0
add address=10.8.0.2/24 interface=wg1 network=10.8.0.0
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf dns-server=192.168.1.20 gateway=\
192.168.1.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=192.168.1.20,8.8.8.8
/ip dns static
add address=192.168.1.1 comment=defconf name=router.lan type=A
/ip firewall address-list
add address=8.8.4.0/24 list=VPN
add address=8.8.8.0/24 list=VPN
add address=8.34.208.0/20 list=VPN
add address=8.35.192.0/20 list=VPN
add address=23.236.48.0/20 list=VPN
add address=23.251.128.0/19 list=VPN
add address=34.0.0.0/15 list=VPN
add address=34.2.0.0/16 list=VPN
add address=34.3.0.0/23 list=VPN
add address=34.3.3.0/24 list=VPN
add address=34.3.4.0/24 list=VPN
add address=34.3.8.0/21 list=VPN
add address=34.3.16.0/20 list=VPN
add address=34.3.32.0/19 list=VPN
add address=34.3.64.0/18 list=VPN
add address=34.4.0.0/14 list=VPN
add address=34.8.0.0/13 list=VPN
add address=34.16.0.0/12 list=VPN
add address=34.32.0.0/11 list=VPN
add address=34.64.0.0/10 list=VPN
add address=34.128.0.0/10 list=VPN
add address=35.184.0.0/13 list=VPN
add address=35.192.0.0/14 list=VPN
add address=35.196.0.0/15 list=VPN
add address=35.198.0.0/16 list=VPN
add address=35.199.0.0/17 list=VPN
add address=35.199.128.0/18 list=VPN
add address=35.200.0.0/13 list=VPN
add address=35.208.0.0/12 list=VPN
add address=35.224.0.0/12 list=VPN
add address=35.240.0.0/13 list=VPN
add address=57.140.192.0/18 list=VPN
add address=64.15.112.0/20 list=VPN
add address=64.233.160.0/19 list=VPN
add address=66.22.228.0/23 list=VPN
add address=66.102.0.0/20 list=VPN
add address=66.249.64.0/19 list=VPN
add address=70.32.128.0/19 list=VPN
add address=72.14.192.0/18 list=VPN
add address=74.125.0.0/16 list=VPN
add address=104.154.0.0/15 list=VPN
add address=104.196.0.0/14 list=VPN
add address=104.237.160.0/19 list=VPN
add address=107.167.160.0/19 list=VPN
add address=107.178.192.0/18 list=VPN
add address=108.59.80.0/20 list=VPN
add address=108.170.192.0/18 list=VPN
add address=108.177.0.0/17 list=VPN
add address=130.211.0.0/16 list=VPN
add address=136.22.160.0/20 list=VPN
add address=136.22.176.0/21 list=VPN
add address=136.22.184.0/23 list=VPN
add address=136.22.186.0/24 list=VPN
add address=142.250.0.0/15 list=VPN
add address=146.148.0.0/17 list=VPN
add address=152.65.208.0/22 list=VPN
add address=152.65.214.0/23 list=VPN
add address=152.65.218.0/23 list=VPN
add address=152.65.222.0/23 list=VPN
add address=152.65.224.0/19 list=VPN
add address=162.120.128.0/17 list=VPN
add address=162.216.148.0/22 list=VPN
add address=162.222.176.0/21 list=VPN
add address=172.110.32.0/21 list=VPN
add address=172.217.0.0/16 list=VPN
add address=172.253.0.0/16 list=VPN
add address=173.194.0.0/16 list=VPN
add address=173.255.112.0/20 list=VPN
add address=192.158.28.0/22 list=VPN
add address=192.178.0.0/15 list=VPN
add address=193.186.4.0/24 list=VPN
add address=199.36.154.0/23 list=VPN
add address=199.36.156.0/24 list=VPN
add address=199.192.112.0/22 list=VPN
add address=199.223.232.0/21 list=VPN
add address=207.223.160.0/20 list=VPN
add address=208.65.152.0/22 list=VPN
add address=208.68.108.0/22 list=VPN
add address=208.81.188.0/22 list=VPN
add address=208.117.224.0/19 list=VPN
add address=209.85.128.0/17 list=VPN
add address=216.58.192.0/19 list=VPN
add address=216.73.80.0/20 list=VPN
add address=216.239.32.0/19 list=VPN
add address=45.137.66.127 list=VPN
add address=179.43.150.83 list=VPN
add address=178.132.81.0/24 list=VPN
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input dst-port=51820 in-interface=ether1 protocol=udp
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
"defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-mark=no-mark connection-state=established,related hw-offload=\
yes
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall mangle
add action=mark-routing chain=prerouting comment="Mark VPN" dst-address-list=\
VPN new-routing-mark=mark_vpn passthrough=no src-address=192.168.1.0/24
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN src-address=192.168.1.0/24
add action=masquerade chain=srcnat out-interface=wg1
/ip ipsec profile
set [ find default=yes ] dpd-interval=2m dpd-maximum-failures=5
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=93.yyy.yyy.1
add comment="Youtube to VPN" disabled=no distance=1 dst-address=0.0.0.0/0 \
gateway=wg1 pref-src="" routing-table=mark_vpn scope=30 \
suppress-hw-offload=no target-scope=10
/ip service
set ftp address=192.168.1.0/24
set ssh address=192.168.1.0/24
set telnet address=192.168.1.0/24
set www address=192.168.1.0/24
set www-ssl address=192.168.1.0/24
set winbox address=192.168.1.0/24
set api disabled=yes
set api-ssl disabled=yes
/routing bfd configuration
add disabled=no interfaces=all min-rx=200ms min-tx=200ms multiplier=5
/system clock
set time-zone-name=Europe/Moscow
/system identity
set name=Asus
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN


Ответить