Oracle VM VirtualBox网络配置,虚拟机不能上网,主机连不上虚拟机
这个问题也是困扰了我,防止以后在此遇到问题又继续找解决方案,现在记录下我的实现方案供后续需要查阅。
背景:安装虚拟后虚拟机不能上网,而且主机想要通过ssh连接主机找到不到主机。ip地址也ping不通。
直接说解决方案:
-
先在主机网络管理中创建一个新的网络,注意不使用DHCP。
-
将虚拟机网络的网卡1设置为网络地址转换NAT,后面虚拟机将使用主机的。
-
将虚拟机网络的网卡2设置为仅主机(Host-Only)网络,后面将使用该网卡连接虚拟机。
-
进虚拟机查看网络。
ifconfig
-- 将信息导出的文本中查看
ifconfig > net.txt
可以看到两个网卡信息,这两个网卡分别对应上面虚拟机的网卡
- enp0s3
该网卡的配置信息在/etc/sysconfig/network-scripts/ifcfg-enp0s3 ,如果没找到自己手动创建一下该文件,文件内容为下面(注意该项是动态获取ip上网)
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="请自行修改这里的uuid"
DEVICE="enp0s3"
ONBOOT="yes"
- enp0s8
该网卡的配置信息在/etc/sysconfig/network-scripts/ifcfg-enp0s8 ,如果没找到自己手动创建一下该文件。我们主要看这个文件,需要我们手动给虚拟机设置固定的IP,以便宿主机访问(该项设置为静态地址)
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s8"
UUID="请自行修改这里的uuid"
DEVICE="enp0s8"
ONBOOT="yes"
IPADDR=192.168.240.3
GATEWAY=192.168.240.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
修改完成后重启一下网卡。
systemctl restart network
/etc/init.d/networking restart
或者直接在可视界面手动重启网卡
确认配置生效
在虚拟机上 ping baidu.com,能ping通表示可以连外网,NAT网络设置正确。
在宿主机上 ping 虚拟机IP,能ping通说明虚拟机的 host-only 网络设置正确。
还不行?
- 禁用防火墙
sudo systemctl stop firewalld
sudo systemctl status firewalld
- 看下dns是否配置
cat /etc/resolv.conf
如果没有的话加上
nameserver 8.8.8.8
-
在主机禁用下网卡,在启用。然后重新启动虚拟机
-
还不行就砸电脑吧,不惯着!