web-dev-qa-db-fra.com

Laissez Raspberry Pi se connecter à Internet via Ubuntu dans une machine virtuelle

Ubuntu 12.04.5 LTS est installé sur une machine virtuelle sous OS X. Il existe un Raspberry Pi connecté au même Mac via un câble Ethernet direct. Le mac est connecté à internet via une connexion wifi.

Je souhaite connecter le RPI à Internet, mais ping <ip>, wget <url> ne fonctionne pas. Étrangement, apt-get IS fonctionne. Dans la machine virtuelle Ubuntu, tout peut se connecter à Internet, pas de problème.

Si je fais un Sudo tcpdump -a -v -i eth1 sur la machine Ubuntu et ping 8.8.8.8 sur le RPI, je peux voir que le trafic atteint Ubuntu, mais le RPI n'obtient aucune réponse. Je vois ceci dans Ubuntu:

10.0.0.101 > google-public-dns-a.google.com: ICMP echo request, id 2156, seq 1, length 64
09:49:47.008804 IP (tos 0x0, ttl 64, id 22891, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.0.101 > google-public-dns-a.google.com: ICMP echo request, id 2156, seq 2, length 64
09:49:48.008648 IP (tos 0x0, ttl 64, id 22985, offset 0, flags [DF], proto ICMP (1), length 84)
...

Si je fais un wget http://google.com, curl, etc. dans le RPI, je vois toujours du trafic atteindre la machine virtuelle Ubuntu, mais je ne renvoie jamais rien au RPI.

Comment connecter le RPI à Internet?

Merci

1
Marc

Finalement je l'ai fait fonctionner. J'étais confus parce que apt-get fonctionnait. Je pensais donc que tout était correctement configuré dans la machine virtuelle Ubuntu, mais ce n'était pas le cas. J'ai eu la solution de ce post https://support.hidemyass.com/hc/en-us/articles/202721486-Using-Linux-Virtual-Machine-instead-of-a-router-for-VPN

Dans votre machine virtuelle Ubuntu, en supposant que eth0: Internet, eth1: votre RPI connecté via un câble Ethernet

Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
Sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Sudo iptables -A POSTROUTING -t nat -j MASQUERADE
Sudo iptables-save | Sudo tee /etc/iptables.sav

décommentez cette ligne dans /etc/sysctl.conf

net.ipv4.ip_forward=1

La raison pour laquelle apt-get travaillait en premier lieu est encore un mystère pour moi.

1
Marc