Virtualboxを使用してCentOを実行しており、仮想マシン(CentO)とローカルコンピュータ(Windows)を接続するために使用されるIPを知りたいです。
CentOを実行すると、ifconfig
次の結果が表示されます。
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::5048:63:3271:b7d4 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:46:b8:4f txqueuelen 1000 (Ethernet)
RX packets 214900 bytes 249355246 (237.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29228 bytes 1764854 (1.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 655 bytes 167014 (163.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 655 bytes 167014 (163.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:53:37:45 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3つのIP(10.0.2.15
、127.0.0.1
または192.168.122.1
)のうちのどれが私の仮想マシンCentOを自分のローカルコンピュータ(Windows)に接続しているのか、どうすればわかりますか?
答え1
これは、ゲストオペレーティングシステムのネットワーク設定によって異なります。 NATモードを使用してホストと通信するために10.0.2.15を使用しているようです(NATモードのデフォルトネットワークなので、IP 10.0.2.15/24で識別可能)。ホストが(実際の)10.0.2.0/24ネットワークに接続されていない限り、ブリッジモードでプライマリネットワークインターフェイスに接続されている可能性があります。
入れ子になった仮想化が必要だとします。これは、KVMのデフォルトのブリッジインターフェイスであり、IP(192.168.122.1/24)もデフォルトです。だからあなたはvirbr0
そこに着きます。
結論として、Windowsコンピュータと通信するために10.0.2.15を使用します。より良い理解のために、以下の表を参照してください。
+------------+---------+--------------+---------+------------+--------------+
| Mode | VM→Host | VM←Host | VM1↔VM2 | VM→Net/LAN | VM←Net/LAN |
+------------+---------+--------------+---------+------------+--------------+
| Host-only | + | + | + | – | – |
+------------+---------+--------------+---------+------------+--------------+
| Internal | – | – | + | – | – |
+------------+---------+--------------+---------+------------+--------------+
| Bridged | + | + | + | + | + |
+------------+---------+--------------+---------+------------+--------------+
| NAT | + | Port forward | – | + | Port forward |
+------------+---------+--------------+---------+------------+--------------+
| NATservice | + | Port forward | + | + | Port forward |
+------------+---------+--------------+---------+------------+--------------+
Virtualbox ネットワーキングの詳細:https://www.virtualbox.org/manual/ch06.html
答え2
127.0.0.1ではありません。ループバックアドレス。 enp0s3 または virbr0 です。
この記事によると、仮想マシンはvirbr0を使用して外部環境に接続します。https://askubuntu.com/questions/246343/what-is-the-virbr0-interface-used-for
Linuxホストでvirbr0を使ってゲストに接続したいです。
私はこれがループバックとvirbr0を排除すると思います。答えはenp0s3のようです。
以下を使用してこれをテストできます。ip route get <some external address>
答え3
だから数週間前に同様の問題が発生しました。私の間違いは私に大きな悟りを与えたので、それに答えてこのアカウントを作成しました。
仮想マシンには独自のネットワークがあり、NATまたはブリッジネットワーキングを使用できます。したがって、ifconfigを実行してvibr0を見ると、指定されたIPアドレスは実際には仮想マシンのネットワークインターフェイスのゲートウェイアドレスです。ベアメタルインストールの場合、そのオペレーティングシステムをサポートする仮想マシンがないため、vibr0は表示されません。
VMがNATされている場合(ネットワーク接続であることを覚えていますが、略語ではありません)、VMゲートウェイの分岐があるため、IPアドレスは192.168.122.Xに似ています。 6.3 NATに公開されたAnnahriリンクの使用:
NAT対応の仮想マシンは、ルータを介してインターネットに接続されている物理コンピュータと非常によく似ています。この場合、ルータは、仮想マシンとのトラフィックを透過的にマッピングするOracle VM VirtualBoxネットワーキングエンジンです。 Oracle VM VirtualBoxでは、このルータは各仮想マシンとホストマシンの間に配置されます。
NATが有効になると、ゲートウェイアドレスは別の仮想マシン「ルーター」vibr0を通過します。
私が見るには、まるで橋がつながっているようです。これは、仮想マシンからホストネットワークにネットワークをブリッジしたことを意味します。 Windowsでコマンドプロンプトを開き、ipconfigを実行すると、ホストのIPアドレスは10.0.0.Xと同じになります。コマンドプロンプトでipconfigを実行すると、ゲートウェイアドレス(10.0.0.1)も提供されます。
私のIPアドレスはあなたのIPアドレスに似ています。 VMをNATからブリッジに変更したとき、再起動時にIPアドレスが192から10に変更されました。
私の経験のもう一つのポイントは、.1で終わるすべてのIPアドレスがゲートウェイアドレスであるということです。したがって、あなたの質問はネットワーキングについての深い内容をカバーしています。仮想マシンでは、セットアップ中に2つ(NATまたはブリッジング)から選択できる必要があり、設定後に仮想マシンの設定で2つのいずれかを変更できる必要があります。あるIPアドレスから別のIPアドレスに変更すると新しいIPアドレスが得られますが、もう一度変更すると古いIPアドレスを維持する必要があります。
AnnahriはNATやブリッジに加えてより多くのオプションがあるので、より詳細なリンクを投稿しました。