Linux服务器作为网络中的核心节点,IP地址的正确分配是其实现网络通信、提供服务的基础,IP地址分配方式主要分为静态分配和动态分配(DHCP)两种,不同场景下需选择合适的方式,并通过配置文件或命令行工具进行设置。

静态IP地址分配
静态IP指手动为服务器指定固定IP地址,适用于需要长期稳定访问的场景(如Web服务器、数据库服务器),避免IP变化导致服务中断。
配置文件方式(主流方法)
不同Linux发行版的网络配置文件位置略有差异,需根据系统类型调整:
-
Ubuntu/Debian(netplan)
配置文件通常位于/etc/netplan/目录下(如01-network-manager-all.yaml),通过YAML格式定义网络参数,示例配置:network: version: 2 ethernets: eth0: # 网卡名称,可通过ip addr查看 dhcp4: no addresses: [192.168.1.100/24] # IP地址及子网掩码 gateway4: 192.168.1.1 # 默认网关 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器配置完成后执行
sudo netplan apply使配置生效。 -
CentOS/RHEL(ifcfg文件)
配置文件位于/etc/sysconfig/network-scripts/目录下(如ifcfg-ens33),参数需以键值对形式定义,示例:TYPE=Ethernet BOOTPROTO=static # 静态IP,动态为dhcp IPADDR=192.168.1.100 # IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 默认网关 DNS1=8.8.8.8 # DNS服务器 ONBOOT=yes # 开机自启网卡
保存后执行
sudo systemctl restart network重启网络服务。
命令行临时配置
若需临时修改IP(测试场景),可使用ip命令(推荐)或ifconfig(旧版):
sudo ip addr add 192.168.1.100/24 dev eth0 # 添加IP sudo ip link set eth0 up # 启用网卡 sudo ip route add default via 192.168.1.1 # 添加默认网关
注意:临时配置重启服务器后失效,生产环境建议优先使用配置文件。
动态IP地址分配(DHCP客户端)
动态IP通过DHCP协议自动从路由器或DHCP服务器获取IP,适用于灵活环境(如开发测试机、临时服务器),减少手动配置工作量。
配置DHCP客户端
若服务器需自动获取IP,只需将网络配置中的BOOTPROTO设置为dhcp(CentOS/RHEL)或dhcp4: yes(Ubuntu/Debian),或确保NetworkManager服务启用(默认已启用)。
-
Ubuntu/Debian(netplan)
修改配置文件为:network: version: 2 ethernets: eth0: dhcp4: yes执行
sudo netplan apply即可自动获取IP。
-
CentOS/RHEL(ifcfg文件)
设置BOOTPROTO=dhcp,并确保ONBOOT=yes:BOOTPROTO=dhcp ONBOOT=yes
重启网络服务后,通过
dhclient eth0手动触发获取(或等待自动获取)。
查看动态获取的IP
使用ip addr或hostname -I查看当前IP,或通过cat /var/lib/dhclient/dhclient.leases查看DHCP租约信息(记录获取的IP、租约期限等)。
静态与动态IP对比
| 对比项 | 静态IP | 动态IP |
|---|---|---|
| IP稳定性 | 固定不变,适合长期服务 | 可能变化,需依赖DHCP服务器 |
| 配置复杂度 | 需手动设置参数,易出错 | 自动获取,配置简单 |
| 适用场景 | 服务器、路由器等需固定访问的设备 | 客户端、开发机等临时性设备 |
| 管理成本 | 需维护IP规划,避免冲突 | 无需手动管理,但依赖DHCP服务可用性 |
不同发行版配置关键信息
| 发行版 | 配置文件路径 | 关键参数 | 重启命令 |
|---|---|---|---|
| Ubuntu 18.04+ | /etc/netplan/*.yaml | addresses, gateway4, nameservers, dhcp4 | sudo netplan apply |
| CentOS 7/8 | /etc/sysconfig/network-scripts/ifcfg-* | IPADDR, NETMASK, GATEWAY, DNS1, BOOTPROTO | sudo systemctl restart network |
| Arch Linux | /etc/systemd/network/*.network | Address, Gateway, DNS, DHCP | sudo systemctl restart systemd-networkd |
相关问答FAQs
Q1:如何验证Linux服务器IP地址配置是否成功?
A1:可通过以下方式验证:
- 命令行查看:执行
ip addr show或ifconfig,确认网卡IP是否与配置一致; - 网络连通性测试:使用
ping 192.168.1.1(网关)或ping 8.8.8.8(外网),检查网络是否可达; - DNS解析测试:执行
nslookup www.baidu.com,若能解析域名,说明DNS配置正确。
Q2:静态IP和动态IP如何选择?什么场景下必须用静态IP?
A2:选择依据:
- 静态IP场景:需对外提供固定服务的设备(如Web服务器、数据库服务器、VPN网关),避免IP变化导致客户端无法访问;企业网络中需通过IP绑定策略控制访问权限的设备;服务器作为网络设备(如路由器、防火墙)时,需固定网关和路由配置。
- 动态IP场景:开发测试机、个人电脑、临时服务器等无需固定IP的设备;小型办公网络中减少手动配置工作量。
若服务器IP需被外部依赖(如域名解析、防火墙白名单),则必须使用静态IP,确保服务稳定性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26199.html