Linux-net相关命令
1. 简介
`ip` 命令是 Linux 系统中管理网络接口的核心工具,替代了传统的 `ifconfig` 和 `route`。 本教程涵盖以下内容:
- 查看 IP 地址和网络接口信息
- 设置临时/永久 IP 地址
- 路由管理基础
2. 查看 IP 地址和网络接口信息
2.1. 1. 查看所有网络接口的 IP 地址
$ip addr show # 简写: ip a $ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:9f:fa:fb brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3 valid_lft 256762sec preferred_lft 256762sec inet6 2408:8214:5a18:40:4303:9a25:1d23:9492/64 scope global temporary dynamic valid_lft 188210sec preferred_lft 83463sec inet6 2408:8214:5a18:40:a00:27ff:fe9f:fafb/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 188210sec preferred_lft 101810sec inet6 fe80::a00:27ff:fe9f:fafb/64 scope link noprefixroute valid_lft forever preferred_lft forever
2.2. 2. 查看特定网络接口的 IP 地址
$ip addr show eth0 # 替换 eth0 为你的接口名
2.3. 3. 查看所有网络接口的状态(启用/禁用)
$ip link show # 简写: ip l
3. 设置 IP 地址(临时生效)
3.1. 1. 为接口添加 IP 地址
$sudo ip addr add 192.168.1.100/24 dev eth0
3.2. 2. 删除接口的 IP 地址
$sudo ip addr del 192.168.1.100/24 dev eth0
3.3. 3. 启用/禁用网络接口
$sudo ip link set eth0 up # 启用接口 $sudo ip link set eth0 down # 禁用接口
4. 永久配置 IP 地址(需修改配置文件)
4.1. 1. Ubuntu/Debian 系统(Netplan)
# 编辑 /etc/netplan/*.yaml network: version: 2 renderer: networkd ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
应用配置:
sudo netplan apply
4.2. 2. CentOS/RHEL 系统(NetworkManager)
# 编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
重启网络服务:
$sudo systemctl restart NetworkManager
5. 路由管理
5.1. 1. 查看路由表
$ip route show # 简写: ip r
5.2. 2. 添加静态路由
$sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
5.3. 3. 删除路由
$sudo ip route del 10.0.0.0/24
6. 高级功能
6.1. 1. 查看 ARP 缓存表
$ip neigh show
6.2. 2. 监控网络统计信息
$ip -s link show eth0 # 显示接口统计信息
7. 注意事项
- 临时设置重启后失效,永久配置需修改系统文件
- 操作网络接口需要 root 权限(使用 sudo)
- 不同 Linux 发行版配置文件路径可能不同
- 修改配置前建议备份原文件
# 通用配置文件备份命令 $sudo cp /etc/netplan/*.yaml /etc/netplan/*.yaml.bak
8. 如果想了解系统的公网 IP 地址,可以使用前面提到的curl命令访问外部服务来查询
$curl ifconfig.me $curl ifconfig.me