web-dev-qa-db-ja.com

2つのネットワークインターフェイスを同時に使用することはできません

私は問題があります。まず、Ubuntu 14.04にサーバーをセットアップしたいと思います。 dhcpサーバー用のeth0とインターネット接続用のeth1の2つのインターフェイスがあります。しかし、2つのネットワークに同時に接続すると、PCにインターネットがありません。したがって、サーバーとインターネットのどちらかを選択する必要があります。それはひどいです、誰もこの問題を閉じる方法を教えてもらえますか?

/ etc/network/interfaces:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
broadcast 172.16.1.255
gateway 172.16.1.254

Sudoルートの出力:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     1      0        0 eth1

UPD:ifconfigの出力:

eth0      Link encap:Ethernet  HWaddr 90:e6:ba:46:1d:50  
          inet6 addr: fe80::92e6:baff:fe46:1d50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1110 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:184287 (184.2 KB)

eth1      Link encap:Ethernet  HWaddr 00:04:75:98:5f:da  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::204:75ff:fe98:5fda/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14498 errors:0 dropped:0 overruns:2 frame:0
          TX packets:13096 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9710708 (9.7 MB)  TX bytes:1840400 (1.8 MB)
          Interrupt:18 Base address:0x4c00 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:527890 (527.8 KB)  TX bytes:527890 (527.8 KB)
9
Andreikkaa

ifconfigの出力と最初の答えに与えられたコメントを構成すると、問題は/etc/network/interfacesでNICを構成する方法に関連していると思います。

/etc/network/interfacesの-​​eth1に特定の設定がないため、モデムがDHCPを介してサーバーにIP情報を提供していると思われます。 routeの出力に従って、モデムを指すデフォルトゲートウェイをインターネットに取得します。

しかし、eth/etc/network/interfacesファイルには、デフォルトゲートウェイも設定されています(ステートメントgateway 172.16.1.254)。

システムに2つのデフォルトゲートウェイを設定することはできません。 eth1でのデフォルトゲートウェイの割り当ては、ethの静的構成を無効にし、ifconfig出力にethのIPがない理由と理由インターネットは機能し、内部ネットワークはもう機能しません。

gateway 172.16.1.254を削除して、再試行する必要があります。

もちろん、そうすることで、内部LANに複数のサブネットがある場合、それらにアクセスできなくなります。サーバー上のこれらすべてのサブネットに向けて静的ルートを構成しない限り:

Sudo route add -net A.B.C.D gw 1​​72.16.1.254

/etc/network/if-up.dの下に保存されたスクリプトにrouteコマンドを追加して、インターフェイスが起動するたびに実行することができます。

4
Benoit

あなたの投稿について私が理解していることから、あなたはeth1を介してインターネットに接続し、ethを介して内部ネットワークに接続しています。そして、サーバーはDHCPサーバーの役割を果たし、PCがインターネットにアクセスするためのデフォルトゲートウェイになります。

まず、PCで、ゲートウェイを含むすべてのDHCP設定を正しく受信したことを確認します。あなたの質問から、172.16.1.100であるべきだと思います

次に、eth1がインターネットに適切に接続され、適切に構成されていることを確認してください。これは明らかにISPに依存しています。

最後に、最も重要な操作である、サーバー上の2つのインターフェイス間でIP転送を有効にする必要があります。これがないと、パケットはPCとインターネット間でルーティングされません。

手動セットアップ:

Sudo echo 1>/proc/sys/net/ipv4/ip_forward

ブート時にIP転送フラグを自動的に設定するには、#net.ipv4.ip_forward=1/etc/sysctl.conf行のコメントを解除します

また、トラフィックをブロックするIPtablesファイアウォールルールがないことを確認する必要があります。行う :

iptables -L -n

ルールのリストを取得します(ある場合)。最初に、すべてのファイアウォールルールを無効にしてこのセットアップを試します。

iptables -F

3
Benoit

私は同様の問題を抱えていましたが、私のインターフェースファイルは次のように空でした:

# The loopback network interface
auto lo
iface lo inet loopback

見つかった有線接続ファイルを移動/削除することで問題を解決できました:/etc/NetworkManager/system-connections/Wired connection 1

再起動後、両方のネットワークに接続できました。

2
Maksim Luzik