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