在Linux系统中添加IP地址是常见的网络管理任务,适用于服务器负载均衡、多站点托管或网络测试等场景,以下详细说明临时添加(重启失效)和永久添加(重启生效)两种方法,涵盖主流发行版(CentOS/RHEL、Ubuntu/Debian),操作需root权限。
临时添加IP地址(立即生效,重启失效)
通过ip
命令临时添加IP,适合快速测试:
# 验证是否添加成功 ip addr show eth0
- 关键参数:
add 192.168.1.100/24
:IP地址及子网掩码(/24对应255.255.255.0)dev eth0
:指定网卡名称(通过ip link
查看实际网卡名)
永久添加IP地址(重启生效)
不同发行版配置文件路径不同,修改前务必备份:
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0.bak # CentOS备份 sudo cp /etc/network/interfaces ~/interfaces.bak # Ubuntu备份
CentOS/RHEL(7+)和Fedora
编辑网卡配置文件(以eth0
为例):
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加以下内容(支持多IP):
IPADDR=192.168.1.100 PREFIX=24 # 如需多个IP,追加IPADDR1、PREFIX1等: IPADDR1=192.168.1.101 PREFIX1=24
重启网络服务:
sudo systemctl restart NetworkManager # 若使用NetworkManager sudo systemctl restart network # 传统网络服务
Ubuntu/Debian
编辑/etc/network/interfaces
:
sudo vi /etc/network/interfaces
在eth0配置块下添加:
auto eth0 iface eth0 inet static address 192.168.1.100/24 # 多个IP用up/down命令: up ip addr add 192.168.1.101/24 dev eth0 down ip addr del 192.168.1.101/24 dev eth0
应用配置:
sudo systemctl restart networking # Ubuntu 16.04+ sudo /etc/init.d/networking restart # 旧版本
使用Netplan(Ubuntu 18.04+)
编辑YAML配置文件(如/etc/netplan/01-netcfg.yaml
):
network: version: 2 ethernets: eth0: addresses: - 192.168.1.100/24 - 192.168.1.101/24 # 多IP追加条目 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
应用配置:
sudo netplan apply
验证与故障排查
- 检查IP是否生效:
ip addr show eth0 | grep "inet" # 查看所有IP ping -c 4 192.168.1.100 # 测试连通性
- 常见问题:
- IP冲突:确保IP未被其他设备占用。
- 网卡未启动:
sudo ip link set eth0 up
。 - 服务重启失败:检查配置文件语法(如Netplan需严格缩进)。
- 防火墙拦截:临时禁用测试:
sudo systemctl stop firewalld
(CentOS)或sudo ufw disable
(Ubuntu)。
安全与最佳实践
- 最小权限原则:用
sudo
执行命令,避免直接root登录。 - 配置备份:修改前备份文件,防止误操作导致网络中断。
- 子网匹配:确保IP的子网掩码与网关匹配(如
168.1.100/24
对应网关168.1.1
)。 - 云服务器注意:部分云平台(如AWS、阿里云)需在控制台同步绑定弹性IP。
引用说明:本文方法参考Linux官方文档(kernel.org)及主流发行版网络配置指南(Ubuntu、CentOS),实际操作请结合系统版本调整。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9763.html