route
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| root@Ubuntu:~ Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.147.9.0 * 255.255.255.0 U 1 0 0 eth0 192.168.1.0 * 255.255.255.0 U 2 0 0 wlan0 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 link-local * 255.255.0.0 U 1000 0 0 eth0 192.168.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 wlan0 default 10.147.9.1 0.0.0.0 UG 0 0 0 eth0 root@Ubuntu:~ 结果是自上而下, 就是说, 哪条在前面, 哪条就有优先, 前面都没有, 就用最后一条default 举例, 添加一条路由(发往192.168.62这个网段的全部要经过网关192.168.1.1) route add -net 192.168.62.0 netmask 255.255.255.0 gw 192.168.1.1 删除一条路由 route del -net 192.168.122.0 netmask 255.255.255.0 删除的时候不用写网关 linux下添加路由的方法: 一:使用 route 命令添加 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法: //添加到主机的路由 //添加到网络的路由 //添加默认网关 //删除路由 二:在linux下设置永久路由的方法: 1.在/etc/rc.local里添加 方法: route add -net 192.168.3.0/24 dev eth0 route add -net 192.168.2.0/24 gw 192.168.3.254 2.在/etc/sysconfig/network里添加到末尾 方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev 3./etc/sysconfig/static-router : any net x.x.x.x/24 gw y.y.y.y
|
Route命令的正确用法
使用 Route 命令行工具查看并编辑计算机的 IP 路由表。Route 命令和语法如下所示:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
-f 清除所有网关入口的路由表。
-p 与 add 命令一起使用时使路由具有永久性。
Command 指定您想运行的命令 (Add/Change/Delete/Print)。
Destination 指定该路由的网络目标。
mask Netmask 指定与网络目标相关的网络掩码(也被称作子网掩码)。
Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。
metric Metric 为路由指定一个整数成本值标(从 1 至 ArrayArrayArrayArray),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。
if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引,使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引。
/? 在命令提示符处显示帮助。
示例
若要显示 IP 路由表的全部内容,请键入:
route print
若要显示以 10. 起始的 IP 路由表中的路由,请键入:
route print 10.*
若要添加带有 1Array2.168.12.1 默认网关地址的默认路由,请键入:
route add 0.0.0.0 mask 0.0.0.0 1Array2.168.12.1
若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个永久路由,请键入:
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且其成本值标为 7 的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且使用 0x3 接口索引的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
若要删除到带有 255.255.0.0 子网掩码的 10.41.0.0 目标的路由,请键入:
route delete 10.41.0.0 mask 255.255.0.0
若要删除以 10. 起始的 IP 路由表中的所有路由,请键入:
route delete 10.*
若要将带有 10.41.0.0 目标和 255.255.0.0 子网掩码的下一跃点地址从 10.27.0.1 修改为 10.27.0.25,请键入:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
| ------------------------------------------------------------------------- 首先,先了解传统的网络配置命令: 1. 使用ifconfig命令配置并查看网络接口情况 示例1: 配置eth0的IP,同时激活设备: 示例2: 配置eth0别名设备 eth0:1 的IP,并添加路由 示例3:激活(禁用)设备 示例4:查看所有(指定)网络接口配置 2. 使用route 命令配置路由表 示例1:添加到主机路由 示例2:添加到网络的路由 示例3:添加默认网关 示例4:删除路由 示例5:查看路由信息 3.ARP 管理命令 示例1:查看ARP缓存 示例2: 添加 示例3: 删除 4. ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。例如:ifconfig、route等, 上面的示例完全可以用下面的ip命令实现,而且ip命令可以实现更多的功能.下面介绍一些示例: 4.0 ip命令的语法 ip命令的用法如下: ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] 4.1 ip link set--改变设备的属性. 缩写:set、s 示例1:up/down 起动/关闭设备。 这个等于传统的 示例2:改变设备传输队列的长度。 参数:txqueuelen NUMBER或者txqlen NUMBER 示例3:改变网络设备MTU(最大传输单元)的值。 示例4: 修改网络设备的MAC地址。 参数: address LLADDRESS 4.2 ip link show--显示设备属性. 缩写:show、list、lst、sh、ls、l -s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。 示例: eth0: mtu 1500 qdisc cbq qlen 100 link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 2449949362 2786187 0 0 0 0 RX errors: length crc fifo missed 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 178558497 1783946 332 0 332 35172 TX errors: aborted fifo window heartbeat 0 0 0 332 这个命令等于传统的 ifconfig eth0 5.1 ip address add--添加一个新的协议地址. 缩写:add、a 示例1:为每个地址设置一个字符串作为标签。为了和Linux-2.0的网络别名兼容,这个字符串必须以设备名开头,接着一个冒号, 示例2: 在以太网接口eth0上增加一个地址192.168.20.0,掩码长度为24位(155.155.155.0),标准广播地址,标签为eth0:Alias: 这个命令等于传统的: ifconfig eth1:1 192.168.4.2 5.2 ip address delete--删除一个协议地址. 缩写:delete、del、d 5.3 ip address show--显示协议地址. 缩写:show、list、lst、sh、ls、l 5.4.ip address flush--清除协议地址. 缩写:flush、f 示例1 : 删除属于私网10.0.0.0/8的所有地址: 示例2 : 取消所有以太网卡的IP地址 6. ip neighbour--neighbour/arp表管理命令 缩写 neighbour、neighbor、neigh、n 命令 add、change、replace、delete、fulsh、show(或者list) 6.1 ip neighbour add -- 添加一个新的邻接条目 ip neighbour change--修改一个现有的条目 ip neighbour replace--替换一个已有的条目 缩写:add、a;change、chg;replace、repl 示例1: 在设备eth0上,为地址10.0.0.3添加一个permanent ARP条目: 示例2:把状态改为reachable 6.2.ip neighbour delete--删除一个邻接条目 示例1:删除设备eth0上的一个ARP条目10.0.0.3 6.3.ip neighbour show--显示网络邻居的信息. 缩写:show、list、sh、ls 示例1: 193.233.7.254. dev eth0 lladdr 00:00:0c:76:3f:85 ref 5 used 12/13/20 nud reachable 6.4.ip neighbour flush--清除邻接条目. 缩写:flush、f 示例1: (-s 可以显示详细信息) 7. 路由表管理 7.1.缩写 route、ro、r 7.2.路由表 从Linux-2.2开始,内核把路由归纳到许多路由表中,这些表都进行了编号,编号数字的范围是1到255。另外, 为了方便,还可以在/etc/iproute2/rt_tables中为路由表命名。 默认情况下,所有的路由都会被插入到表main(编号254)中。在进行路由查询时,内核只使用路由表main。 7.3.ip route add -- 添加新路由 ip route change -- 修改路由 ip route replace -- 替换已有的路由 缩写:add、a;change、chg;replace、repl 示例1: 设置到网络10.0.0/24的路由经过网关193.233.7.65 示例2: 修改到网络10.0.0/24的直接路由,使其经过设备dummy 示例3: 实现链路负载平衡.加入缺省多路径路由,让ppp0和ppp1分担负载(注意:scope值并非必需,它只不过是告诉内核, 这个路由要经过网关而不是直连的。实际上,如果你知道远程端点的地址,使用via参数来设置就更好了)。 示例4: 设置NAT路由。在转发来自192.203.80.144的数据包之前,先进行网络地址转换,把这个地址转换为193.233.7.83 示例5: 实现数据包级负载平衡,允许把数据包随机从多个路由发出。weight 可以设置权重. 7.4.ip route delete-- 删除路由 缩写:delete、del、d 示例1:删除上一节命令加入的多路径路由 7.5.ip route show -- 列出路由 缩写:show、list、sh、ls、l 示例1: 计算使用gated/bgp协议的路由个数 1413 9891 79010 示例2: 计算路由缓存里面的条数,由于被缓存路由的属性可能大于一行,以此需要使用-o选项 159 2543 18707 示例3: 列出路由表TABLEID里面的路由。缺省设置是table main。TABLEID或者是一个真正的路由表ID或者是/etc/iproute2/rt_tables文件定义的字符串, 或者是以下的特殊值: all -- 列出所有表的路由; cache -- 列出路由缓存的内容。 ip ro ls 193.233.7.82 tab cache 示例4: 列出某个路由表的内容 示例5: 列出默认路由表的内容 这个命令等于传统的: route 7.6.ip route flush -- 擦除路由表 示例1: 删除路由表main中的所有网关路由(示例:在路由监控程序挂掉之后): 示例2:清除所有被克隆出来的IPv6路由: 示例3: 在gated程序挂掉之后,清除所有的BGP路由: 示例4: 清除所有ipv4路由cache *** IPv4 routing cache is flushed. 7.7 ip route get -- 获得单个路由 .缩写:get、g 使用这个命令可以获得到达目的地址的一个路由以及它的确切内容。 ip route get命令和ip route show命令执行的操作是不同的。ip route show命令只是显示现有的路由,而ip route get命令在必要时会派生出新的路由。 示例1: 搜索到193.233.7.82的路由 193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac cache mtu 1500 rtt 300 示例2: 搜索目的地址是193.233.7.82,来自193.233.7.82,从eth0设备到达的路由(这条命令会产生一条非常有意思的路由,这是一条到193.233.7.82的回环路由) 193.233.7.82 from 193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac/inr.ac cache mtu 1500 rtt 300 iif eth0 8. ip route -- 路由策略数据库管理命令 命令 add、delete、show(或者list) 注意:策略路由(policy routing)不等于路由策略(rouing policy)。 在某些情况下,我们不只是需要通过数据包的目的地址决定路由,可能还需要通过其他一些域:源地址、IP协议、传输层端口甚至数据包的负载。 这就叫做:策略路由(policy routing)。 8.1. ip rule add -- 插入新的规则 ip rule delete -- 删除规则 缩写:add、a;delete、del、d 示例1: 通过路由表inr.ruhep路由来自源地址为192.203.80/24的数据包 ip ru add from 192.203.80/24 table inr.ruhep prio 220 示例2:把源地址为193.233.7.83的数据报的源地址转换为192.203.80.144,并通过表1进行路由 ip ru add from 193.233.7.83 nat 192.203.80.144 table 1 prio 320 示例3:删除无用的缺省规则 ip ru del prio 32767 8.2. ip rule show -- 列出路由规则 缩写:show、list、sh、ls、l 示例1: 0: from all lookup local 32762: from 192.168.4.89 lookup fddi153 32764: from 192.168.4.88 lookup fddi153 32766: from all lookup main 32767: from all lookup 253 9. ip maddress -- 多播地址管理 缩写:show、list、sh、ls、l 9.1.ip maddress show -- 列出多播地址 示例1: 9.2. ip maddress add -- 加入多播地址 ip maddress delete -- 删除多播地址 缩写:add、a;delete、del、d 使用这两个命令,我们可以添加/删除在网络接口上监听的链路层多播地址。这个命令只能管理链路层地址。 示例1: 增加 示例2: 查看 2: dummy link 33:33:00:00:00:01 users 2 static link 01:00:5e:00:00:01 示例3: 删除 10.ip mroute -- 多播路由缓存管理 10.1. ip mroute show -- 列出多播路由缓存条目 缩写:show、list、sh、ls、l 示例1:查看 (193.232.127.6, 224.0.1.39) Iif: unresolved (193.232.244.34, 224.0.1.40) Iif: unresolved (193.233.7.65, 224.66.66.66) Iif: eth0 Oifs: pimreg 示例2:查看 (193.233.7.65, 224.66.66.66) Iif: eth0 Oifs: pimreg 9383 packets, 300256 bytes 11. ip tunnel -- 通道配置 缩写 tunnel、tunl 11.1.ip tunnel add -- 添加新的通道 ip tunnel change -- 修改现有的通道 ip tunnel delete -- 删除一个通道 缩写:add、a;change、chg;delete、del、d 示例1:建立一个点对点通道,最大TTL是32 11.2.ip tunnel show -- 列出现有的通道 缩写:show、list、sh、ls、l 示例1: 12. ip monitor和rtmon -- 状态监视 ip命令可以用于连续地监视设备、地址和路由的状态。这个命令选项的格式有点不同,命令选项的名字叫做monitor,接着是操作对象: ip monitor [ file FILE ] [ all | OBJECT-LIST ] 示例1: 示例2:
|
Reference