ip和route命令详解

ip 命令

其实际上是整合了 ifconfigroute 两个指令.

使用如:

1
ip [option] [action] [command]

常用的 option 有;

  • -s, statistics, 显示出该装置的统计数据, 如:
    1
    ip -s link show enp7s0

常用的动作有:

  • link, 和装置的相关设置有关, 包括 MTU, MAC 地址等
  • add/address, 用于管理和 ip 地址相关内容, 如显示, 添加, 删除, 修改
  • route, 与路由相关设定

showset 两个.

查看装置相关信息:

1
ip -s link show [device]

设置相关:

1
ip link set [device] [action]

action 包括:

  • up/down
  • address
  • name
  • mtu

ip address 相关

主要有几个动作: show, changeadd/del

查询 IP 参数:

1
ip address show

添加 IP 设定

1
ip address add [IP参数] [device] [相关参数]

[IP参数] 一般如 192.168.100.100/24

[device] 一般如 eth0

[相关参数] 包括:

  • broadcast
  • label
  • scope, 即 global, site, link, host, 默认为 global

如:

1
ip address add 191.0.1.1 dev wlan0 global

注意, 这里的 device 必须存在.

给添加的一个 IP 绑定一个 label:

1
ip address add 192.168.50.50/24 dev enp7s0 label test

ip route

显示路由设定:

1
ip route show

添加和删除路由:

1
ip route [add/del] [ip或网域] [via gateway] [dev]

如增加一个本机可直接沟通的路由:

1
ip route add 192.168.5.0/24 dev enp7s0

增加可以透过 router 通往外部的路由:

1
ip route add 192.168.10.0/24 via 192.168.5.100 dev enp7s0

增加预设路由:

1
ip route add default via 192.168.1.254 dev enp7s0

添加一个 host 的路由:

1
ip route add 192.168.1.101 via 192.168.1.254 dev enp7s0

删除路由:

1
ip route del 192.168.10.0/24

route 命令

在 Gateway 一栏如果

  • 显示 0.0.0.0, 则表示路由是直接由本机传送, 或透过局部网络的 MAC 直接传讯.
  • 显示 IP, 表示需要经过路由器

路由的增加:

1
2
route add -net 192.168.100.0 \
netmask 255.255.255.0 dev eth0

(未指定 gateway 则使用 default gateway)

路由的删除:

1
2
route del -net 192.168.100.0 \
netmask 255.255.255.0 dev eth0

添加默认网关:

1
route add default gw 192.168.1.250

添加一条路由并指定网关

1
route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.5.1

可以指定网卡:

1
route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.5.1 dev eth0

拒绝某个网段的数据包

1
route add -net 192.168.100.0 netmask 255.255.255.0 reject

ip和route命令详解
http://example.com/2023/09/15/ip和route命令详解/
作者
Jie
发布于
2023年9月15日
许可协议