由于 Linux 虚拟机的 IP 默认使用 DHCP,地址每隔一段时间就会改变。IP 一边,我们的远程连接软件 Shell 和 Mysql 的地址都要重新设置。这对我们造成了很大的麻烦,所以我们需要为它设置一个静态 IP。
1 2 3
软件背景 操作系统 = CentOS 7 Shell = FinalShell
Vmware 设置
首先我们需要在 VMWare 中记下我们的子网 IP,并把 VMnet 设置为 NAT 和主机共享 IP 模式。
虚拟机设置
然后在切换到 Linux ,使用 vim /etc/sysconfig/network-scripts/ifcfg-ens33 编辑配置文件(不同的硬件或系统,最后一个文件可能不一样)。将 BOOTPROTO 项设置为 static 静态 IP,同时在下方追加配置 IP 地址、子网掩码、网关和 DNS。
1 2 3 4 5
BOOTPROTO=static # static ip addr IPADDR=192.168.19.100 # ip address NETMASK=255.255.255.0 # subnet mask GATEWAY=192.168.19.2 # gate way DNS1=192.168.19.2 # dnDEVICE=ens33
IP 地址的网络号需要和虚拟网络编辑器中的子网 IP 相同,网关和 DNS 的网络号也一样和子网 IP 一样,只是主机号为 2。
配置完成后,保存退出。使用 systemctl restart network 重启网络服务。不出意外的话,我们的 Shell 终端也会断开连接。 主机使用 ping 192.168.19.100 测试和虚拟机是否连通,如果正常重新配置 Shell 的连接 IP 即可。 重新连接之后,使用 ip addr 查看 IP 地址,可以发现已经修改完成。
1 2 3 4 5 6 7 8 9 10 11 12 13
[root@localhost ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:06:35:5b brd ff:ff:ff:ff:ff:ff inet 192.168.19.100/24 brd 192.168.19.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::c4c1:926b:6c4b:5d22/64 scope link noprefixroute valid_lft forever preferred_lft forever