1

У меня проблемы с маршрутизацией трафика между двумя подсетями. С моей текущей настройкой я могу пропинговать хосты в обеих подсетях от моего Rasbperry Pi, но не могу пропинговать хосты из одной подсети в другую (тайм-аут).

По сути, я хотел бы, чтобы узлы из одной подсети имели доступ к узлам в другой подсети. Мой план состоял в том, чтобы сконфигурировать мой Raspberry Pi для обработки почти всей маршрутизации между подсетями, поскольку каждая подсеть находится за собственным базовым маршрутизатором, который не поддерживает статическую маршрутизацию. Затем я бы добавил маршрут на каждом хосте в противоположную подсеть через интерфейс RPi 'gateway'.

Вот моя текущая настройка:

LAN A <---> Маршрутизатор A <---> RPi <---> Маршрутизатор B <---> LAN B

LAN A
Сеть: 192.168.0.0/24
Шлюз: 192.168.0.1

LAN B
Сеть: 192.168.1.0/24
Шлюз: 192.168.1.1

RPi
ОС: Распбиан
eth0: 192.168.0.4
eth1: 192.168.1.4

Конфигурация интерфейса RPi:

# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.4
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.1

# The USB-Ethernet interface 1
allow-hotplug eth1
iface eth1 inet static
    address 192.168.1.4
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.1

Маршруты RPi:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     192.168.0.1     255.255.255.0   UG    0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1

Правила брандмауэра RPi:

# iptables -t nat -n -L -v
Chain PREROUTING (policy ACCEPT 2711 packets, 147K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 33 packets, 5204 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 97 packets, 7344 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 97 packets, 7344 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  *      eth0    192.168.0.0/24       192.168.1.0/24
    0     0 MASQUERADE  all  --  *      eth1    192.168.1.0/24       192.168.0.0/24

Маршрут хоста 192.168.0.3 (WIN 10):

>route PRINT
===========================================================================
Interface List
...
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1      192.168.0.3    281
...
      192.168.1.0    255.255.255.0      192.168.0.4      192.168.0.3     26
...
===========================================================================
...

В настоящее время это то, что происходит, когда я пингую шлюз противоположной подсети с хоста 192.168.0.3:

>ping 192.168.1.1

Pinging 192.168.1.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.1.1:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss).

Глядя на мои настройки, вы, вероятно, могли бы сказать, что я применил метод дробовика, но, к сожалению, это не сработало. Могу ли я узнать, что еще мне нужно настроить, или где я ошибся? Дайте мне знать, если мне нужно предоставить больше информации.

Спасибо заранее. :)

1 ответ1

2

Полный контекст установки заключается в том, что у нас есть 2 квартиры с собственным подключением к Интернету и локальной сетью, которые мы объединили, используя RPi через перемычку в гараже. Весь смысл этого упражнения состоял в том, чтобы я мог администрировать NAS наверху квартиры, не выходя из здания через сетевой трафик (что также делало бы совместное использование данных более быстрым), а также сохранять настройки Интернета / сети для каждого apt, чтобы они могли продолжать работает в случае, если RPi падает. Поскольку товарным маршрутизаторам в каждой квартире так не хватает опций и функций, я был готов пойти на компромисс, вручную добавив маршруты к хостам, которые я бы администрировал из моей подсети.

Это правда, что мне нужно лучше понять работу в сети, и я постоянно нахожусь в процессе, как ИТ-профессионал. Сегодня я говорил с коллегой о своей проблеме, и оказалось, что мне не нужно было добавлять какие-либо маршруты, мне просто нужно было изменить правила брандмауэра, чтобы использовать SNAT вместо MASQUERADE, и подсети начали общаться друг с другом (мне тоже нужно было чтобы разрешить пересылку IPv4, как предложил Пол, спасибо!):

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.0.0/24 -o eth0 -j SNAT --to-source 192.168.0.4
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.1.0/24 -o eth1 -j SNAT --to-source 192.168.1.4

Полный список iptables:

# iptables -t nat -n -L -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 SNAT       all  --  *      eth0    192.168.1.0/24       192.168.0.0/24       to:192.168.0.4
    0     0 SNAT       all  --  *      eth1    192.168.0.0/24       192.168.1.0/24       to:192.168.1.4

Как видите, при тестировании с хоста 192.168.0.3 трафик остается внутри здания:

>tracert 192.168.1.1

Tracing route to 192.168.1.1 over a maximum of 30 hops

  1     1 ms     1 ms    <1 ms  192.168.0.4
  2     1 ms     1 ms     1 ms  192.168.1.1

Trace complete.

Большое спасибо за ваши комментарии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .