web-dev-qa-db-fra.com

Partage de connexion Internet sans Network Manager

J'ai suivi ces instructions pour configurer une connexion Internet partagée avec iptables. Plus précisément, je:

  1. 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

  2. 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

  3. A enregistré mes règles dans un fichier et l'a ajouté à /etc/rc.local

  4. Transfert IP activé en modifiant la valeur de/proc/sys/net/ipv4/ip_forward en 1

  5. Décommenter la ligne net.ipv4.ip_forward=1 dans /etc/sysctl.conf

  6. 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.

6
David Kennedy

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 :)

2
David Kennedy