私の質問の概要バージョンは次のとおりです。gateway
ネットワークインタフェースファイルのパラメータ設定がネットワークインタフェースに影響しないのはなぜですか?
または、post-up
コマンドが失敗した場所で動作するのはなぜgateway
ですかgateway
、設定パラメータは正確に何をすべきですか?
私の問題の詳細な説明は次のとおりです。
/etc/network/interfaces
Debian を実行している 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-down
gateway
ベストアンサー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
再起動してどのように見えるかを確認してください。