私のサーバーには 2 つの NIC があります。1 つはケーブル モデム/インターネット (eth0) に接続されており、構成に DHCP を使用しています。もう 1 つは LAN (eth1) に接続されており、静的 IP を持っています。
DHCP を提供するようにサーバーを構成しましたが、これは機能し、LAN に追加されたマシンは IP アドレスを取得します。
ただし、LAN NIC が起動している場合、サーバーは Web アドレスを解決できません。次の操作を実行します。
sudo ifconfig eth1 down
サーバーはウェブにアクセスできます(Firefox はウェブページを読み込むことができます)。しかし、私がそうした場合:
sudo ifconfig eth1 up
サーバーはインターネットにアクセスできません (Firefox は Web ページの読み込み中にタイムアウトします)。
なぜこうなった?
編集: 要求どおり、インターフェース ファイル:
auto eth0, eth1
mapping eth0 eth1
script /etc/networks/get-mac-address.sh
map 00:19:66:82:61:f7 internet
map 00:27:19:b2:12:2b lan
iface internet inet dhcp
gateway 192.168.1.2
iface lan inet static
address 192.168.1.2
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
答え1
ファイルの内容を含めると、はるかに簡単になります/etc/network/interfaces
。推測するに、最も可能性の高い問題は、セカンダリ インターフェイスにデフォルト ゲートウェイを設定しようとしたが、そのネットワークの番号が小さいことだと思います。
単純なルーターを想定すると、デフォルト ゲートウェイはインターネットに接続されているインターフェイスでのみ定義する必要があります。
答え2
設定にゲートウェイがありません。 'netstat -rn' を試して、eth1 にゲートウェイがあるかどうかを確認してください。 0.0.0.0 へのルーティングは eth0 のみである必要があります。 eth1 が起動しているときと停止しているときの /etc/resolv.conf の内容を確認してください。 それらは同じで、ISP のネームサーバーがリストされている必要があります。 eth1 が起動しているときと停止しているときに google.com に ping を実行してみてください。 eth1 が起動しているときに失敗する場合は、IP アドレスで ping を実行してみてください。 これは、DNS かルーティングかを判断するのに役立ちます。