如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接
在使用 CentOS 7 的虚拟机时,我们通常需要配置静态 IP 地址,以确保在每次虚拟机重启后能够通过 SSH 连接。本文将介绍如何在 CentOS 7 系统中配置静态 IP 地址,并确保配置在系统重启后依然生效。
步骤 1:检查虚拟机网络接口
首先,确保你的虚拟机已经正确连接到网络,并且网络接口正常运行。可以通过以下命令检查网络接口的状态:
ip a
或者
ifconfig
在输出中找到你虚拟机的主要网络接口(例如 ens33
),确保它已经启用并且正在运行。
步骤 2:配置静态 IP 地址
接下来,我们需要修改 CentOS 7 中的网络配置文件,为虚拟机配置一个静态 IP 地址。
-
打开网络配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33
:sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
-
修改或添加以下配置:
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="04095f36-1c67-45fb-9a4f-dec4b4dc1b13" DEVICE="ens33" ONBOOT="yes"IPADDR=192.168.101.129 NETMASK=255.255.255.0 GATEWAY=192.168.101.2 DNS1=8.8.8.8 DNS2=8.8.4.4
解释:
-
BOOTPROTO="static"
:表示使用静态 IP 地址。 -
IPADDR=192.168.101.129
:为虚拟机分配一个静态 IP 地址。 -
NETMASK=255.255.255.0
:子网掩码,表示虚拟机与网段的关系。 -
GATEWAY=192.168.101.2
:设置默认网关。 -
DNS1=8.8.8.8
和DNS2=8.8.4.4
:配置 DNS 服务器(Google 公共 DNS)。
-
-
保存并退出文件编辑器。
步骤 3:重新启动网络服务
更改完配置后,重新启动网络服务以使配置生效:
sudo systemctl restart network
或者,重新启动虚拟机,网络服务也会随之启动。
步骤 4:验证配置
重启后,使用以下命令检查虚拟机的 IP 配置:
ip a
你应该看到类似于以下的输出:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.101.129/24 brd 192.168.101.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::8cea:a781:25bc:f93e/64 scope link noprefixroute valid_lft forever preferred_lft forever
步骤 5:通过 SSH 连接虚拟机
如果一切设置正确,虚拟机将会使用配置的静态 IP 地址,且你可以使用 SSH 从宿主机连接到虚拟机:
ssh username@192.168.101.129
其中 username
是虚拟机中的用户名。
小贴士:如何确保虚拟机重启后网络配置不丢失
为了确保每次虚拟机重启后依然能够使用静态 IP 地址并能够 SSH 连接,以下几点需要注意:
-
确保网络接口自动启动: 通过配置
ONBOOT="yes"
,保证虚拟机重启时网络接口会自动启用。 -
检查虚拟机网络模式: 确保虚拟机的网络模式配置正确。通常可以使用桥接模式(Bridge)或 NAT 模式。使用桥接模式时,虚拟机可以直接与宿主机的网络通信;使用 NAT 模式时,虚拟机通过宿主机的网络连接外部。
-
防火墙配置: 如果虚拟机上启用了防火墙,确保开放了
22
端口(默认 SSH 端口)。可以使用以下命令查看防火墙设置:sudo firewall-cmd --list-all
如果需要,可以运行以下命令打开 SSH 端口:
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent sudo firewall-cmd --reload
结语
通过以上步骤,你已经成功配置了 CentOS 7 虚拟机的静态 IP 地址,并确保它在每次重启后仍然能够通过 SSH 连接。静态 IP 地址配置对于需要稳定网络连接的虚拟机(如 Web 服务器、数据库服务器等)非常重要。希望本篇教程对你有所帮助。
如果你在配置过程中遇到任何问题,欢迎在评论区留言,我会尽快为你解答。