web-dev-qa-db-ja.com

Ubuntu VirtualboxゲストがブリッジモードでIPv4を取得しない

Linux Mint 18 Cinnamon 64ビットホストに新しい仮想ボックスUbuntu Server 16.04 32ビットゲストインストールがあります。ゲストシステムを物理マシンのようにローカルネットワークに表示させたい。 そのため、ゲストにはブリッジネットワークモードが必要です---ホストのみまたはNATは機能しません。ホストシステムはイーサネットケーブルを介して接続され、ゲストの追加が仮想マシンにインストールされます。

奇妙なことに、インストール中に、ゲストシステムは追加のパッケージを完全にダウンロードできます。ただし、ログインすると、ローカルネットワークのコンピュータやgoogle.comなどの外部サーバーにpingを実行できません。

ために google.com、「ping:Host unknown」と表示され、ローカルルーター(192.168.178.1)の場合、「connect:Network is unreachable」と表示されます。

詳細に調べたところ、 仮想マシンがルーターのDHCPサーバーからIPv4アドレスを受け取っていないことがわかりました。ただし、私のルーターは、アドレスが割り当てられたことを表示します (4番目のエントリ)。

静的IPv4を設定してみました。次に、一致するアドレスがipconfigに表示されます。ただし、ゲストは何もpingできません。また、実際には、仮想マシンがローカルDHCPサーバーからIPv4アドレスを受信することを希望しています。

/etc/network/interfacesipconfigからのネットワークインターフェイスは次のように初期化されます:allow-hotplug enp0s17 iface enp0s17 inet dhcp

私が試したもの:

  • ゲストを静的IPv4に設定
  • iPv6を無効にする
  • 削除/etc/udev/rules.d/70-persistent-net.rules
  • Sudo ip link set enp0s17 up
  • dhclient enp0s17

これらはどれも機能しませんでした。誰かがこの問題を解決するのを手伝ってくれる?

5
wehnsdaefflae

問題は異なりますが、 解決策は同じです

10Mbps、半二重で開始し、問題が発生するまで10Mbps FD、100Mbps HDまで上向きに作業します。次に、1ノッチ下がって、その速度のままにしておきます。

まず、ethtoolをインストールします(すでにインストールされている場合は、最新バージョンがすでにインストールされているという警告が表示されます)

Sudo apt-get install ethtool

今:

  1. 次のコマンドを入力します(そして、それらを1つずつテストします)

    Sudo ethtool --change eth0 speed xxx duplex yyy autoneg off

    どこ xxx = 10, 100または1000およびyyy = halfまたはfull

    10 half10 full100 half、...

  2. ifconfigを実行して、IPアドレスを取得したかどうかを確認します。

  3. 機能しなくなるまで1に戻り、まだ機能していた以前の値を使用して次のことを行います。

  4. 変更を永続的にするには、次のコマンドを実行します。

    Sudo nano /etc/network/interfaces

    と入力しますpre-up セクション:

    pre-up /usr/sbin/ethtool --change eth0 speed xxx duplex yyy autoneg off

OPによって投稿された完全なエントリに注意してください。

auto eth0
iface eth0 inet dhcp
    pre-up ifconfig $IFACE up
    pre-up ethtool -s $IFACE speed 100 duplex full autoneg off
1
wehnsdaefflae

これに対する最初の答えは、少し複雑すぎるようです。以下はうまくいくはずです。ゲストマシンを開き、次の操作を行います。

ブート直後から無効にした方がよいかもしれません。この目的のために、以下を開きます。

/etc/default/grub

rootアクセスでお気に入りのテキストエディターを使用:

つまり.

gksu gedit /etc/default/grub

または、コマンドラインのみを使用する場合:

Sudo nano /etc/default/grub

このファイルで、次の行を見つけます。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

それを次のように変更します。

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

ファイルを保存し、GRUBを実行して更新します。

Sudo update-grub

sysctlメソッドを試した場合:

Ip6値を0に設定することができ、ブートの一部としてsysctlを初期化しない場合、それはとにかくそれを無視するため、次の質問/最高投票の回答を参照してください(システムを無効にするためにすべてを1に設定した後、デフォルトのip6値を読んでくださいsysctlを実行するために必要な0を報告します):

buntu 14.04でIPv6を無効にする方法?

起動時にip6を無効にするため、起動中に何もip6ルートに行こうとしないため、私の方法が好きです(起動時に有効にして、OS自体の内部で無効にすることでエラーが発生する場合もあります)。また、1つのファイルの1つのラインをわずかに調整するだけで物事が非常に簡単になり、100 MHzフルデュプレックスまたは1000 MHzフルデュプレックス(Gigを使用している場合)未満を使用する場合のようにライン速度を犠牲にする必要はありません。 100 Megルーターまたはスイッチの場合は後者、前者になります)。

3
Mike

同様の問題がありました。/etc/network/interfacesにはipsなどが含まれていましたが、受け入れられませんでした。私はネットプランをアンインストールし、apt install ifupdownを介してifupdownをインストールする必要がありました。これがインストールされると、/ etc/network/interfacesファイルからipsが認識されていました。

これがこの問題を持つ他の人を助けることを願っています。

1
lintastic

VirtualBox VMの設定で、[ネットワーク]に移動し、右側のペインで[詳細設定]をドロップダウンして、[アダプタータイプ]を確認します。デフォルトは「Intel PRO/1000 MT Desktop(82540EM)」のように見えます。そのアダプタタイプでは、まったく同じ問題が発生したため、アダプタタイプを「Intel PRO/1000 MT Server(82545EM) "そして/ etc/network/interfacesファイルを更新します(Ubuntu Serverをインストールする前にアダプタタイプを変更した場合、正しい情報を含むinterfacesファイルが作成されます)私が使用しているVBoxのバージョンは、Windows 10ホスト上の5.1.28 r117968(Qt5.6.2)で、ブリッジネットワークを使用しています。

0
Andy Anderson