虚拟机网络配置,要连内网,更要连外网

困难从来不会因为你绕过去,它就自动没有了。

摘要

最近在学习部署的相关内容,包括 Linux、Nginx、Docker、MySQL 等一系列知识。但本人对 Linux 不熟悉,特别是对虚拟机上的系统配置不熟悉。这篇文章,就是用来记录我解决虚拟机 CentOS7 与宿主系统 Windows10 及外网进行网络通联的过程。如果这篇文章能启迪你解决你遇到的问题,那这篇文章就没白写。

环境

宿主系统:Windows10

虚拟机环境:VirtualBox6.1

虚拟机系统:CentOS7

步骤

  1. 选中 CentOS7 系统,并确保系统已关机。然后选择菜单 管理 > 全局设定 > 网络,新建一个 Nat 网络网卡如下并确定:

  2. 继续选中 CentOS7 系统,然后选择菜单 管理 > 主机网络管理,如果不存在仅主机网络网卡,则新建一个,配置如下:

  3. 有了 Nat网卡 和 仅主机网卡 后,就可以对网络网卡进行配置了。在选中 CentOS7 系统后,选择菜单 控制 > 设置 > 网络,并分别为 网卡1 和 网卡2 设置成如下:

    (其中 MAC 地址记得刷新两次,以确保网卡配置生效)

  4. 网卡硬件配置好以后,我们就可以开机了。进入操作系统,我们执行 ip addr 命令后就能看到 lo、enp0s3、enp0s8 三个网络适配器了:

  5. 其中 enp0s3 的适配器配置文件已存在,我们可以使用命令 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 对其进行修改,其配置如下:

  6. 而 enp0s8 的配置文件,一开始可能是不能存在的,我们可以执行 cd /etc/sysconfig/network-scripts 进入到 network-scripts 目录中。再用 cp ifcfg-enp0s3 ifcfg-enp0s8 把 ifcfg-enp0s3 复制一份成为 ifcfg-enp0s8,然后使用 vi ifcfg-enp0s8 对其进行编辑,其配置如下:

    你们可能会疑惑,HWADDR 和 UUID 这两个参数是如何得到的。

    其中,HWADDR 即 MAC 地址(由 12 个十六进制字符组成,用冒号两两隔开),可查看步骤 3 得到,或者通过命令 ip addr 得到

    UUID 则可以使用命令 nmcli con 获得

  7. 到此,我们完成了网卡适配器的配置。先执行 systemctl restart network 刷新网络,然后执行 ping www.baidu.com 可以看到我们已经能访问外部网络:

    在 CentOS7 中再执行 ping 192.168.0.66 访问宿主系统,可以看到也是 OK 的(如果没 ping 通,你可以临时把宿主系统 Windows10 的防火墙关闭,看看是否由于宿主系统的防火墙入站规则太过严格导致请求被拦截):

  8. 如果是宿主系统需要访问虚拟机系统的内部服务器,则可以在 网卡1(即 NAT 网卡) 的端口转发进行配置:

    同时,把必要的端口添加到 CentOS7 的防火墙白名单中,如:

    bash 复制代码
    # 把 81 端口永久添加到防火墙白名单
    firewall-cmd --add-port=81/tcp --permanent
    
    # 重新加载防火墙规则
    firewall-cmd --reload

    假设 CentOS7 运行了 Nginx 服务,服务的端口为 81,则用户可以在 Windows10 的浏览器中输入 192.168.56.102:81 来访问虚拟机中的 Nginx 网页了

总结

到这篇文章为止,很多内容都是属于技巧性的,没有体现出系统性。接下来写一些体系化的内容,是重中之重。

相关推荐
爬山算法2 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
七夜zippoe2 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Moment2 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
Cobyte3 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
Fcy6483 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满3 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠4 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
程序员侠客行4 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
Honmaple4 小时前
QMD (Quarto Markdown) 搭建与使用指南
后端
Harvey9034 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s