iproute,或称为 iproute2,实际上是一套 Linux 内核网络协议栈工具,提供了一组用于配置网络接口、路由表、策略路由等网络参数的命令行工具。它并不是一个单一的命令,而是由多个独立的工具组成,用于替代传统的网络管理工具(例如 ifconfig、route 等),提供更丰富的功能和更灵活的网络配置。
以下是 iproute2 工具集的主要组件及其作用:
ip命令
ip 命令是 iproute2 工具集的核心命令,用于配置网络接口、地址、路由等。常见用法包括:
显示网络接口信息:
ip link show
启用/禁用网络接口:
ip link set eth0 up # 启用
ip link set eth0 down # 禁用
显示IP地址信息:
ip addr show
配置IP地址:
ip addr add 192.168.1.2/24 dev eth0
显示路由表:
ip route show
添加路由:
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
ip link 命令
ip link 命令用于管理网络接口,包括启用/禁用接口、修改接口状态等。例如:
启用/禁用网络接口:
ip link set eth0 up # 启用
ip link set eth0 down # 禁用
ip addr 命令
ip addr 命令用于管理网络接口的 IP 地址,包括添加和删除 IP 地址。例如:
显示IP地址信息:
ip addr show
配置IP地址:
ip addr add 192.168.1.2/24 dev eth0
ip route 命令
ip route 命令用于管理路由表,包括查看、添加和删除路由。例如:
显示路由表:
ip route show
添加路由:
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
删除路由:
ip route del 192.168.2.0/24
ip neigh 命令
ip neigh 命令用于管理 ARP 缓存表,包括查看、添加和删除 ARP 缓存项。例如:
显示ARP缓存表:
ip neigh show
添加ARP缓存项:
ip neigh add 192.168.1.1 lladdr 00:11:22:33:44:55 dev eth0
删除ARP缓存项:
ip neigh del 192.168.1.1 dev eth0
ip rule 命令
ip rule 命令用于配置策略路由规则。例如:
显示规则:
ip rule show
添加规则:
ip rule add from 192.168.1.2 table 100
删除规则:
ip rule del from 192.168.1.2 table 100
ip tunnel 命令
ip tunnel 命令用于配置 IP 隧道。例如:
创建GRE隧道:
ip tunnel add gre1 mode gre remote 203.0.113.1 local 203.0.113.2
ip link set gre1 up
ip addr add 192.168.3.1/24 dev gre1
删除GRE隧道:
ip tunnel del gre1
ip maddr命令
ip maddr 用于管理组播地址。
显示组播地址:
ip maddr show dev eth0
添加组播地址:
ip maddr add 224.0.0.1 dev eth0
删除组播地址:
ip maddr del 224.0.0.1 dev eth0
ipset命令
ipset 是 iproute2 工具集的一个组件,用于创建和管理 IP 集合。IP 集合是一个用于存储多个 IP 地址的数据结构,可以用于实现高效的 IP 地址过滤。
创建一个 IP 集合:
ipset create myset hash:ip
添加 IP 地址到集合:
ipset add myset 192.168.1.1
从集合中移除 IP 地址:
ipset del myset 192.168.1.1
查看集合内容:
ipset list myset
删除集合:
ipset destroy myset
iperf命令
iperf 不是 iproute2 工具的一部分,而是一个用于测试网络带宽的工具。然而,它常常与 iproute2 一起使用,用于测量网络性能。
服务器端启动:
iperf -s
客户端连接到服务器:
iperf -c server_ip
这将测量客户端与服务器之间的网络带宽。
tc命令
tc 命令用于配置和显示 Linux 内核的 Traffic Control 子系统,用于模拟和控制网络流量。
显示 Traffic Control 配置:
tc qdisc show
添加带宽控制:
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
删除 Traffic Control 配置:
tc qdisc del dev eth0 root
这些命令组合起来,可以实现对网络接口、IP地址、路由等网络配置的灵活管理。iproute2 提供了更强大的网络管理功能,适用于更复杂的网络场景和需求。详细的使用文档可以通过 man ip 等命令查看。