admin管理员组

文章数量:1571080

文章目录

    • VirtualBox的7种网络接入模式详解
    • 各网络模式的默认情况下,网络连接情况
    • 配置网络地址转换(NAT)模式
      • 访问外网
      • 宿主机访问虚拟机
    • 配置桥接模式
      • 网络连接方式设置
      • 修改网卡配置文件
      • 测试网络
    • NAT+HostOnly模式组合
      • 设置主机网络管理器
      • 网络连接方式设置
      • 虚拟机网卡配置文件修改
        • 修改默认网卡配置文件(NAT)
        • 修改网卡2配置文件(HostOnly)
      • 宿主机通过静态ip(HostOnly方式)访问虚拟机
    • 碰到问题
      • 使用service network restart命令失败,要么配置文件问题(确定配置文件名和路由一致),要么网卡没选对。
      • Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn'问题的解决方法(含重启网络管理相关命令)
      • ip route没有显示路由信息,检查下网络管理有没有开启
      • 桥接模式下,无法访问外网

VirtualBox的7种网络接入模式详解

参考链接、参考链接

各网络模式的默认情况下,网络连接情况

NAT模式桥接模式Host-Only模式
虚拟机 -> 宿主机默认不能,需要设置
宿主机 ——> 虚拟机x默认不能,需要设置
虚拟机 ——> 虚拟机x
虚拟机 ——> 同局域网下其他主机默认不能,需要设置
同局域网下其他主机 ——> 虚拟机x默认不能,需要设置

参考链接

配置网络地址转换(NAT)模式

NAT模式下,宿主机访问虚拟机,虚拟机可以访问宿主机,虚拟机可以访问互联网。

访问外网

选择对应虚拟机 -> 设置 -> 网络 -> 选择连接方式为NAT -> 选择控制芯片

这样配置以后,启动虚拟机,执行ping www.baidu有响应说明配置成功。如果没有响应换一个控制芯片试试,上图框红的两个控制芯片是可以的。

宿主机访问虚拟机

配置步骤如下:
选择对应虚拟机 -> 设置 -> 网络 -> 端口转发(主机为222,子系统为22,其他不用填)

配置完重启虚拟机后,宿主机访问虚拟机连接如下:

注意,这种模式文件传输非常慢,本地上传一个10多KB的文件到虚拟机花费差不多2分钟。

配置桥接模式

桥接模式下,虚拟机和宿主机在同一网段,虚拟机可以访问外网,宿主机可以访问虚拟机,虚拟机可以访问宿主机同一局域网的其他机器。具体配置步骤如下所示:

网络连接方式设置


这里的MAC地址和网卡配置文件的HWADDR一致,否则会重启网络服务失败。
确定界面名称是网络的适配器,一般默认的没问题。

配置完桥接模式,启动虚拟机,网络就是通的,只是IP不固定。

修改网卡配置文件

这一步的目的是固定虚拟机的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
# 和ifcfg-enpXXX名一致
NAME=enp0s3
# 可以不写,但是写了就不能和其他网卡相同。可以用uuidgen命令生成。
UUID=40263cbd-6ed4-497c-9321-7326e27d4a29
# 和ifcfg-enpXXX名一致
DEVICE=enp0s3
# 改为yes,即开机
ONBOOT=yes
# 和宿主机在同一网段不同ip
IPADDR=10.1.18.156
# 和宿主机保持一致,否则会重启失败
NETMASK=255.255.255.0
# 和宿主机保持一致,否则会重启失败
GATEWAY=10.1.18.1
# 可以注销,不然得写正确,否则会重启失败
HWADDR=08:00:27:CB:CB:8E
# 不要写宿主机的字符串!可以网上查一个服务器,下面用的Google的DNS服务器
DNS1=8.8.8.8

测试网络

配置正常后,直接ping www.baidu就可以联通了。宿主机访问虚拟机,连接方式如下:

参考链接、参考链接

NAT+HostOnly模式组合

设置主机网络管理器



这个是VirtualBox的默认设置,不是这个可以改为这个,后续配置文件就不需要改了。

网络连接方式设置



设置好后,启动虚拟机。

虚拟机网卡配置文件修改

Nat模式启动虚拟机就可以访问外网,直接ping www.baidu是可以连通的。

修改默认网卡配置文件(NAT)

先用ip route命令查看网卡配置文件,如下可以看到默认配置文件是/etc/sysconfig/network-scripts/ifcfg-enp0s17,如果该配置文件命名不一致需要修改,并修改里面内容的名称。

[root@localhost ~]# ip route
default via 10.0.2.2 dev enp0s17 proto dhcp metric 101
10.0.2.0/24 dev enp0s17 proto kernel scope link src 10.0.2.15 metric 101
192.168.56.0/24 dev enp0s8 proto kernel scope link src 192.168.56.102 metric 100

然后修改"ONBOOT=yes",修改后配置文件如下:

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=enp0s17
UUID=2f3b7238-96e2-4aa2-9a78-17270e4b8f5d
DEVICE=enp0s17
# 设置为yes
ONBOOT=yes
修改网卡2配置文件(HostOnly)

网卡2为HostOnly网络连接模式的配置文件,需要设置为静态ip,修改后的配置文件如下:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# BOOTPROTO改为static,意为静态模式
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,和文件名称后缀ifcfg-xxx保持一致。和ip route中的网卡2后缀一致。
NAME="enp0s8"
# 可以不写,但是写了就不能和其他网卡相同。可以用uuidgen命令生成。
UUID="87a8c150-3d1a-4111-97aa-816692dcf504"
# DEVICE改为enp0s8,和文件名称后缀ifcfg-xxx保持一致。和ip route中的网卡2后缀一致。
DEVICE="enp0s8"
ONBOOT="yes"
# IPADDR需要在指定的IP范围内(可以在VirtualBox主机网络配置管理器DHCP服务器中查看)
IPADDR=192.168.56.102
# NETMASK也和指定的服务器子网掩码一致(可以在VirtualBox主机网络配置管理器DHCP服务器中查看)
NETMASK=255.255.255.0

宿主机通过静态ip(HostOnly方式)访问虚拟机


经测试,这种模式文件传输非常快。

NAT+HostOnly模式与桥接模式不同的是,IPADDR、网关的配置。

  • NAT+HostOnly模式不用配置网关,IPADDR参考的是VirtualBox主机网络配置
  • 桥接模式要配置网关,IPADDR参考的是config/all命令返回的配置

参考链接

碰到问题

使用service network restart命令失败,要么配置文件问题(确定配置文件名和路由一致),要么网卡没选对。

[root@localhost ~]# ip route
default via 10.0.2.2 dev enp0s17 proto dhcp metric 101
10.0.2.0/24 dev enp0s17 proto kernel scope link src 10.0.2.15 metric 101
192.168.56.0/24 dev enp0s8 proto kernel scope link src 192.168.56.101 metric 100

ip route命令输出enp0s17 ,即网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-enp0s17。如果该配置文件命名不一致需要修改,并修改里面内容的名称。

注意enp0s9不等于enp0s09,配置文件名多个0也会启动失败!

Job for network.service failed. See ‘systemctl status network.service’ and 'journalctl -xn’问题的解决方法(含重启网络管理相关命令)

参考链接、参考链接

ip route没有显示路由信息,检查下网络管理有没有开启

执行下面两个命令如下:

chkconfig NetworkManager on
service NetworkManager start

桥接模式下,无法访问外网

防火墙开启是不影响的,检查下DNS服务器。

本文标签: 学习笔记方式网络VirtualBox