如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接

在使用 CentOS 7 的虚拟机时,我们通常需要配置静态 IP 地址,以确保在每次虚拟机重启后能够通过 SSH 连接。本文将介绍如何在 CentOS 7 系统中配置静态 IP 地址,并确保配置在系统重启后依然生效。

步骤 1:检查虚拟机网络接口

首先,确保你的虚拟机已经正确连接到网络,并且网络接口正常运行。可以通过以下命令检查网络接口的状态:

复制代码
ip a

或者

复制代码
ifconfig

在输出中找到你虚拟机的主要网络接口(例如 ens33),确保它已经启用并且正在运行。

步骤 2:配置静态 IP 地址

接下来,我们需要修改 CentOS 7 中的网络配置文件,为虚拟机配置一个静态 IP 地址。

  1. 打开网络配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33

    复制代码
    sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 修改或添加以下配置:

    复制代码
    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.8DNS2=8.8.4.4:配置 DNS 服务器(Google 公共 DNS)。

  3. 保存并退出文件编辑器。

步骤 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 1000
    inet 192.168.101.129/24 brd 192.168.101.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::8cea:a781:25bc:f93e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

步骤 5:通过 SSH 连接虚拟机

如果一切设置正确,虚拟机将会使用配置的静态 IP 地址,且你可以使用 SSH 从宿主机连接到虚拟机:

复制代码
ssh [email protected]

其中 username 是虚拟机中的用户名。

小贴士:如何确保虚拟机重启后网络配置不丢失

为了确保每次虚拟机重启后依然能够使用静态 IP 地址并能够 SSH 连接,以下几点需要注意:

  1. 确保网络接口自动启动: 通过配置 ONBOOT="yes",保证虚拟机重启时网络接口会自动启用。

  2. 检查虚拟机网络模式: 确保虚拟机的网络模式配置正确。通常可以使用桥接模式(Bridge)或 NAT 模式。使用桥接模式时,虚拟机可以直接与宿主机的网络通信;使用 NAT 模式时,虚拟机通过宿主机的网络连接外部。

  3. 防火墙配置: 如果虚拟机上启用了防火墙,确保开放了 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 服务器、数据库服务器等)非常重要。希望本篇教程对你有所帮助。

如果你在配置过程中遇到任何问题,欢迎在评论区留言,我会尽快为你解答。

相关推荐
草莓熊Lotso8 分钟前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
海的诗篇_24 分钟前
前端开发面试题总结-JavaScript篇(二)
开发语言·前端·javascript·typescript
cccc来财1 小时前
Go中的协程并发和并发panic处理
开发语言·后端·golang
筏.k1 小时前
grep、wc 与管道符快速上手指南
linux
狐凄1 小时前
Python实例题:Python计算线性代数
开发语言·python·线性代数
Johny_Zhao1 小时前
华为MAAS、阿里云PAI、亚马逊AWS SageMaker、微软Azure ML各大模型深度分析对比
linux·人工智能·ai·信息安全·云计算·系统运维
CodeOfCC1 小时前
c语言 封装跨平台线程头文件
linux·c语言·windows
科文小白狼1 小时前
Linux下VSCode开发环境配置(LSP)
linux·vscode·里氏替换原则·lsp
惊鸿一博1 小时前
java_网络服务相关_gateway_nacos_feign区别联系
java·开发语言·gateway
Bruce_Liuxiaowei2 小时前
深入理解PHP安全漏洞:文件包含与SSRF攻击全解析
开发语言·网络安全·php