Мое пи малины подключено через Ethernet к моей машине Ubuntu 14.04 (192.168.1.0/24 на eth0).
Эта машина подключена к Интернету через Поле Неисправности Маршрутизатор WLAN (192.168.0.0/24 на wlan0).
Схема сетевой топологии:
Чтобы иметь доступ в Интернет на моей малине, я успешно включил передачу IP (сеть ipv4.ip_forward) на машине Ubuntu и настроил, это - eth0 IP 192.168.1.1 как шлюз по умолчанию на малине. На Поле Неисправности я зарегистрировал подсеть путем добавления статического маршрута IP к 192.168.1.0/24 через шлюз 192.168.0.2 (см. http://en.avm.de/nc/service/fritzbox/fritzbox-7390/knowledge-base/publication/show/581_Configuring-a-static-IP-route-in-the-FRITZ-Box/). Поле Неисправности выполняет сервер DHCP, но оно настроено для предоставления всегда того же IP моему серверу Ubuntu.
От машины Ubuntu и малины я могу проверить с помощью ping-запросов и получить доступ ко всему (Интернет, Ноутбук, Поле Неисправности). Но от ноутбука и других устройств в WLAN я не могу получить доступ к малине.
Таблица маршрутизации на малине:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Таблица маршрутизации на машине Ubuntu:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
Таблица маршрутизации на ноутбуке (и другие клиенты БЛС):
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 1024 0 0 wlp2s0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlp2s0
A tracepath 192.168.1.2
(малина) от возвратов ноутбука:
1?: [LOCALHOST] pmtu 1500
1: 192.168.0.2 5.174ms
1: 192.168.0.2 4.743ms
2: no reply
3: no reply
4: no reply
^C
в то время как a ping 192.168.1.1
(сервер Ubuntu на eth0), работает просто великолепно:
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.72 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=3.72 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=3.54 ms
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 2.724/3.329/3.720/0.439 ms
Таким образом, это на самом деле идет правильным путем, но этим stucks на машине Ubuntu.
Я уже попытался настроить правила NAT, но по-моему они не должны быть необходимыми, так как iptables настроены для разрешения всего (блокирующийся брандмауэр уже работает на поле Fritz), и передача IP включена. Я даже пытался включить proxy_arp в обоих интерфейсах без успеха.
Кроме того, я нашел инструмент parprouted
для образования моста wlan0 и eth0, но выполнение его дал мне недопустимые ответы ARP (два MAC-адреса для IP-адреса малины) - прослеженный с Wireshark.
Почему я не могу получить доступ к своей малине от беспроводной локальной сети?
Вы уже решили свою проблему??
Попытка этот маршрут на Вашей машине человечности:
192.168.1.0 192.168.1.1 255.255.255.0 U 1 0 0 eth0
вместо
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
я думаю, что у Вас может быть маршрутная петля на той машине...;)
Лучший,
JB
Это должно настроить перенаправление портов на Вашем поле, хотя Вам, вероятно, просто придется использовать iptables.
echo 1 > /proc/sys/net/ipv4/ip_forward