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

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

摘要

最近在学习部署的相关内容,包括 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 网页了

总结

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

相关推荐
枷锁—sha1 小时前
跨站请求伪造漏洞(CSRF)详解
运维·服务器·前端·web安全·网络安全·csrf
云途行者1 小时前
使用 docker 安装 openldap
运维·docker·容器
ldj20201 小时前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?
java·spring boot·后端
超龄超能程序猿1 小时前
Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践
java·spring boot·后端·spring·spring cloud
群联云防护小杜1 小时前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip
江南一点雨1 小时前
Tokenizer 和 BPE
后端
风象南1 小时前
SpringBoot配置属性热更新的轻量级实现
java·spring boot·后端
洛阳泰山1 小时前
Spring Boot 整合 Nacos 实战教程:服务注册发现与配置中心详解
java·spring boot·后端·nacos
van叶~1 小时前
Linux探秘坊-------15.线程概念与控制
linux·运维·服务器
江南一点雨1 小时前
ChatGPT与最大似然估计
后端