所有文章阅读量
UP | HOME

Linux-net相关命令

1. 简介

`ip` 命令是 Linux 系统中管理网络接口的核心工具,替代了传统的 `ifconfig` 和 `route`。 本教程涵盖以下内容:

  1. 查看 IP 地址和网络接口信息
  2. 设置临时/永久 IP 地址
  3. 路由管理基础

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. 注意事项

  1. 临时设置重启后失效,永久配置需修改系统文件
  2. 操作网络接口需要 root 权限(使用 sudo)
  3. 不同 Linux 发行版配置文件路径可能不同
  4. 修改配置前建议备份原文件
# 通用配置文件备份命令
$sudo cp /etc/netplan/*.yaml /etc/netplan/*.yaml.bak

8. 如果想了解系统的公网 IP 地址,可以使用前面提到的curl命令访问外部服务来查询

$curl ifconfig.me
$curl ifconfig.me

日期: <2025-02-10/Monday 17:44:36>

作者: pengshao

Created: 2025-02-17 Mon 23:20

Validate