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

Мост 2 LAN сетей через SLIP на RS232

У меня есть глупая проблема (надеюсь), которая сводит меня с ума 😊 Я создал сеть, изображенную ниже.


-------------+               ROUTER 1                 ROUTER 2
             |         +-----------------+     +------------------+ 
             |         |                 |     |                  |
   internet  |         | eth0            |     |             eth0 |       
             |         | 192.168.2.50/24 |     | 192.168.5.100/24 |-----+
  router     |----+----|                 |     |                  |     |
IP (LAN)     |    |    |                 |     |                  |     |
192.168.2.1  |    |    |                 |     |                  |     |
     (/24)   |    |    |             sl0 |     | sl0              |     |
             |    |    |    192.168.22.1 |-----| 192.168.22.2     |     |
-------------+    |    +-----------------+     +------------------+     |
                  |                                                     |
          +-----------------+                               +-----------------+
          | 192.168.2.2/24  |                               | 192.168.5.10/24 |
          | GW 192.168.2.254|                               | GW 192.168.5.100|
          |    CLIENT A     |                               |    CLIENT B     |
          +-----------------+                               +-----------------+

На обоих маршрутизаторах я включил IP_FORWARD и Debian в качестве ОС.

Цель:

-Убедитесь, что Клиент B может выходить в Интернет и иметь доступ к сети 192.168.2.0/24.

-Клиент A должен иметь доступ к сети 192.168.5.0/24 (и это делается путем добавления простого правила маршрута на клиенте A) и, очевидно, в Интернет.

Подключение SLIP (sl0) осуществляется через 3-проводное соединение с 2 адаптерами USB-RS232 (FT232 - чипсет FTDI). С приведенными ниже конфигурациями действительно возможно сделать то, о чем я прошу. MTU Sl0 намеренно понижен.

Если с клиента B я пытаюсь открыть веб-страницу с включенным TSHARK на интерфейсе sl0, я вижу большое количество ошибок в TCP-пакетах.

Я так много вижу:

TCP Dup ACK
Time-to-live exceeded
TCP Retransmission

Что делает невозможным открытие веб-страницы.

Если вместо этого я открою веб-страницу с маршрутизатора 2, количество ошибок резко упадет, и можно будет (медленно) перемещаться.

Start config of Sl0

## ROUTER 1
stty -F /dev/ttyUSB0 115200 raw
modprobe slip
slattach -L -s 115200 -p cslip /dev/ttyUSB0 &
ifconfig sl0 192.168.22.1 dstaddr 192.168.22.2 mtu 296 txqueuelen 3
echo 0 > /proc/sys/net/ipv4/tcp_fastopen
route add -net 192.168.22.0 netmask 255.255.255.0 gw 192.168.22.1
route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.22.2
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 296
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

## ROUTER 2
stty -F /dev/ttyUSB0 115200 raw
modprobe slip
slattach -L -s 115200 -p cslip /dev/ttyUSB0 &
ifconfig sl0 192.168.22.2 dstaddr 192.168.22.1 mtu 296 txqueuelen 3
echo 0 > /proc/sys/net/ipv4/tcp_fastopen
route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.5.100
route add -net 192.168.22.0 netmask 255.255.255.0 gw 192.168.22.2
ip route add default via 192.168.22.1
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 296
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Где я не прав?

У меня есть некоторые сомнения по поводу конфигурации IPTABLES и / или карты маршрутизации. Я подозреваю, что пакеты подпрыгивают между различными интерфейсами

Я тоже пробовал это: Изменить MSS в iptables И есть уменьшение погрешности.

Спасибо заранее за любые предложения!

####  Router 1 - routing table
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.2.1     0.0.0.0         UG    202    0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.5.0     192.168.22.2    255.255.255.0   UG    0      0        0 sl0
192.168.22.0    192.168.22.1    255.255.255.0   UG    0      0        0 sl0
192.168.22.2    0.0.0.0         255.255.255.255 UH    0      0        0 sl0


####  Router 2 – routing table
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.22.1    0.0.0.0         UG    0      0        0 sl0
192.168.5.0     0.0.0.0         255.255.255.0   U     200    0        0 eth0
192.168.22.0    192.168.22.2    255.255.255.0   UG    0      0        0 sl0
192.168.22.1    0.0.0.0         255.255.255.255 UH    0      0        0 sl0