做什么
现代 Linux 网络管理统一入口——取代了 ifconfig / route / arp。
三个核心子命令
ip addr # 简写 ip a 看 IP 地址(含接口)
ip link # 简写 ip l 看接口(不含 IP)
ip route # 简写 ip r 看路由表
看 IP
ip a
# 1: lo: <LOOPBACK,UP,LOWER_UP> ...
# inet 127.0.0.1/8 scope host lo
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
# inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
ip -br a # 简洁版(推荐)
# lo UNKNOWN 127.0.0.1/8
# eth0 UP 192.168.1.100/24
ip -br a show eth0 # 仅某接口
看路由
ip r
# default via 192.168.1.1 dev eth0
# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
ip r show default # 仅默认路由
改配置(临时,重启失效)
sudo ip a add 192.168.1.200/24 dev eth0
sudo ip a del 192.168.1.200/24 dev eth0
sudo ip r add default via 192.168.1.1
sudo ip r del default
sudo ip r add 10.0.0.0/8 via 192.168.1.254
sudo ip link set eth0 down # 关接口
sudo ip link set eth0 up # 开接口
sudo ip link set eth0 mtu 1400 # 改 MTU
sudo ip link set dev eth0 promisc on # 混杂模式
永久改
不直接用 ip —— 改发行版的网络配置:
- Ubuntu Server:
/etc/netplan/*.yaml→sudo netplan apply - RHEL/Rocky:NetworkManager(
nmcli)或/etc/sysconfig/network-scripts/ - Debian 老式:
/etc/network/interfaces
常用速查
ip neigh # ARP 缓存(等同老的 arp -a)
ip -s link # 接口统计(收发包计数 / 错误)
ip route get 1.1.1.1 # 看到达某 IP 走哪条路由
ip link show eth0 # 接口详细(含 MAC)
看 MAC 地址
ip link show eth0
# 2: eth0: ...
# link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
坑
ifconfig在现代 Ubuntu 默认没装——apt install net-tools才有- 改 IP 后已建立的 TCP 连接会断
- 临时修改重启失效——永久改要走发行版的配置工具