Kenny00
@Kenny00

Почему скорость передачи через wireguard туннель Mikrotik и vps падает в ноль?

Идея была простая, определённые IP через Mikrotik подключённый к VPS с wireguard пропускать трафик. Но скорость около нулевая. Если подключаемся напрямую к VPS по wireguard 100 мегабит стабильно.

wg0 туннель работает стабильно, ip сервера 10.10.100.1 , Микротик 10.10.100.4, как клиент NAT весь трафик через этот IP.
На роутере 2 сети, одна ходит через провайдера, вторая ходит через VPS как хотелось.

172.16.123.0/24 - сеть адресов которые идут напрямую, а 172.16.124.0/24 заворачиваем через wg0 NAT , т.е через VPS туннель.

Ниже вырезка из конфига, весь не влез, выбрал важные моменты относительно таблиц маршрутизации и маркировки. Может будет чем полезно?
Вырезка из конфига
# mar/14/2023 00:35:48 by RouterOS 7.8
# software id = JTH5-U5DD
#
# model = RB951G-2HnD

/interface bridge
add comment="Loopback interface" name=br-lo
add admin-mac=000000000 auto-mac=no comment=defconf name=bridge

/interface wireguard
add comment=vps listen-port=13231 mtu=1420 name=wg0

/interface wireguard peers
add allowed-address=0.0.0.0/0 comment=vps endpoint-address=xxx.xxx.158.xxx \
    endpoint-port=8090 interface=wg0 persistent-keepalive=10s public-key=\
    "xxxxxxxxxxxxxxxxxxxx="

/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=route chain=prerouting comment="Address List via ISP1 only" \
    dst-address-list=!BOGONS passthrough=no route-dst=10.10.100.1 \
    src-address-list=vps_users
add action=mark-connection chain=prerouting comment="Connmark in from VPS" \
    connection-mark=no-mark in-interface=wg0 new-connection-mark=conn_vps \
    passthrough=no
add action=mark-routing chain=prerouting comment=\
    "Routemark transit out via VPS" connection-mark=conn_vps \
    dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_vps \
    passthrough=no
add action=mark-routing chain=output comment="Routemark local out via VPS" \
    connection-mark=conn_vps dst-address-type=!local new-routing-mark=to_vps \
    passthrough=no
add action=mark-routing chain=prerouting comment="Address List via VPS" \
    dst-address-list=!BOGONS new-routing-mark=to_vps passthrough=no \
    src-address-list=vps_users
/ip firewall nat
add action=src-nat chain=srcnat comment="NAT via VPS" ipsec-policy=out,none \
    out-interface=wg0 to-addresses=10.10.100.4
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface=ether1
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface=wlan-ext
add action=masquerade chain=srcnat comment="defconf: masquerade" disabled=yes \
    ipsec-policy=out,none out-interface-list=WAN
/ip route
add check-gateway=ping comment="Marked via VPS" disabled=no distance=1 \
    dst-address=0.0.0.0/0 gateway=10.10.100.1 pref-src=0.0.0.0 routing-table=\
    to_vps scope=30 suppress-hw-offload=no target-scope=11
add comment="Emergency route" distance=254 gateway=br-lo

/routing rule
add action=lookup disabled=no dst-address=172.16.123.0/24 table=main
add action=lookup disabled=no dst-address=172.16.124.0/24 table=main
add action=lookup comment="From VPS IP to Inet" src-address=10.10.100.4 \
    table=to_vps

Traceroute для обычных пользователей
Tracert ya.ru
Трассировка маршрута к ya.ru [77.88.55.242]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  172.16.123.1
  2     1 ms    <1 мс    <1 мс  10.254.171.1
  3     1 ms     1 ms     1 ms  10.149.131.1
  4     1 ms     1 ms     1 ms  10.148.252.245
  5     2 ms     2 ms     2 ms  89.223.47.29
  6     2 ms     2 ms     2 ms  aurora.yndx.net [194.226.100.90]
  7    17 ms    18 ms    33 ms  sas-32z7-ae1.yndx.net [87.250.239.77]
  8    19 ms    18 ms    17 ms  10.2.7.1
  9    17 ms    17 ms    17 ms  ya.ru [77.88.55.242]

Трассировка завершена.

Трассировка для пользователей через VPS
Tracert ya.ru
Трассировка маршрута к ya.ru [5.255.255.242]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  172.16.124.1
  2    34 ms    34 ms    34 ms  10.10.100.1
  3    34 ms    34 ms    34 ms  sxx-vds.hosxxxxx.xxx [xx.xxx.x.x44]
  4    34 ms    34 ms    34 ms  51.195.4.252
  5    34 ms    34 ms    34 ms  10.162.49.26
  6    34 ms    35 ms    34 ms  10.17.245.18
  7    34 ms    34 ms    34 ms  10.73.40.74
  8     *        *        *     Превышен интервал ожидания для запроса.
  9    35 ms    35 ms    35 ms  fra-fr5-sbb2-nc5.de.eu [94.23.122.246]
 10    36 ms    36 ms    39 ms  10.200.0.19
 11    35 ms    35 ms    36 ms  ipv4.de-cix.fra.de.as208722.yandex.com [80.81.192.251]
 12     *        *        *     Превышен интервал ожидания для запроса.
 13    76 ms    76 ms    76 ms  ya.ru [5.255.255.242]

Трассировка завершена.


Какие могут быть причины медленной скорости?
Плюс на некоторых сайтах часть контента не грузится по таймауту.
Могу предположить, что я где-то не верно маркирую трафик и его перенаправляю, но тогда бы и всё не работало скорее всего. Как можно железобетонно всё проверить?
  • Вопрос задан
  • 327 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы