在Linux系统中设置固定IP地址需要根据不同的网络管理工具进行配置,主要有以下几种常用方法:
1. 使用 `nmcli` 配置(NetworkManager)
NetworkManager是多数现代Linux发行版(如Ubuntu、RHEL、CentOS)的默认网络管理工具。
步骤:
查看当前网络连接名称:
bash
nmcli connection show
修改现有连接(假设名为`eth0`):
bash
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
应用配置并重启连接:
bash
nmcli connection down eth0 && nmcli connection up eth0
2. 修改配置文件(传统方式)
Debian/Ubuntu系
配置文件路径:`/etc/network/interfaces`
bash
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
重启网络服务:
bash
systemctl restart networking
RHEL/CentOS系
配置文件路径:`/etc/sysconfig/network-scripts/ifcfg-eth0`
ini
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
重启网络服务:
bash
systemctl restart NetworkManager
3. 使用 `netplan`(Ubuntu 18.04+)
配置文件路径:`/etc/netplan/01-netcfg.yaml`
yaml
network:
version: 2
ethernets:
eth0:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
应用配置:
bash
netplan apply
4. 注意事项
子网掩码与CIDR表示法:`255.255.255.0` 对应 `/24`,需根据实际情况调整。
DNS配置:若DNS未生效,检查`/etc/resolv.conf`是否被覆盖,建议在配置文件中显式指定DNS。
多网卡环境:确保配置的网卡名称与实际一致(如`eth0`、`ens33`等),可通过`ip a`命令查看。
防火墙:固定IP后需检查防火墙规则,确保不会阻断通信。
5. 验证配置
检查IP是否生效:
bash
ip addr show eth0
测试网络连通性:
bash
ping -c 4 8.8.8.8
验证DNS解析:
bash
nslookup example.com
如果需要更复杂的配置(如多IP绑定、路由表调整),可进一步使用`ip route`或`nmcli`的高级参数。