连接 WiFi 的笔记本电脑安装的 Linux 虚拟机下设置 CentOS7 固定IP地址(超详细,亲测有效)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BiandanLoveyou/article/details/116384534
这段时间重新学习 Linux 知识,用的是笔记本,连接的是无良房东家的 WiFi,IP地址经常变动。每次都要修改 Xshell 的配置才能连上虚拟机。效率很低。
为此,必须要解决这个 IP 地址经常变动的事情!这里讲解的版本是:CentOS7
OK,先查看我们笔记本的 IP 地址(使用的是 WiFi):在 cmd 命令下查看命令:ipconfig
记住我们这里的子网掩码和默认网关。要设置 CentOS 固定 IP,要求网关和 IP 地址的网段与我们的电脑相同。
1、首先,我们配置的虚拟机网络连接模式为:NAT模式。如图。
2、打开虚拟机的客户端,点击菜单【编辑】-》【虚拟网络编辑器】
3、在列表中,找到 VMnet8 的一项,如果没有则添加。这里要求【需要具备管理员特权才能修改网络配置】,我们点击它。
4、左下角的子网IP,我们就设置 192.168.0.0,注意,这里的设置规则是与你的笔记本同一个网段,比如192.168.0,然后在后面配置0。子网掩码一般是 255.255.255.0。然后点击【NAT 设置】
5、在弹出的 NAT 设置的对话框中,我们设置网关IP为我们笔记本相同的网关。就是我们笔记本默认的网关。然后点击中间的【添加】按钮
6、在弹出的添加对话框,输入以下信息。主机端口号随便输入 1012(0-65535之间,不要冲突),用于转发的端口。然后【虚拟机IP地址】就是我们需要固定的 IP 地址,比如我这里用 192.168.0.105(注意不要和笔记本的IP相同)。然后虚拟机端口一般是 22。备注随便写。
7、保存后,应用,确定。
接下来,我们到 CentOS7 下继续配置:
8、启动虚拟机后,输入以下命令,修改网络的配置:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
看到其原生的配置如下:
修改后如下:
增加以下内容(使用 i 进入编辑模式,Esc 退出编辑模式,:wq 保存并退出):
IPADDR=192.168.0.105
NM_CONTROLLED=no
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
说明:①BOOTPROTO=static,表示使用静态IP地址。ONBOOT=yes,表示开机启动就激活网卡。
②IPADDR=192.168.0.105,表示固定的CentOS的IP地址,与我们上面步骤6的 IP 地址要设置一致。
③NM_CONTROLLED=no,表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。
④NETMASK=255.255.255.0,子网掩码要设置与我们的笔记本的一致。
⑤GATEWAY=192.168.0.1,网关也要跟我们的笔记本一致。
9、上面的保存退出后,继续修改下面的文件,输入以下命令:
vi /etc/resolv.conf
添加以下配置,保存并退出:
nameserver 192.168.0.1
结果:
10、重启虚拟机的网络服务:
systemctl restart network
11、ping 以下百度的网址,看下能否 ping 通:
ping www.baidu.com
结果:
12、如果 ping 不通,先把虚拟机的防火墙关闭:
查看防火墙状态的命令:
firewall-cmd --state
关闭防火墙命令:
systemctl stop firewalld
13、打开我们的 XShell 客户端,连接到我们的 CentOS7
14、如果不能连接成功,或者超时,我们先把笔记本的防火墙关闭。打开控制面板——》系统和安全——》Windows Defender 防火墙——》自定义设置。
很多时候,遇到访问不通的情况,一般都是防火墙的问题,开启防火墙会引发一些访问不通的情况,在学习过程可以关闭防火墙。正式部署上线,需要开启防火墙,不然就嘿嘿了。下面总结了防火墙的一些命令操作:
打开防火墙: systemctl start firewalld 或者:systemctl start firewalld.service
关闭防火墙:systemctl stop firewalld 或者:systemctl stop firewalld.service
开机启动:systemctl enable firewalld.service
禁止防火墙开机启动:systemctl disable firewalld.service
查看防火墙状态:firewall-cmd --state 或者 systemctl status firewalld