ネットワークインタフェースファイルによるゲートウェイアドレスの設定

ネットワークインタフェースファイルによるゲートウェイアドレスの設定

私の質問の概要バージョンは次のとおりです。gatewayネットワークインタフェースファイルのパラメータ設定がネットワークインタフェースに影響しないのはなぜですか?

または、post-upコマンドが失敗した場所で動作するのはなぜgatewayですかgateway、設定パラメータは正確に何をすべきですか?

私の問題の詳細な説明は次のとおりです。

/etc/network/interfacesDebian を実行している VirtualBox VM で、次のネットワークインタフェースプロファイル( )を検討してください。

# /etc/network/interfaces

# Original file

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface (NAT)
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

# Host-only interface (vboxnet0)
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.56.2
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.1

マシンを起動して実行すると、route -n次の結果が表示されます。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

驚くべきことに、このインターフェイスには192.168.56.0/24ネットワーク用のゲートウェイは設定されていませんeth1

ここで、次の代替構成ファイルを考えてみましょう。

# /etc/network/interfaces

# Modified file

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface (NAT)
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

# Host-only interface (vboxnet0)
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.56.2
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
# gateway 192.168.56.1
post-up route add default gw 192.168.56.1
pre-down route del default gw 192.168.56.1

この構成でコンピュータを再起動して実行すると、route -n次の結果が表示されます。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.56.1    0.0.0.0         UG    0      0        0 eth1
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

したがって、post-upデフォルトゲートウェイを設定する/メソッドは機能しますが、パラメータ自体を使用することは機能しません。私がここで何を見逃しているのでしょうか?pre-downgateway

ベストアンサー1

マニュアルで(man interfaces):

gateway address
                 Default gateway (dotted quad)

gatewayしたがって、基本静的ルーティングではなくルーティング。静的ルートは、デフォルトゲートウェイを使用するように設計されていないネットワークトラフィックに使用されます。デフォルトゲートウェイは、ローカルネットワークに向かうのではなく、ルーティングテーブルにデフォルトルートが割り当てられていないすべてのトラフィックに使用されます。 DHCP インターフェイスeth0の取得基本ゲートウェイその後、指定された静的eth1パスを使用できますpost-up route add default gw

追加資料:

2 つのネットワークインターフェイスで別々のネットワークトラフィック

以下を試してください。

echo '200 hostonly' >> /etc/iproute2/rt_tables

編集する/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The VirtualBox NAT interface.
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

# The VirtualBox host-only interface.
auto eth1
allow-hotplug eth1
iface eth1 inet static
    address 192.168.56.2
    netmask 255.255.255.0
    post-up ip route add 192.168.56.0/24 dev eth1 src 192.168.56.1 table hostonly
    post-up ip route add default via 192.168.56.1 dev eth1 table hostonly
    post-up ip rule add from 192.168.56.2/32 table hostonly
    post-up ip rule add to 192.168.56.2/32 table hostonly

再起動してどのように見えるかを確認してください。

おすすめ記事