web-dev-qa-db-ja.com

Ubuntu 14.04で2つのネットワークインターフェイスを構成する

私のコンピューターはUbuntu Server 14.04を実行しており、2つのネットワークに同時に接続されています(つまり、インターネットにアクセスできるIP 192.168.1.30のローカルネットワークAとIP 10.73.9.30のない別のローカルネットワークBインターネットにアクセスできます)。ほとんどのトラフィックはネットワークAを通過する必要がありますが、ネットワークBの他のコンピューターと通信するコンピューターも必要です(例:10.84.1.8-はい、実際にはネットワークBの同じサブネットにありません)。 2つのゲートウェイを設定できるように/etc/network/interfacesファイルにmetricを設定しましたが、最初のゲートウェイとネットワークBの他のサブネット(つまり10.84.1.8)のみが機能するようですコンピューター(10.73.9.30)にまったくアクセスできません。

興味深いことに、ネットワークBの同じサブネット(10.73.9.3など)にあるコンピューターは問題なくコンピューターにアクセスでき、10.84.1.8は10.73.9.3(ネットワークBにのみ接続されている)にもアクセスできます。したがって、コンピューターのネットワーク問題の原因は、コンピューターが2つのネットワークに接続されているためだと思います。これが私の/etc/network/interfacesファイルです:

auto lo
iface lo inet loopback

auto em1
iface em1 inet static
metric 0
address 192.168.1.30
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

auto em2
iface em2 inet static
metric 1
address 10.73.9.30
netmask 255.255.255.0
gateway 10.73.9.1

10\.*\.*\.* IPアドレスのデフォルトゲートウェイとして10.73.9.1をコンピューターに使用させるにはどうすればよいですか?

1
Runner

ルートを10.0.0.0/8に追加する必要があります。

route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.73.9.1 dev em2(テストなし)

永続的にするには、em2セクションのインターフェイス設定に追加します。

up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.73.9.1 dev em2

理解のためだけに、ローカルネットのどこにパケットを送信するかはコンピューターが知っています。それ以外の場合は、ルートが必要です。より具体的なルートがない場合は、デフォルトルートが使用されます。これで、そのサブネットのすべてのパケットを、おそらくどこにパケットを送信するかを知っている別のルーターを介して送信するように彼に伝えました。 (または、他の誰が知っているかを知っています。)

2
Jakob Lenfers