环境

VMware + CentOS7 + Windows10

缘由

由于要做大数据实验,我准备用传统秘方“QQ邮箱”实现从Win系统到Linux系统上传文件的功能(VMTool有点用不明白),但是在虚拟机上打开Firefox的时候发现网断了,修改了很久的网络配置,终于搞懂问题出在哪里,决定写个帖子记录一下,真的花了很多时间呜呜。

流程

(由于我也不是很记得我都做过哪些步骤,所以我尽可能复现我所有的设置,希望能够帮到你。你也可以跟着我重新配置一遍捏!)

1. 查看主机IP

  • 使用 Win + R打开“运行”窗口,输入“cmd”进入命令行。

  •  输入ipconfig查看主机IP。

 【注意】找到“无线局域网适配器WLAN”,不是“以太网适配器”!

里面的“IPv4地址”、“子网掩码”、“默认网关”是非常重要的信息,后面要用。

2. 修改虚拟机设置

  • 进入虚拟机,单击鼠标右键打开终端,并使用如下命令进入root模式(方便后续操作)。
su root

3. 修改防火墙相关设置

  • 在虚拟机端关闭防火墙并禁止开机启动。
systemctl stop firewalld.service
systemctl disable firewalld.service
  • 在主机端修改防火墙设置,使用 Win + R打开“运行”窗口,输入“control”进入控制面板,选择“防火墙”选项。

  •  关闭相关网络。(我也不知道哪个会阻拦连接,索性都关了......)

  •  点击“高级设置”,进入“入站规则”,将选中的这三项规则加以启用(域、公用、私用)。

 4. 修改虚拟机网络设置

  • 进入虚拟机,点击“虚拟机”选项,设置“网络适配器”中的“网络连接”为“NAT模式”,并确认。

 【知识补充】这里附上其他朋友做的NAT连接示意图(原文见链接,侵权自删),我们不选择桥接是为了避免IP冲突~

  • 修改虚拟机网络设置,点击“编辑”,选择“虚拟网络编辑器”,进入“更改设置选项”。

  • 给予管理员权限,选中NAT模式,并将对应两项打钩。根据我们主机的IP和子网掩码信息配置虚拟机的子网IP和子网掩码。

  •  子网IP号和子网掩码填写这里会涉及到一定的计算机网络知识。

首先,子网掩码照抄不变,所以上述②号框内的子网掩码同样是与主机的子网掩码相同,我这里是“255.255.224.0”。

其次,根据子网掩码可以知道网络号加子网号共是19位,主机号是13位(因为IPv4的点分十进制“255.255.224.0”转换成二进制是11111111.11111111.11100000.00000000),而子网IP的网络号前两位(二进制里的前16位)需要与主机相同,且主机号需要全部为0(二进制里的后13位主机号全0,代表是网络非主机),但整体网络号要与主机所在网络不同,且因此有发挥空间的只有3位(10.194. 【000/001/010/011/100/101/110/111 + 00000】.0),我选择了10.194.64.0,否则会出现“子网掩码与IP地址不匹配”的错误。

如果你的子网掩码是255.255.255.0,那么这就简单多了!子网IP的前两位直接照抄,第三位选个与主机IPv4值不同的值就好,第四位依然是0。

  • 修改NAT设置。

进入 NAT设置,修改网关IP,前三位与子网IP相同,第四位可以随便填写,这里选择“2”,修改完成后点击“确定”。

  • 点击 DNS设置,修改为以下服务器(电信和Google的)。

  • 点击DHCP设置 ,修改起始和结束IP地址,多数情况下前三位与IP地址相同,第四位选择128和254就行,修改完成后“确定”。(这里的数值选择是为了教程简单些,具体值怎么填需要点计算机网络知识,可以看出我的结束IP第三位都不一样,不用多想~)

  • 全部修改完成后,点击“虚拟网络编辑器”底栏的 “应用”和“确定”,保存修改。(先“应用”,后“修改”,我这里“应用”黑着是因为我写教程的时候没有修改,大家的应该是可以点击的)

 5. 修改虚拟机文件配置

  • 输入 查看文件内容(可能有朋友是script,也许因版本而异)。
ls /etc/sysconfig/network-scripts/

可以看到,有一个名为“ifcfg-eth0”的文件,也许有的朋友文件后缀叫做ens33或者ens32,忽略差异,记住这个后缀名即可。(如果存在多个ifcfg-xxx文件会报错,查看经验并使用“rm 文件名”命令删除多余网卡文件)

链接:Centos7.x 网卡启动报错(Failed to start LSB: Bring up/down networking)_centos7 failed to start lsb_publicstaticfinal的博客-CSDN博客asdsa asd asd asd asdasaasd sdahttps://blog.csdn.net/publicstaticfinal/article/details/119762458

  • 查看IP信息,输入命令ip addr。
ip addr

 看到eth0对应的硬件地址,要记住这个地址(建议存到文件传输助手里,后面要用)

如果你的信息里有virbr0等信息,可以根据下述教程关掉。

