如何获取在虚拟盒中与 IPv6 一起运行的 ubuntu 服务器的 IPv4 地址?

如何获取在虚拟盒中与 IPv6 一起运行的 ubuntu 服务器的 IPv4 地址?

我在虚拟机上安装了 ubuntu 服务器。当我执行“ifconfig”命令时,它显示了 eth0 和带有 inet6 地址的环回信息。但我想要 ipv4 地址而不是 ipv6,而且我不确定虚拟机的网络适配器配置,因为我在电脑上使用 wifi。请帮帮我

答案1

除了桥接模式之外,我还必须按照这篇文章禁用 ipv6 才能使其正常工作: https://superuser.com/questions/1146122/ubuntu-virtualbox-guest-does-not-get-ipv4-in-bridged-mode/1148247#1148247?newreg=7c77aaf0882540148a3700242cd05d0b

粘贴上面的步骤:打开/etc/default/grub

在此文件中,找到以下行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

并将其更改为:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

保存文件并通过运行以下命令更新 GRUB:

sudo update-grub

现在重新启动虚拟机。下次它将提供适当的 ipv4 地址。

答案2

我猜你使用桥接模式上网,但是你的 dhcp 没有为你的端口提供 IP 地址,或者你没有启用网络。所以,它显示如下

eth0      Link encap:Ethernet  HWaddr e8:11:32:db:1b:a5  
          inet6 addr: fe80::ea11:32ff:fedb:1ba5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:68323 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51953 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:82498217 (82.4 MB)  TX bytes:4621046 (4.6 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:9075 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9075 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:916870 (916.8 KB)  TX bytes:916870 (916.8 KB)

解决方案:使用以下方法启动网络管理器

sudo service network-manager start

或者使用(如果已经开始)

sudo service network-manager restart

或者

sudo ip link set eth0 up 

或者

sudo nmcli nm enable true

或使用 GUI 启用

network-manager--> Enable Networking and connect wired connection

或者

如果你仍然遇到问题,那么这意味着你的 wifi dhcp 没有向 VM 提供 ip,那么你可以将模式更改bridgeNAT互联网,然后你将获得私有 ip 并能够连接互联网

答案3

您能否确保已以桥接模式设置虚拟接口?

如果您使用无线连接,Vbox 将不支持桥接模式下的 IPv6,如您在 Vbox 手册中看到的:

https://www.virtualbox.org/manual/ch06.html#network_bridged

希望这可以帮助。

相关内容