J'ai suivi ces instructions pour configurer une connexion Internet partagée avec iptables. Plus précisément, je:
Ajout d'une interface réseau pour mon deuxième NIC dans/etc/network/interfaces comme ceci:
auto eth1
iface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
Entré ces règles exactement:
Sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
Sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Sudo iptables -t nat -F POSTROUTING
Sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
A enregistré mes règles dans un fichier et l'a ajouté à /etc/rc.local
Transfert IP activé en modifiant la valeur de/proc/sys/net/ipv4/ip_forward en 1
Décommenter la ligne net.ipv4.ip_forward=1
dans /etc/sysctl.conf
Redémarré
Maintenant, lorsque je connecte mon ordinateur portable à l'interface eth1, je reçois une adresse IP et je peux envoyer une requête ping à la passerelle, mais je ne peux rien atteindre en dehors de cela. c'est-à-dire que je ne peux pas envoyer de ping à 8.8.8.8.
Si cela est pertinent, mon autre interface est une connexion PPPoE. Cela ressemble à ceci:
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up
provider dsl-provider
auto eth0
iface eth0 inet manual
Je pensais que le problème était peut-être que dnsmasq n'attribuait pas de serveurs de noms. J'ai donc ajouté dns-nameservers 8.8.8.8 8.8.8.4
sous les deux interfaces dans/etc/network/interfaces. Cela n'a pas aidé, alors j'ai essayé d'ajouter les serveurs de noms à /etc/resolv.conf. Aucune aide là-bas. Enfin, j'ai essayé de les ajouter à /etc/dnsmasq.conf:
no-resolv
server=8.8.8.8
server=8.8.4.4
Cela n'a pas aidé non plus. Je ne suis cependant pas sûr si mon problème a vraiment quelque chose à voir avec les serveurs de noms ou s'il s'agit simplement d'un autre cas de documentation obsolète et sans valeur.
J'ai pu le faire fonctionner avec Network Manager à un moment donné, mais je n'aimais pas que Network Manager ne me laisse pas attribuer une plage DHCP. Je voudrais donc éviter de revenir à cela.
Fixé:
Sudo iptables -A FORWARD -o ppp0 -i eth1 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
Sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Sudo iptables -t nat -F POSTROUTING
Sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Merci encore à g0rdon à #openwrt :)