web-dev-qa-db-ja.com

送信接続に特定のインターフェースを使用する(Ubuntu 9.04)

Ubuntu 9.04を実行しているコンピューターに2つのイーサネットインターフェイスがあります。どちらのインターフェースも静的IPを使用しますが、個別のゲートウェイを使用します。私の/etc/network/interfacesファイルは次のようになります。

 auto eth0 eth1 
 iface eth0 inet static 
 address 10.0.0.5 
 netmask 255.255.255.0 
 gateway 10.0.0.1 
 
 iface eth1 inet static 
 address 192.168.2.5 
 netmask 255.255.255.0 
 gateway 192.168.2.1 

大規模なインターネットへのすべてのトラフィックにeth0を通過させたいのですが、eth1を通過させたいようです。代わりにeth0を介して一般的な送信トラフィックをチャネリングし、サブネットへのトラフィックにeth1のみを使用する方法はありますか?

答えは永続的でなければなりません。つまり、スーパーユーザーが再起動後にコマンドを実行する必要なく、再起動後も存続するはずです。

[〜#〜] edit [〜#〜]:要求どおり、ここにroute -nコマンドの出力があります。

カーネルIPルーティングテーブル
宛先ゲートウェイGenmaskフラグメトリックRef Use Iface 
 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 
 192.168.2.0 0.0 .0.0 255.255.255.0 U 0 0 0 eth1 
 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 
 0.0.0.0 192.168.2.1 0.0.0.0 UG 100 0 0 eth1 
 0.0.0.0 10.0.0.1 0.0.0.0 UG 100 0 0 eth0 
6
Marcus Griep

デフォルトゲートウェイは1つだけです。ゲートウェイの行をeth1から削除すると、すべて正常に機能します(ネットワークの再起動後)。

12
Cian

/ etc/network/interfacesのeth1からゲートウェイを削除し、静的ルートとして追加します。

route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1

これにより、10.0.0.1がデフォルトゲートウェイになり、eth1は192.168.2.0ネットワークへの接続にのみ使用されます

4
hdanniel

提案されているようにルーティングテーブルをルーティングで変更すると、これは一時的に修正されますが、次回の起動時に現在の状態に戻ります。

/etc/rc.localまたは他のある種のinitスクリプトでルートルールを設定することは可能ですが、この場合、最も簡単なオプションは、インターフェースファイルのeth1からゲートウェイを削除することです。

そのゲートウェイを削除しても、そのシステムは引き続きeth1をルート192.168.2/24として自動的に使用しますが、他のすべてのトラフィックはeth0経由でルーティングします。

2
theotherreceive

ルートを入力して、現在のルーティングテーブルを確認します。マシンは、ルーティングテーブルにある最初のデフォルトgwを使用します。これは、デフォルトで、または宛先として0.0.0.0で示されます。 eth1のみをローカルの192.168.2.0/24ネットワークに使用する場合は、gatewayコマンドを削除します。これにより、eth1のデフォルトgwが唯一のデフォルトになります。

1

私はこのソリューションを4年以上使用しており、 Linode wikiで公開 を使用しており、問題なく動作しています。編集/etc/network/interfacesと一致させます。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address <the outbound IP>
    netmask <the netmask for the outbound IP, usually 255.255.255.0>
    gateway <the gateway for the outbound IP>
    up /sbin/ip addr add <the primary IP>/24 dev eth0
1
Dan Dascalescu