当前位置:首页 > 虚拟主机 > 正文

Linux服务器如何用命令行永久配置静态IP地址?

在Linux系统中,配置IP地址是一项基础且至关重要的网络管理任务,无论是搭建服务器、配置开发环境还是进行网络故障排查,都需要掌握IP地址的设置方法,Linux提供了多种配置方式,以满足不同场景下的需求,主要可以分为临时配置和永久配置两大类。

临时配置IP地址

临时配置适用于快速测试、紧急修复或无需持久化保存的场景,其特点是配置后立即生效,但在系统重启后会丢失,现代Linux发行版推荐使用ip命令套件来替代老旧的ifconfig。

使用ip addr show或简写的ip a命令查看当前网络接口及其状态,输出会列出如eth0、ens33等网络接口名称。

假设我们要为名为ens33的接口配置IP地址168.1.100,子网掩码为255.255.0(或CIDR表示法/24),可以使用以下命令:

sudo ip addr add 192.168.1.100/24 dev ens33

配置完成后,接口可能还需要被激活:

sudo ip link set ens33 up

再次使用ip addr show ens33即可看到新添加的IP地址,若要删除该IP,只需将add改为del即可,这种方法虽然快捷,但一旦系统重启,所有配置都将复原。

永久配置IP地址

对于服务器或需要固定网络访问的设备,永久配置是必要的选择,配置方法因Linux发行版的不同而有所差异,主要分为基于Debian/Ubuntu和基于RHEL/CentOS两大流派。

Debian/Ubuntu系统(使用Netplan)

较新的Ubuntu版本(如18.04 LTS及以后)引入了Netplan作为网络配置工具,它通过读取/etc/netplan/目录下的YAML文件来生成并应用网络配置。

  1. 查找配置文件:配置文件通常位于/etc/netplan/目录下,文件名可能类似01-netcfg.yaml或50-cloud-init.yaml。
  2. 编辑配置文件:使用文本编辑器(如sudo nano /etc/netplan/01-netcfg.yaml)进行修改,以下是一个静态IP配置示例:

network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]

在此配置中,dhcp4: no表示禁用DHCP,addresses指定静态IP和子网掩码,gateway4是默认网关,nameservers则设置了DNS服务器。

Linux服务器如何用命令行永久配置静态IP地址? 第1张

  1. 应用配置:保存文件后,运行以下命令使配置生效:

sudo netplan apply

Netplan会自动处理后台服务,无需手动重启网络。

RHEL/CentOS/Fedora系统(使用NetworkManager)

在RHEL、CentOS、Fedora等系统中,NetworkManager是标准的网络管理工具,其命令行界面nmcli功能强大且易于使用。

  1. 查看网络连接:首先使用nmcli connection show列出所有网络连接的名称。
  2. 修改连接属性:假设连接名称为ens33,我们可以通过一系列nmcli命令来设置静态IP:

# 设置IP地址和子网掩码 sudo nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 # 设置网关 sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1 # 设置DNS服务器 sudo nmcli connection modify ens33 ipv4.dns "8.8.8.8 8.8.4.4" # 将IP获取方式改为手动(manual) sudo nmcli connection modify ens33 ipv4.method manual

  1. 重启连接使配置生效

sudo nmcli connection down ens33 && sudo nmcli connection up ens33

或者直接重启整个NetworkManager服务:sudo systemctl restart NetworkManager。

验证与故障排查

配置完成后,无论使用哪种方法,都应进行验证,再次使用ip addr show确认IP地址已正确设置,使用ping命令测试网络连通性:首先ping网关(如ping 192.168.1.1),再ping一个公网地址(如ping 8.8.8.8),以确保本地网络和外部访问均正常。

Linux服务器如何用命令行永久配置静态IP地址? 第2张


相关问答FAQs

问题1:我修改了配置文件,为什么IP地址没有生效?

解答:这是一个常见问题,原因在于仅仅修改配置文件并不会让系统立即应用新的设置,您需要执行一个“应用”或“重启”操作来通知网络服务,对于不同的系统,操作也不同:

  • Netplan (Ubuntu):需要运行 sudo netplan apply。
  • NetworkManager (RHEL/CentOS):需要重启指定的网络连接(nmcli con up/down <name>)或重启整个NetworkManager服务(sudo systemctl restart NetworkManager)。
  • 旧版系统:可能需要重启网络服务,如 sudo systemctl restart networking 或 sudo service network restart。

    请确保在修改配置文件后,执行了对应的生效命令。

问题2:DHCP和静态IP有什么区别,我该如何选择?

解答:DHCP(动态主机配置协议)和静态IP是两种IP地址分配方式。

  • DHCP:IP地址由网络中的DHCP服务器自动分配,设备启动时会向服务器请求一个可用的IP,租期到了之后可能需要续租或重新获取,优点是配置简单,即插即用,非常适合个人电脑、手机等移动设备或客户端设备。
  • 静态IP:IP地址由管理员手动固定分配给设备,不会改变,优点是地址稳定,便于其他设备或服务(如DNS解析、防火墙规则)准确定位,缺点是需要手动规划和管理,容易产生地址冲突。

选择建议

  • 选择DHCP:对于普通办公电脑、笔记本电脑、手机等客户端设备,使用DHCP可以大大简化网络管理。
  • 选择静态IP:对于需要提供稳定服务的服务器(如Web服务器、文件服务器、数据库服务器)、网络设备(如路由器、打印机)以及需要被其他设备固定访问的主机,必须配置静态IP地址。

Linux服务器如何用命令行永久配置静态IP地址? 第3张

0