Le partage de connection NetworkManager ne semble pas aux packages NAT

Après avoir configuré le partage réseau de façon simple sur la machine Ubuntu et obtenu une adresse IP via DHCP sur la machine Arch Linux en aval, la machine Arch est capable de ssh sur la machine Ubuntu et de résoudre le DNS, mais pas de communiquer avec Internet , pacman time out). De la machine Arch Linux:

 $ ip route show dev net0 default via 10.42.0.1 mesortingc 202 10.42.0.0/24 proto kernel scope link src 10.42.0.15 mesortingc 202 $ ip addr show dev net0 ... inet 10.42.0.15/24 brd 10.42.0.255 scope global net0 ... 

Sur la machine Ubuntu:

 $ ip addr show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether e8:11:32:66:e3:4d brd ff:ff:ff:ff:ff:ff inet 10.42.0.1/24 brd 10.42.0.255 scope global eth0 inet6 fe80::ea11:32ff:fe66:e34d/64 scope link valid_lft forever preferred_lft forever $ ip addr show dev wlan0 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 88:53:2e:1b:4b:1c brd ff:ff:ff:ff:ff:ff inet 192.168.1.64/24 brd 192.168.1.255 scope global wlan0 inet6 fe80::8a53:2eff:fe1b:4b1c/64 scope link valid_lft forever preferred_lft forever 

Serait-ce que la configuration NAT automatique sur Ubuntu a échoué? Je ne suis pas sûr de savoir comment cela fonctionne, alors comment le détecterais-je?

Une seule chose me dérange, ici: vous dites que le DNS de la machine Arch fonctionne. Si votre server DNS est votre boîte Ubuntu, super. Si votre server DNS est externe, alors je suis confus. Je ne suis pas très familier avec Arch – je l'ai installé une seule fois – mais vous pouvez généralement vérifier /etc/resolv.conf pour voir qui sont vos servers DNS. S'ils sont internes, votre NAT ou votre transfert sur la boîte Ubuntu ne fonctionnera probablement pas. S'ils sont externes – ce qui signifie que vous résolvez avec succès les requêtes DNS sur un hôte externe – votre problème est probablement un problème iptables.

D'un sharepoint vue "ce qui risque de mal tourner", il est beaucoup plus probable que le transfert / NAT soit plus probable. Donc: vérifier le transfert est, en effet, activé sur la boîte Ubuntu:

 fireapple# cat /proc/sys/net/ipv4/conf/all/forwarding 1 

S'il renvoie "0", votre transfert n'est probablement pas activé. Pour le réparer temporairement, il suffit

 fireapple# echo 1 > /proc/sys/net/ipv4/conf/all/forwarding 

Pour le faire durer pendant un redémarrage, éditez /etc/sysctl.conf et ajoutez (ou modifiez pour ressembler) la ligne suivante:

 net.ipv4.ip_forward = 1 

Ensuite, un script quickie how-to-set-up-NAT. Branchez ce qui suit dans, par exemple, NAT.sh , assurez-vous d'avoir chmod +x 'd it et placez-le dans /usr/local/bin/ . Notez que j'ai fait des suppositions sur quelle interface fait quoi, sur la base du fait que les deux hôtes ont des adresses 10.42.0.0/24:

 #!/bin/sh export INTERNET=wlan0 # Assuming eth0 is your Internet-facing address export INTERNAL=eth0 # Likewise, assuming your WiFi is internal iptables --flush # Clean slate iptables -t nat -A POSTROUTING -o $INTERNAL -j MASQUERADE iptables -A FORWARD -i $INTERNAL -o $INTERNET -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $INTERNET -o $INTERNAL -j ACCEPT 

Une fois qu'il est sur place, exécutez-le (par exemple, sudo /usr/local/bin/NAT.sh ); si tout va bien, vous devriez pouvoir parler librement au monde extérieur.