1

Я экспериментировал с подсетями в моей домашней сети и Raspberry Pi.

Кабельный модем ISP имеет 4 эти-интерфейса и 1 интерфейс WLAN, которые, кажется, все переключаются вместе. IP-адрес маршрутизатора - 192.168.0.1 за NAT интернет-провайдера.

Я подключил один порт Eth для кабельного модема к порту Eth для малины. Малина имеет дополнительный ключ wlan и настраивает точку доступа через hostapd. Конфигурация сети малины в /etc /network /interfaces:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1 
dns-nameservers 8.8.8.8 8.8.4.4

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static 
address 192.168.1.3
netmask 255.255.255.0

Используя команду iptables, я удалил все правила и установил политику по умолчанию для всех цепочек, которые будут ПРИНЯТЫ. Переадресация IPv4 активирована, и таблица маршрутизации:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

Однако RaspberryPi предоставляет сетевые конфигурации через ISC-DHCP-SERVER для обеих подсетей. Его конфигурация:

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.10 192.168.0.111;
  option routers 192.168.0.1;
  option rfc3442-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 2;
  option ms-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 2; 
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.10 192.168.1.111;
  option routers 192.168.1.3;
}

Поэтому я хочу, чтобы проблемы из сети 192.168.0.0/24 с 192.168.1.0/24 были направлены через 192.168.0.2 (этопорт Raspberries). Все остальные вопросы за 192.168.0.1. Все выпуски с 192.168.1.0/24 должны проходить через 192.168.1.3 (малиновый порт малины).

Я получаю следующие результаты:

pinging двух интерфейсов Raspberry от хоста в сети 192.168.1.0/24 дает успешные ответы. Проверка связи с адресом 192.168.0.1 или другим адресом 192.168.0.0/24 даже не дает хосту сообщение о недоступности. Ничего - пакеты потеряны ...

Что я могу сделать? В чем проблема?

ОБНОВИТЬ:

Таблицы маршрутизации пинг-машин, кажется, в порядке. Я мог бы решить проблему, маскируя IP-адрес источника со всех устройств в сети 192.168.1.0/24:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Но использование NAT для соединения двух подсетей во внутренней сети кажется мне обходным путем. Подсети должны быть доступны без NAT. Может ли быть так, что трафик в моей внутренней сети заблокирован любым из моих маршрутизаторов восходящего интернет-провайдера ???

1 ответ1

0

Это похоже на проблему односторонней маршрутизации.

Все ваши маршруты настроены правильно, и пакеты попадают в пункт назначения. Когда адресат пытается ответить, он не знает, как связаться с сетью 192.168.1.0/24. Он отправит трафик на свой шлюз по умолчанию, которым является маршрутизатор ISP 192.168.0.1.

Если вы добавите маршрут на маршрутизаторе ISP к 192.168.1.0/24 через 192.168.0.2, то он должен работать должным образом без NAT.

Обновить:

Если у вас нет доступа к вашему маршрутизатору ISP, вы можете просто добавить маршрут к 192.168.1.0/24 через 192.168.0.2 на КАЖДОМ ХОСТ-УСТРОЙСТВЕ.

ИЛИ ЖЕ

В вашей области DHCP для сети 192.168.0.0/24 вы можете раздать адрес своего Pi (192.168.0.2) в качестве маршрутизатора, и он будет шлюзом по умолчанию для всех ваших клиентов вместо маршрутизатора ISP. Тогда вы сможете маршрутизировать между обеими сетями, и Pi просто перенаправит интернет-трафик клиентов на 192.168.0.1. Кажется "более эффективным", чтобы клиентский интернет-трафик шел прямо к 192.168.0.1 вместо остановки на 192.168.0.2, но если вы хотите контролировать маршрутизацию, вам придется это сделать.

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