链接:linux关闭virbr0网卡_virbr0怎么关闭_q735496541的博客-CSDN博客前言最近,在使用linux时,要求需要关闭virbr0的网卡,网上查了一下virbr0是kvm虚拟机使用的网卡,是libvirtd服务安装后,自动生成的,virbr0的配置文件位置/etc/libvirt/qemu/networks/default.xml ,libvirtd服务的配置文件位置/etc/libvirt/libvirtd.conf简介经过网上查找资料和自己实验,有两种方法可以解决virbr0网卡问题。手动关闭virbr0网卡后,将libvirtd服务开机自启动关闭,重启即可。https://blog.csdn.net/q735496541/article/details/123051125?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-123051125-blog-109443460.235%5Ev35%5Epc_relevant_increate_t0_download_v2_base&spm=1001.2101.3001.4242.1&utm_relevant_index=3

  • 输入vim /etc/sysconfig/network-scripts/ifcfg-xxx 修改文件(xxx代表你的后缀,我这里是eth0)。
vim /etc/sysconfig/network-scripts/ifcfg-eth0

确定鼠标在虚拟机中,点击键盘上的“i”键进入插入模式修改内容。 

遵照上述格式,确保 BOOTPROTO为(dhcp或者)static,IPv4_FAILURE_FATAL为no,ONBOOT为yes,NAME和DEVICE都是文件的后缀名。

添加或修改NETMASK为子网的子网掩码,HWADDR为刚刚让大家保存的硬件地址,IPADDR为子网里的主机IP,也可以添加网关信息为配置时的网关地址,即GATEWAY="10.194.96.2"。

那这个主机IP如何确定呢?

就是范围里的一个地址,否则就会报错,我这里选择了10.194.96.140。

修改结束后,点击”Esc“键后,输入“:wq”保存退出。

  • 同样地修改 DNS设置,输入 vi /etc/resolv.conf 修改DNS为以下服务器,然后保存退出。

  • 再次打开控制面板(Win + R,输入control),选择“网络与共享中心”中的“更改适配器设置”。

  •  选择VMware Network Adapter VMnet8,右键进入“属性”面板。

  •  双击选择Internet 协议版本 4。

  •  选择“使用下面的IP地址”,子网掩码和默认网关与原先修改内容一致,但这里的IP地址需要保证前三位相同,最后一位与虚拟机的IP、网关均不同且不在DHCP设置的IP范围内,这里选择10.194.96.1。
  • 选择“使用下面的DNS”,依然改为那两个DNS服务器。

点击“确定”,保存并退出。

  • 为保险起见,禁用然后启用VMnet8。(一些奇奇怪怪的办法)

(启用)

  • 输入命令ifconfig(是ifconfig不是ipconfig,要进行区分)。

  • 输入 ping www.baidu.com ,查看情况。
ping www.baidu.com

 至此,本教程完成。

一些可能的问题的解决方案

  • 提示Error, some other host already uses address:

链接: https://www.cnblogs.com/staryea/p/8520468.htmlhttps://www.cnblogs.com/staryea/p/8520468.html

  •  ifcfg-xxx文件参数说明及设置:

链接:ping: www.baidu.com: 未知的名称或服务 - 简书1、先确定登录的身份是否为root用户,如果不是,最好切换为root身份 2、输入vi /etc/sysconfig/network-scripts/ifcfg-ens33,...https://www.jianshu.com/p/181794ea28ba

  • linux关闭virbr0网卡:

链接:linux关闭virbr0网卡_virbr0怎么关闭_q735496541的博客-CSDN博客前言最近,在使用linux时,要求需要关闭virbr0的网卡,网上查了一下virbr0是kvm虚拟机使用的网卡,是libvirtd服务安装后,自动生成的,virbr0的配置文件位置/etc/libvirt/qemu/networks/default.xml ,libvirtd服务的配置文件位置/etc/libvirt/libvirtd.conf简介经过网上查找资料和自己实验,有两种方法可以解决virbr0网卡问题。手动关闭virbr0网卡后,将libvirtd服务开机自启动关闭,重启即可。https://blog.csdn.net/q735496541/article/details/123051125?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-123051125-blog-109443460.235%5Ev35%5Epc_relevant_increate_t0_download_v2_base&spm=1001.2101.3001.4242.1&utm_relevant_index=3

  • 出现奇奇怪怪的问题:

        重启,使用 reboot 命令。

  • Error, some other host[00:0C:29:...] already uses address:

        查看是否存在IP冲突。

链接:linux 配置固定IP地址 ifup-eth[4919]: Error, some other host[00:0C:29:...] already uses address_雅志业的博客-CSDN博客1、service network restart 提示IP地址已经被另一个mac地址占用2、很明显是IP地址冲突导致的,先不要乱改(网上搜索到很多修改ifup-eth的)3、换一个IP地址,或者把那个相同的IP地址修改掉4、service network restart 成功...https://blog.csdn.net/yazhiye/article/details/105226974

  • 网卡太多:

链接:Centos7.x 网卡启动报错(Failed to start LSB: Bring up/down networking)_centos7 failed to start lsb_publicstaticfinal的博客-CSDN博客asdsa asd asd asd asdasaasd sdahttps://blog.csdn.net/publicstaticfinal/article/details/119762458

  •  网络重启出错:

链接:https://www.cnblogs.com/zhizhao/p/9442487.htmlhttps://www.cnblogs.com/zhizhao/p/9442487.html

最后,如果本教程有帮助到你,欢迎点赞、评论捏!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