Linux系统中,配置IP地址是网络管理的基础任务之一,以下是几种常见的配置方法及其详细步骤:
使用nmcli命令(适用于NetworkManager管理的网络)
-
查看网络状态
nmcli general status
:显示NetworkManager的整体状态。nmcli connection show
:列出所有网络连接。nmcli device status
:查看网络设备的状态。
-
配置静态IP
- 添加新连接:
nmcli connection add type ethernet con-name my-eth ifname enp3s0 ip4 192.168.1.100/24 gw4 192.168.1.1
说明:
con-name
为连接名称,ifname
为网卡名称,ip4
后跟IP地址和子网掩码,gw4
为网关。 - 修改现有连接:
nmcli connection modify my-eth ipv4.method manual ipv4.addresses 192.168.1.100/24
- 激活连接:
nmcli connection up my-eth
- 添加新连接:
-
持久化配置:通过nmcli配置的连接会自动保存到
/etc/NetworkManager/system-connections/
目录下,重启后仍有效。
使用ip命令(临时配置,重启失效)
-
配置IP地址:
sudo ip addr add 192.168.1.100/24 dev enp3s0
说明:
dev
指定网卡名称,/24
表示子网掩码为255.255.255.0。 -
配置默认网关:
sudo ip route add default via 192.168.1.1
-
删除IP地址:
sudo ip addr del 192.168.1.100/24 dev enp3s0
通过配置文件(永久生效)
发行版 | 配置文件路径 | |
---|---|---|
Red Hat/CentOS | /etc/sysconfig/network-scripts/ifcfg-enp3s0 |
nTYPE=EthernetnBOOTPROTO=nonenIPADDR=192.168.1.100nPREFIX=24nGATEWAY=192.168.1.1nONBOOT=yesn |
Debian/Ubuntu(Netplan) | /etc/netplan/00-installer-config.yaml |
nnetwork:n version: 2n renderer: networkdn ethernets:n enp3s0:n dhcp4: non addresses: [192.168.1.100/24]n gateway4: 192.168.1.1n nameservers:n addresses: [8.8.8.8, 114.114.114.114]n |
Ubuntu(传统interfaces文件) | /etc/network/interfaces |
nauto enp3s0niface enp3s0 inet staticn address 192.168.1.100n netmask 255.255.255.0n gateway 192.168.1.1n |
Arch Linux | /etc/systemd/network/enp3s0.network |
n[Match]nName=enp3s0nn[Network]nAddress=192.168.1.100/24nGateway=192.168.1.1nDNS=8.8.8.8n |
动态IP配置(DHCP)
-
使用dhclient:
sudo dhclient enp3s0
说明:自动从DHCP服务器获取IP地址。
-
通过配置文件启用DHCP:
- 在
/etc/sysconfig/network-scripts/ifcfg-enp3s0
中设置BOOTPROTO=dhcp
,然后执行sudo ifup enp3s0
。
- 在
验证配置
-
查看IP地址:
ip addr show dev enp3s0
-
测试连通性:
ping -c 3 www.baidu.com
-
查看路由表:
ip route
FAQs
Q1:如何让ip命令配置的IP永久生效?
A1:需将配置写入对应的网络管理工具配置文件(如NetworkManager或systemd-networkd),或在系统启动时通过脚本自动执行ip命令。
Q2:为什么修改配置文件后网络未生效?
A2:可能原因包括:配置文件格式错误、未重启网络服务(如sudo systemctl restart network
)、网卡名称与配置文件不匹配,或配置文件被其他工具覆盖,建议检查日志(journalctl -u NetworkManager
)
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/60670.html