【VM VirtualBox】虚机网络配置实现固定IP并内外网访问

网友投稿 2051 2022-05-29

一、需求

在主机上VirtualBox软件安装虚拟机后,需要实现主机与虚机相互通信,并可以使用SSH工具在主机上连接虚机,保证连接虚机的IP地址固定。

主机与虚机相互可以连接后,还需要虚机也能连接网

二、基本思路

虚机网络与主机共享,实现虚机网络连接

给虚机添加网卡并选择合适的网络连接模式

在虚机中对应的网卡修改静态IP地址

虚机配置网卡的IP地址、子网掩码和网关,需要跟宿主机在同一网段即可

三、具体实现

1. 前提条件

【VM VirtualBox】虚机网络配置实现固定IP并内外网访问

需要在VitualBox上安装好一台虚拟机,如centOS。

2. VitualBox提供了多种网络接入模式

NAT模式:最简单的实现虚拟机上网的方式,无需配置,默认选择即可接入网络。虚拟机访问网络的所有数据都是由主机提供的,虚拟机访问网络是先通过VirtualBox转换后再发送出去的,数据接收也是先由VirtualBox接收后再转换发送到虚拟机上的,访问速度较慢;虚机可以直接访问主机,主机不能直接访问虚拟机。

Bridged Adapter模式:即桥接模式,可以为虚拟机模拟出一个独立的网卡,有独立的IP地址,所有网络功能和主机一样,并且能够互相访问,实现文件的传递和共享。被桥接的网卡会开启混杂模式。

Internal模式:即内网模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式,和主机之间不能互相访问,就相当于虚拟机之间架设了一个独立的局域网。只有 同一名称(如:intnet)的内部网络模式的虚拟机之间才能互相访问 ,还有一个条件是在同一网段。

Host-only Adapter模式:即主机模式,VirtualBox 在宿主机中虚拟一个 host-only 网卡,然后把虚拟主机桥接到 host-only 网卡上,我们可以通过设置 host-only 网卡(共享、桥接)来实现网络连接,是所有接入模式中最复杂的一种,需要有比较扎实的网络基础知识才行。前面几种模式所实现的功能,通过虚拟机及网卡的设置都可以被实现。

Bridged Adapter模式

NAT模式

Internal模式

Host-only Adapter模式

虚拟机与宿主机

处于同一网段,彼此互通

虚拟机能访问宿主机;宿主机不能访问虚拟机

彼此不通

虚拟机能访问宿主机;宿主机不能访问虚拟机

虚拟机与虚拟机

处于同一网段,彼此互通

彼此不通

彼此互通,处于同一网段

彼此互通,处于同一网段

虚拟机与其他主机

处于同一网段,彼此互通

虚拟机能访问其他主机;其他主机不能访问虚拟机

彼此不通

彼此不通;需要设置

虚拟机与互联网

虚拟机可以上网

虚拟机可以上网

虚拟机不能上网

彼此不通;需要设置

这里选择桥接模式。虽然VirtualBox 桥接模式非常好用,但是受限制的网络你怎么办呢?用NAT模式,不!这样宿主机访问虚拟主机太麻烦了。我的方法就是给虚拟主机添加两个网卡,一个网卡使用 NAT模式,另一个网卡使用Bridged Adapter模式,然后给虚拟主机设置静态路由,设置访问宿主机的数据从Bridged Adapter模式的网卡送出,而访问互联网的数据从NAT模式的网卡送去。

3. 正常启动虚拟机,查看环境。

虚拟机ping主机

主机ping虚拟机

4. 修改虚机网卡配置文件,实现静态IP连接内外网

主机在cmd命令窗口,输入ipconfig查看主机的IP地址、网关和子网掩码

进入虚拟机,使用命令ip addr查看正在使用的网卡名字,如enp0s3

进入虚机的/etc/sysconfig/network-scripts/目录,找到使用的网卡名字的配置文件,如ifcfg-enp0s3

编辑ifcfg-enp0s3文件,更新一下配置信息:

TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" ############改动部分开始############ #静态IP BOOTPROTO="static" IPADDR=设置与主机在同一网段的IP NETMASK=255.255.255.0 GATEWAY=与主机一样的网关 DNS1=114.114.114.114 ############改动部分结束############ 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="73ab5a69-9070-4c5a-a0b9-c5a6250af943" DEVICE="enp0s3" ONBOOT="yes"

在虚拟机中修改文件后保存退出,使用命令service network restart 重启网卡服务即可

TCP/IP 网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:可重入函数对于线程安全的意义(附函数表)
下一篇:Python 前端开发之HTML
相关文章