1

в настоящее время я пытаюсь соединить две локальные сети, так как кажется, что обе сети не знают друг друга.

Herre это настройка сети:

  • Моя локальная домашняя сеть: 192.168.0.0/24 Rasperry Pi в качестве доступа

  • Точка, использующая свою собственную сеть (для функций DHCP и т.д.): 192.168.1.0/24

Настройка Raspberry Pi:

  • eth0: не связано
  • wlan0: 192.168.0.117
  • wlan1: 192.168.1.1
  • Пинг RasPi 192.168.1.1 для клиента RasPi 192.168.1.2 => успешно
  • Ping RasPi 192.168.0.117 на ПК 192.168.0.120 => успешно
  • Пинг RasPi 192.168.0.117 в Google (http://www.google.de) => успешно

Настройка ПК:

  • RJ45 соединение: 192.168.0.120
  • WiFi: не подключен
  • Ping PC 192.168.0.120 до RasPi 192.168.0.117 => успешно
  • Ping PC 192.168.0.120 до RasPi 192.168.1.1 => успешно
  • Ping ПК 192.168.0.120 в Google (http://www.google.de) => успешно

Любой клиент RasPi (например, мой iPhone4S, который должен использовать сеть RasPi WiFi): Подключен к RasPi WiFi (192.168.1.0/24):

  • WiFi: 192.168.1.2
  • Ping RasPi Client 192.168.1.2 на ПК 192.168.0.120 => не успешно (тайм-аут)
  • Ping RasPi Client с 192.168.1.2 по RasPi 192.168.0.117 => успешно
  • Ping RasPi Client с 192.168.1.2 по RasPi 192.168.1.1 => успешно
  • Клиент Ping RasPi 192.168.1.2 для поиска в Google (http://www.google.de)=> не выполнен (тайм-аут)

Подключен к маршрутизаторам (домашний) WiFi (та же сеть, что и ПК 192.168.0.0/24)

  • WiFi: 192.168.0.110
  • Ping RasPi Client 192.168.0.110 на ПК 192.168.0.120 => успешно
  • Пинг RasPi Client 192.168.0.110 до RasPi 192.168.0.117 => успешно
  • Ping RasPi Client 192.168.0.110 до RasPi 192.168.1.1 => не успешно (тайм-аут)
  • Ping RasPi Client 192.168.0.110 в Google (http://www.google.de) => успешно

Мне бы хотелось, чтобы все устройства в обеих сетях могли подключаться друг к другу. Проблема в том, что мой маршрутизатор домашней сети (192.168.0.1), к сожалению, не имеет опций для маршрутизации трафика между двумя сетями (может обрабатывать только переадресацию портов).

Вот почему я хотел бы использовать RasPi для маршрутизации трафика между двумя сетями, поскольку RasPi также является шлюзом.

Это настройка iptables RasPi:

Сгенерировано iptables-save v1.4.14 в Пт Мар 14 23:34:55 2014
*фильтр
: ВВОД ПРИНЯТЬ [423: 33976]
: ВПЕРЕД ПРИНЯТЬ [0: 0]
: ВЫХОД ПРИНЯТ [533: 57052]
COMMIT
Завершено в пт мар 14 23:34:55 2014
Сгенерировано iptables-save v1.4.14 в Пт Мар 14 23:34:55 2014
* nat: PREROURING ACCEPT [3:96]
: ВВОД ПРИНЯТЬ [0: 0]
: ВЫХОД ПРИНЯТ [0: 0]: ВЫПОЛНЯЕТСЯ ПРИНЯТЬ [0: 0]
-A ПРЕДУПРЕЖДЕНИЕ -i wlan1 -p tcp -m tcp --dport 22 -j НАПРАВЛЕНО --to-port 22
-A ПРЕДУПРЕЖДЕНИЕ -i wlan1 -p udp -m udp --dport 53 -j НАПРАВЛЕНО --to-port 53
-A ПРЕДУПРЕЖДЕНИЕ -i wlan1 -p tcp -m tcp --tcp-flags FIN, SYN, RST, ACK SYN -j REDIRECT --to-ports 9040 COMMIT
Завершено в пт мар 14 23:34:55 2014

Когда мой iPhone подключен к сети 192.168.1.0/24, я бы хотел пинговать свой компьютер в сети 192.168.0.0/24.

Когда мой iPhone подключен к сети 192.168.0.0/24, я бы хотел пинговать RasPi в сети 192.168.1.0/24.

У вас есть идеи, как этого добиться?

ура, Дэн

--- РЕДАКТИРОВАТЬ 1 --- Пока сделанные предложения не сработали. Единственное, что я до сих пор работаю, это интернет-соединение для клиента RasPi, отсюда и пинг к www.google.de.

Я отредактировал файл /etc /network /interfaces:

авто ло

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "abcdef"
wpa-psk "123456789"

allow-hotplug wlan1
iface wlan1 inet статический
адрес 192.168.1.1
маска сети 255.255.255.0
подсеть 192.168.1.0

до iptables-restore </etc/iptables.ipv4.nat

post-up route del default gw 192.168.1.1 wlan1
добавочный маршрут добавить по умолчанию gw 192.168.0.1 wlan0

Таблица маршрутизации теперь выглядит так:

Ziel Router Genmask Флаги Метрическая Ссылка Использовать Iface
по умолчанию 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 0 0 0 wlan1

Поскольку Интернет работает с этим решением, все, что мне нужно, это соединение между двумя подсетями. Из сети 192.168.1.0/24 я до сих пор не могу добраться до сети 192.168.0.0/24, только интернет через шлюз 192.168.1.1.

--- РЕДАКТИРОВАТЬ 1 ---
--- РЕДАКТИРОВАТЬ 2 ---
Я удалил следующие строки из /etc /network /interfaces:

post-up route del default gw 192.168.1.1 wlan1
добавочный маршрут добавить по умолчанию gw 192.168.0.1 wlan0

Поэтому я добавил приемлемые правила, упомянутые Лоуренсом. Мой iptable выглядит так:

Сгенерировано iptables-save v1.4.14 в понедельник, 7 апреля 17:51:30 2014
* физ
: ПРЕДОСТАВЛЕНИЕ ПРИНЯТИЯ [39: 1816]
: ВВОД ПРИНЯТЬ [1: 384]
: ВЫХОД ПРИНЯТ [0: 0]
: РАЗМЕЩЕНИЕ ПРИНЯТИЯ [0: 0]
-A ПРЕДУПРЕЖДЕНИЕ -i wlan1 -p tcp -m tcp --dport 22 -j НАПРАВЛЕНО --to-port 22
-A ПРЕДУПРЕЖДЕНИЕ -i wlan1 -p udp -m udp --dport 53 -j НАПРАВЛЕНО --to-port 53
-A ПРЕДУПРЕЖДЕНИЕ -i wlan1 -p tcp -m tcp --tcp-flags FIN, SYN, RST, ACK SYN -j REDIRECT
- к портам 9040
-A РАЗМЕЩЕНИЕ -o wlan0 -j МАСКАРАД
COMMIT
Завершено в понедельник, 7 апреля 17:51:30 2014
Сгенерировано iptables-save v1.4.14 в понедельник, 7 апреля 17:51:30 2014
*фильтр
: ВВОД ПРИНЯТЬ [28: 3580]
: ВПЕРЕД ПРИНЯТЬ [0: 0]
: ВЫХОД ПРИНЯТ [30: 3192]
-A ВВОД -i lo -j ПРИНЯТЬ
-A ВВОД -i wlan1 -j ПРИНЯТЬ
-A ВПЕРЕД -i wlan1 -j ПРИНЯТЬ
-A ВЫХОД -o lo -j ПРИНЯТЬ
-A ВЫХОД -o wlan1 -j ПРИНЯТЬ
COMMIT
Завершено в понедельник, 7 апреля 17:51:30 2014

Примечание. Три правила PREROUTING необходимы для прокси-сервера TOR, работающего на моем Pi.

Результат: Интернет-соединение работает, доступ с 192.168.1.0/24 до 192.168.0.0/24 по-прежнему невозможен. --- РЕДАКТИРОВАТЬ 2 ---

--- РЕДАКТИРОВАТЬ 3 ---
Сейчас я использую другой маршрутизатор, который поддерживает статические маршруты. Хорошо, что теперь я могу пропинговать все ips независимо от того, из какой сети в какую. К сожалению, я до сих пор не могу открыть какие-либо услуги. Поэтому я попытался сделать переадресацию портов, чтобы исправить это.

Сценарий таков:

192.168.1.2 (iPhone) -> 192.168.1.1 (RasPi Wlan1) - 192.168.0.4 (RasPi Wlan0) -> 192.168.0.2:5901 (NAS)

У NAS есть служба, работающая на портах 5901 и 80. Допустим, я хотел бы получить доступ к NAS через порт 5901 с iPhone, для этого случая я попробовал следующее правило iptables, но снова безуспешно:

iptables -A PREROUTING -t nat -i wlan1 -p tcp --dport 5901 -j DNAT - до 192.168.0.2:5901
iptables -A FORWARD -p tcp -d 192.168.0.2 --dport 5901 -j ПРИНЯТЬ

Любые предложения, как это исправить?
--- РЕДАКТИРОВАТЬ 3 ---

2 ответа2

0

Я собираюсь предположить, что вы используете DHCP-сервер на Pi, и он прослушивает wlan1 , и что вы используете hostapd для трансляции в качестве точки доступа.
Я также собираюсь предположить, что вы настроили Pi для пересылки пакетов.

Во-первых, я использую следующую конфигурацию для интерфейсов. Я не устанавливаю маршруты вручную вообще.

auto wlan0
iface wlan0 inet dhcp
wpa-ssid "ssid"
wpa-psk "psk" 

auto wlan1
iface wlan1 inet static
address 10.0.0.1
netmask 255.255.255.0

Во-вторых, я использую следующие правила iptables, чтобы делать то, что вы хотите:

iptables -F
iptables -X

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i wlan1 -j ACCEPT
iptables -A OUTPUT -o wlan1 -j ACCEPT

iptables -A POSTROUTING -t nat -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan1 -j ACCEPT

Этот сценарий должен позволять устройствам, подключенным к точке доступа Pi, подключаться к устройствам в сети 192.168.0.0/24.

Такую настройку я некоторое время работал дома, чтобы подключить устройства.

Если вы хотите, чтобы устройства, которые находятся в сети 192.168.0.0/24, имели доступ к устройствам в сети 192.168.1.0/24, то самый простой вариант - перенаправить порты на Pi на клиентские машины в сети Pi, а затем получить к ним доступ с помощью доступ к IP-адресу Pi через определенный порт.

Кроме того, вы можете настроить маршруты на всех клиентских компьютерах в сети 192.168.0.0/24 для доступа к сети 192.168.1.0/24 через Pi.

0

Чтобы использовать устройство (например, Raspberry Pi) в качестве шлюза, вам необходимо «сдвоить домашнее» устройство, т. Е. Установить IP-адреса в обеих сетях, поэтому вам необходимо добавить IP-адрес в сети 192.168.1. * для RaspberryPi вы можете использовать псевдоним eth0:0 для этого.

Как только Raspberry сможет связаться с сетью 192.168.1. *, Вы добавите маршрут ('добавление маршрута') во все сетевые устройства 192.168.1. *, Которые сообщают им, что сеть 192.168.0. * Достигается через шлюз RaspberryPi и наоборот.

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