web-dev-qa-db-ja.com

Network Managerを使用しないインターネット接続の共有

これらの手順 に従って、iptablesとの共有インターネット接続をセットアップしました。具体的には、I:

  1. / etc/network/interfacesの2番目のNICにネットワークインターフェースを追加しました。

    auto eth1

    iface eth1 inet static

    address 192.168.1.100

    netmask 255.255.255.0

  2. これらのルールを正確に入力しました:

    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. ルールをファイルに保存し、/ etc/rc.localに追加しました

  4. / proc/sys/net/ipv4/ip_forwardの値を1に変更してIP転送を有効にしました

  5. /etc/sysctl.confのnet.ipv4.ip_forward=1行のコメントを外しました

  6. 再起動しました

今、ラップトップをeth1インターフェイスに接続すると、IPアドレスを取得してゲートウェイにpingを実行できますが、それ以外のものには到達できません。つまり、8.8.8.8をpingできません。

関連する場合、他のインターフェイスはPPPoE接続です。次のようになります。

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up
provider dsl-provider

auto eth0
iface eth0 inet manual

多分問題はdnsmasqがネームサーバーを割り当てていなかったためだと思ったので、/ etc/network/interfacesの両方のインターフェースにdns-nameservers 8.8.8.8 8.8.8.4を追加しました。それは役に立たなかったので、ネームサーバーを/etc/resolv.confに追加してみました。そこに助けはありません。最後に、それらを/etc/dnsmasq.confに追加してみました:

no-resolv
server=8.8.8.8
server=8.8.4.4

これも助けにはなりませんでした。しかし、私の問題が本当にネームサーバーと関係があるのか​​、それとも単に古くて価値のないドキュメントの別のケースなのかはわかりません。

ある時点でNetwork Managerでこれを機能させることができましたが、Network ManagerでDHCP範囲を割り当てることができなかったのは気に入らなかったです。だから私はそこに戻らないようにしたい。

6
David Kennedy

一定:

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

#openwrtのg0rdonに再び感謝します:)

2
David Kennedy