====== iproute介绍 ======
iproute是用于linux下网络配置工具,该工具包含下面工具组件,分别为:
ip 网络配置命令
tc 用来进行流量控制的命令(traffic control)
rtacct 查看数据包流量状态的命令
ifcfg 网络地址配置管理
rtstat 路由状态查看工具
nstat 显示网络统计信息
ss 类似于netstat 命令,显示活动的连接
===== iproute安装 =====
Turbolinux GTES10.5安装光盘已经包含iproute安装包iproute-2.6.9-3.2.i386.rpm,使用下面命令安装该软件包:
# rpm –ivh iproute-2.6.9-3.2.i386.rpm
===== iproute常用命令语法说明 =====
==== tc命令语法 ====
详细说明请连接到下面链接:
http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=网络管理:traffic-control
==== ip命令语法 ====
ip [ OPTIONS ] OBJECT [ COMMAND [ ARGUMENTS ]]
OPTIONS常用的有
-V 打印iproute 信息
-r 将ip地址转换成域名
-s 输出更为详细的结果,如果连续使用多个-s可以得到更为详细的结果。
OBJECT 即管理的对象:
Link 指网络设备,通过此对象命令,我们可以查看及更改网络设备的属性。
Address 地址管理
Neighbour arp表管理
route 路由管理
Rule 路由策略
Maddress 多址广播地址
Mroute 多播路由缓存管理
Tunnel 通道管理
COMMAND 即指定对对象所执行的操作。
Add 添加
Delete 删除
List/show 列表
Help 帮助
Set 设置
Change 改变
Replace 替换
ARGUMENTS 即操作参数,对不同的对象和操作,其可能的参数也不一样:
Link管理相关参数:
dev name 指定要进行操作的网络设备名称
up/down 激活/禁用网络设备
arp on / arp off 在该网络设备上使用arp协议/禁用arp协议
multicast on / multicast off 打开/关闭多目传送
dynamic on / dynamic off 打开/关闭动态标志
name NAME 更改网络设备名称(需停止设备)
txqlen number 设置传输队列长度
mtu number 设置最大传输单元
address mac 设置网络设备的MAC地址
broadcast mac 设置网络设备的硬件广播地址
Address 地址管理相关参数:
local ADDRESS 协议地址,如192.168.1.100/24。
peer ADDRESS 使用点对点连接时对端的协议地址。
broadcast ADDRESS 协议广播地址,可以简写成brd。
label NAME 地址标志。
scope SCOPE_VALUE 地址范围,可能的值有:
global:说明该地址全局有效;
site:说明该地址只在本地站点内有效,该值只在ipv6中使用;
link:只在该网络设备上有效;
host:只在该主机上有效;
Neighbour arp管理相关参数:
to ADDRESS 指定协议地址,可以是ipv4或者ipv6的
dev NAME 指定网络设备名称
lladdr LLADDRESS 指定硬件地址
nud NUD_STATE 指定neighbour的nud值,即邻居不可到达检测,可以是以下值:
permanent:说明该记录将永久有效,只能出于管理的目的将其删除。
Noarp:说明该记录有效,但是在其生存时间到达以后可以被删除。
Reachable:说明该记录有效,直到可到达超时溢出。
Stale:说明该记录有效,但是其有效性值得怀疑。
Route管理相关参数:
to PREFIX 路由的目标前缀(prefix)
metric NUMBER 定义路由的优先值,NUMBER是任意32位数字
table TABLEID 路由要加入的表
dev NAME 输出设备的名字
via ADDRESS 指定下一跳路由器的地址
src ADDRESS 在向目的prefix发送数据包时选择的源地址
realm REALMID 指定路由分配的realm
mtu MTU 设置到达目的路径的最大传输单元(MTU)
window NUMBER 设置到目的地址TCP连接的最大窗口值,以字节为单位
rtt NUMBER 估算初始往返时间(Round Trip Time)
rttvar NUMBER 估算初始往返时间偏差(RTT variance)
ssthresh NUMBER 估算慢启动阀值(slow start threshould)
cwnd NUMBER 把拥挤窗口(congestion window)值锁定为NUMBER
advmss NUMBER 设置在建立TCP连接时,向目的地址声明的最大报文段大小,如果没有设置,Linux内核会使用计算第一跳的最大传输单元得到的数值。
nexthop NEXTHOP 设置多路径路由的下一跳地址
via ADDRESS 表示下一跳路由器
scope SCOPE_VAL 路由前缀(prefix)覆盖的范围
protocol RTPROTO 本条路由得路由协议识别符
===== iproute 使用实例 =====
==== 设置网络设备的MAC地址 ====
# ip link set eth0 address ff:ff:ff:ff:ff:ff
注意:在设置前要先执行 ip link set eth0 down,设置完成后再执行ip link set eth0 up
==== 禁用网络接口 ====
# ip link set eth0 down
==== 查看网络Link信息 ====
# ip link list
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:e0:81:51:d9:43 brd ff:ff:ff:ff:ff:ff
==== 查看地址信息 ====
# ip addr list
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:00:b4:c2:7e:4b brd ff:ff:ff:ff:ff:ff
inet 192.168.0.200/24 brd 192.168.0.255 scope global eth0
inet6 fe80::200:b4ff:fec2:7e4b/64 scope link
valid_lft forever preferred_lft forever
==== 查看路由表 ====
# ip route show
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.200
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.200
169.254.0.0/16 dev eth1 scope link
default via 192.168.0.1 dev eth0
==== 查看arp表 ====
# ip neighbour show
192.168.0.5 dev eth1 lladdr 00:90:f5:4d:f7:16 nud reachable
http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=%E7%BD%91%E7%BB%9C%E8%AF%8A%E6%96%AD%E5%B7%A5%E5%85%B7:iproute
http://www.turbolinux.com.cn/turbo/wiki/doku.php