前两天遇到一个问题,可能要向route路由命令中加入接口参数(如添加路由的命令route add 目的网络号 mask 子网掩码 网关 metric 跃点数 if 网卡接口索引),需要查询到网卡接口的索引号,找了一下有两种方法,一种是用arp -a(显示IP与MAC的ARP关系),一种是用route print(显示路由表),前者会显示网卡IP与索引号,后者会显示网卡名称与索引号。
这些查询出来索引号都是以16进制显示,即前面加了0x,那么在route命令中是否要用0x呢?如果你要用16进制表示,就加上0x,用10进制表示,就不用,当然记得把前面查出来的索引号转成10进制的数字。如果省略if参数,会根据网关的IP来寻找最佳路由,所以一般情况下只要指定了网关的IP,不必再专门指定接口,除非是容易混淆的情况,比如同一个网段。
使用route命令可以添加静态路由,优先于默认路由(即网卡TCP/IP协议中添加的默认网关,或用route add 0.0.0.0 mask 0.0.0.0命令加的路由),可以用于多路由或多网关的情况,实现同时访问不同的网段网络。如果有多网卡,就可能需要用到IF参数,甚至用到跃点数的设置(越小越优先),但是不一般不复杂的网络情况,这两个参数都可以省略,只用加个-p添加成永久路由即可。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1313.html