web-dev-qa-db-fra.com

Routez les requêtes de sous-réseau de wlan0 à eth0 sous Ubuntu 14.04

Mon Raspberry Pi est connecté via Ethernet à ma machine Ubuntu 14.04 (192.168.1.0/24 sur eth0).
Cette machine est connectée à Internet via un routeur WLAN Fritz Box (192.168.0.0/24 sur wlan0).

Le diagramme de topologie du réseau:

enter image description here

Pour avoir un accès Internet sur ma framboise, j'ai activé le transfert IP (net.ipv4.ip_forward) sur la machine Ubuntu et configuré son eth0 IP 192.168.1.1 comme passerelle par défaut sur la framboise. Sur la Fritz Box, j'ai inscrit le sous-réseau en ajoutant une route IP statique à 192.168.1.0/24 via la passerelle 192.168.0.2 (voir http://en.avm.de/nc/service/fritzbox/fritzbox- 7390/Knowledge-base/publication/show/581_Configuring-a-static-IP-route-in-the-FRITZ-Box / ). La Fritz Box utilise un serveur DHCP, mais elle est configurée pour donner toujours la même adresse IP à mon serveur Ubuntu.

À partir de la machine Ubuntu et de la framboise, je suis en mesure de faire un ping et d'accéder à tout (Internet, ordinateur portable, Fritz Box). Mais de l'ordinateur portable et des autres périphériques du réseau local sans fil, je ne suis pas en mesure d'accéder à la framboise.

La table de routage sur la framboise:

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

La table de routage sur la machine 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

La table de routage sur l'ordinateur portable (et d'autres clients WLAN):

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

Un tracepath 192.168.1.2 (la framboise) de l'ordinateur portable renvoie:

 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

alors qu'un ping 192.168.1.1 (le serveur Ubuntu sur eth0) fonctionne très bien:

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

Donc ça va dans le bon sens, mais ça reste bloqué sur la machine Ubuntu.

J'ai déjà essayé de configurer les règles NAT, mais à mon avis elles ne devraient pas être nécessaires car les iptables sont configurés pour tout autoriser (un pare-feu bloquant fonctionne déjà sur la boîte de Fritz) et le transfert IP est activé. J'ai même essayé d'activer proxy_arp sur les deux interfaces sans succès.

De plus, j'ai trouvé l'outil parprouted pour relier wlan0 et eth0, mais son utilisation m'a donné des réponses ARP non valides (deux adresses MAC pour l'adresse IP framboise) - tracées avec Wireshark.

Pourquoi ne puis-je pas accéder à ma framboise depuis le réseau WLAN?

1
Florian Mahlknecht

Avez-vous déjà résolu votre problème ??

Essayez cette route sur votre machine Ubuntu:

192.168.1.0     192.168.1.1     255.255.255.0   U     1      0        0 eth0

au lieu de

192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

Je pense que vous pouvez avoir une boucle de route sur cette machine ...;)

Meilleur,

JB

1
Joao Brito

Cela devrait configurer la redirection de port sur votre boîte, bien que vous deviez peut-être simplement utiliser iptables.

echo 1 > /proc/sys/net/ipv4/ip_forward

0
argarevarg