Назад | Перейти на главную страницу

Mikrotik - множество пакетов повторной передачи tcp

У меня есть сервер ubuntu с ip 192.168.10.144, на этом сервере у меня есть сеть докеров, использующая диапазон ip 10.0.0.0/24. Мне нужно подключить свой компьютер к некоторым службам, работающим в докере, поэтому я добавил маршрут в Mikrotik:

#      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
0 ADS  0.0.0.0/0                          192.168.0.1               1
1 A S  10.0.0.0/24                        192.168.10.144            1
2 ADC  192.168.0.0/24     192.168.0.3     ether1-internet           0
3 ADC  192.168.10.0/24    192.168.10.1    ether2-proliant           0

Однако соединение между моим компьютером и службами докеров очень медленное. Я использовал wirehark, чтобы проверить, что происходит, и нашел несколько сообщений tcp-restransmission:

Я думал, что правило nat может решить проблему, однако при использовании следующих правил между моим компьютером и докером не было никакой связи:

0    ;;; default configuration
  chain=srcnat action=masquerade out-interface=ether1-internet log=no 
  log-prefix="" 

1    chain=dstnat action=dst-nat to-addresses=192.168.10.144 to-ports=80 
  protocol=tcp dst-port=8000 log=no log-prefix="" 

2 X  chain=dstnat action=dst-nat to-addresses=192.168.10.144 protocol=tcp 
  dst-address=10.0.0.0/24 log=no log-prefix="" 

3 X  chain=srcnat action=src-nat to-addresses=10.0.0.0/24 protocol=tcp 
  src-address=192.168.10.144 log=no log-prefix="" 

Что я делаю не так?

Я просто удалил правила nat и добавил правило маскарада:

[admin@MikroTik] /ip firewall nat> print 
Flags: X - disabled, I - invalid, D - dynamic 
 0    ;;; default configuration chain=srcnat action=masquerade out-interface=ether1-internet log=no log-prefix="" 
 1    chain=dstnat action=dst-nat to-addresses=192.168.10.144 to-ports=80 protocol=tcp dst-port=8000 log=no log-prefix="" 
 2    chain=srcnat action=masquerade dst-address=10.0.0.0/24 log=no log-prefix="" 

Теперь все работает как положено.

Ваш компьютер имеет IP-адрес 192.168.10.53? Вы отправляете трафик на хост 10.0.0.77 через шлюз по умолчанию - 192.168.10.1. Ваш маршрутизатор отправляет вам обратно пакеты перенаправления ICMP. Вы можете прочитать об этом здесь: https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13714-43.html

Вы можете получить что-то похожее на описанную здесь проблему: https://forum.mikrotik.com/viewtopic.php?t=139465

Возможное решение: Установите статический маршрут на вашем ПК: 10.0.0.0/24 via 192.168.10.144