VirtualBoxゲスト(Arch Linux)からインターネットにアクセスできません。

VirtualBoxゲスト(Arch Linux)からインターネットにアクセスできません。

VirtualBox 5.0.20を使用しています。ホストシステムは、OS X 10.11.5(El Capitan)を実行するMacBookです。ゲストオペレーティングシステムは64ビットArch Linuxです。 ISOからArchをインストールしたとき、ゲストのインターネット接続は大丈夫でした。ただし、インストールされたシステムから起動すると、インターネットにアクセスできなくなります(たとえば、8.8.8.8のpingの実行は無期限に中断されます)。

仮想マシンには、ブリッジネットワークアダプタとホスト専用ネットワークアダプタという2つのネットワークアダプタがあります。ブリッジをNATアダプタに変更し、ブリッジをホストのワイヤレスインターフェイスに一度、ホストの有線インターフェイスに一度接続してみました。これらの設定では、ゲストはインターネットにアクセスできません。

ゲストオペレーティングシステムでは、systemd-networkd.serviceとsystemd-resolved.serviceが有効になっています。私が知っている限り、他のネットワークサービスはアクティブではありません。可能であれば、他のサービスに切り替えるのではなく、これらのサービスを使い続けたいのですが、これらのサービスに私の問題の原因となる固有の欠陥がある場合は切り替えます。

ゲストオペレーティングシステムでは、ブリッジアダプタのネットワークファイルの内容は次のとおりです。

[root@arch64 ~]# cat /etc/systemd/network/bridged.network 
[Match]
Name=enp0s3

[Network]
DHCP=ipv4

そして、ホストアダプタのネットワークファイルの内容は次のとおりです。

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24
Gateway=192.168.56.1

ブリッジアダプタは正常にDHCPリースを取得し、まだLAN上のホストをpingできますが、LANルーター以外のものはpingできません。ホストのインターネット接続をお勧めします。

追加情報:

[root@arch64 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:1a:7d:74 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.5/24 brd 192.168.0.255 scope global dynamic enp0s3
       valid_lft 3598sec preferred_lft 3598sec
    inet6 fe80::a00:27ff:fe1a:7d74/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:3c:0a:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.2/24 brd 192.168.56.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe3c:a7d/64 scope link 
       valid_lft forever preferred_lft forever

[root@arch64 ~]# ip route
default via 192.168.56.1 dev enp0s8  proto static 
default via 192.168.0.1 dev enp0s3  proto dhcp  src 192.168.0.5  metric 1024 
192.168.0.0/24 dev enp0s3  proto kernel  scope link  src 192.168.0.5 
192.168.0.1 dev enp0s3  proto dhcp  scope link  src 192.168.0.5  metric 1024 
192.168.56.0/24 dev enp0s8  proto kernel  scope link  src 192.168.56.2 

ベストアンサー1

私の設定によると、2つのシステムネットワークデバイスファイルがあります。 1つはブリッジアダプタ用、もう1つはホスト専用アダプタ用です。 VMがネットワーク間を移動するラップトップにあるため、ブリッジアダプタに動的アドレスがあることを望み、ホストアダプタにのみ静的アドレスを持っているので、手動でアドレスを決定することなくSSHなどを介してアクセスできるようにしたいと思います。 。

ところで、ネットワークユニットファイルを作成するときに、Wikiチュートリアルの内容を無作為にコピーしました。ある部分では動的アドレスをすばやく設定する方法を説明し、他の部分では固定アドレスをすばやく設定する方法について説明します。明らかに、このチュートリアルでは両方を使用するのではなく、1つまたは他の単純な設定を使用していると仮定しています。これはより複雑なシナリオです。

簡単に言うと、ホストアダプタのネットワークファイルだけがゲートウェイオプションを指定し、ブリッジアダプタのファイルは指定しません。したがって、ホストアダプタ専用のゲートウェイは、仮想マシンからの着信トラフィックへのデフォルトルートとして表示されます。ネットワークファイルからこのオプションを削除すると問題が解決しました。

ホストアダプタ専用のネットワークファイルの変更(ゲートウェイオプションの削除):

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24

おすすめ記事