Cmd下用route命令解决多个IP选择线路的问题cmd中route命令




Cmd下用route命令解决多个IP选择线路的问题cmd中route命令

2022-07-21 2:05:51 网络知识 官方管理员
一台电脑两条线路一个电信IP一个联通的IP,解决访问电信的时候自动走电信线路,访问联通的时候自动走联通的线路,我们可以用到下面这个命令

  ROUTEDOS命令我们都可以在Cmd下用route/?来查看他的帮助信息

  先看一下他的帮助

  Manipulatesnetworkroutingtables.

  ROUTE[-f][-p][command[destination]

  [MASKnetmask][gateway][METRICmetric][IFinterface]

  -fClearstheroutingtablesofallgatewayentries.Ifthisis

  usedinconjunctionwithoneofthecommands,thetablesare

  clearedpriortorunningthecommand.

  -pWhenusedwiththeADDcommand,makesaroutepersistentacross

  bootsofthesystem.Bydefault,routesarenotpreserved

  whenthesystemisrestarted.Ignoredforallothercommands,

  whichalwaysaffecttheappropriatepersistentroutes.This

  optionisnotsupportedinWindows95.

  commandOneofthese:

  PRINTPrintsaroute

  ADDAddsaroute

  DELETEDeletesaroute

  CHANGEModifiesanexistingroute

  destinationSpecifiesthehost.

  MASKSpecifiesthatthenextparameteristhe'netmask'value.

  netmaskSpecifiesasubnetmaskvalueforthisrouteentry.

  Ifnotspecified,itdefaultsto255.255.255.255.

  gatewaySpecifiesgateway.

  interfacetheinterfacenumberforthespecifiedroute.

  METRICspecifiesthemetric,ie.costforthedestination.

  Allsymbolicnamesusedfordestinationarelookedupinthenetworkdatabase

  fileNETWORKS.Thesymbolicnamesforgatewayarelookedupinthehostname

  databasefileHOSTS.

  IfthecommandisPRINTorDELETE.Destinationorgatewaycanbeawildcard,

  (wildcardisspecifiedasastar'*'),orthegatewayargumentmaybeomitted.

  IfDestcontainsa*or?,itistreatedasashellpattern,andonly

  matchingdestinationroutesareprinted.The'*'matchesanystring,

  and'?'matchesanyonechar.Examples:157.*.1,157.*,127.*,*224*.

  DiagnosticNotes:

  InvalidMASKgeneratesanerror,thatiswhen(DEST&MASK)!=DEST.

  Example>routeADD157.0.0.0MASK155.0.0.0157.55.80.1IF1

  Therouteadditionfailed:Thespecifiedmaskparameterisinvalid

  (Destination&Mask)!=Destination.

  Examples:

  >routePRINT

  >routeADD157.0.0.0MASK255.0.0.0157.55.80.1METRIC3IF2

  destination^^mask^gatewaymetric^^

  Interface^

  IfIFisnotgiven,ittriestofindthebestinterfaceforagiven

  gateway.

  >routePRINT

  >routePRINT157*....Onlyprintsthosematching157*

  >routeCHANGE157.0.0.0MASK255.0.0.0157.55.80.5METRIC2IF2

  CHANGEisusedtomodifygatewayand/ormetriconly.

  >routePRINT

  >routeDELETE157.0.0.0

  >routePRINT

  route-显示/操作IP选路表

  总览SYNOPSIS

  route[-CFvnee]

  route[-v][-Afamily]add[-net|-host]target[netmaskNm][gwGw][metricN][mssM][windowW][irttI][reject][mod][dyn][reinstate][[dev]If]

  route[-v][-Afamily]del[-net|-host]target[gwGw][netmaskNm][metricN][[dev]If]

  route[-V][--version][-h][--help]

  描述DESCRIPTION

  route程序对内核的IP选路表进行操作。它主要用于通过已用ifconfig(8)程序配置好的接口来指定的主机或网络设置静态路由

  选项OPTIONS

  -v

  选用细节操作模式

  -Afamily

  用指定的地址族(如`inet',`inet6')。

  -n

  以数字形式代替解释主机名形式来显示地址。此项对试图检测对域名服务器进行路由发生故障的原因非常有用。

  -e

  用netstat(8)的格式来显示选路表。-ee将产生包括选路表所有参数在内的大量信息。

  -net

  路由目标为网络。

  -host

  路由目标为主机。

  -F

  显示内核的FIB选路表。其格式可以用-e和-ee选项改变。

  -C

  显示内核的路由缓存。

  del

  删除一条路由。

  add

  添加一条路由。

  target

  指定目标网络或主机。可以用点分十进制形式的IP地址或主机/网络名。

  netmaskNm

  为添加的路由指定网络掩码。

  gwGw

  为发往目标网络/主机的任何分组指定网关。注意:指定的网关首先必须是可达的。也就是说必须为该网关预先指定一条静态路由。如果你为本地接口之一指定这个网关地址的话,那么此网关地址将用于决定此接口上的分组将如何进行路由。这是BSD风格所兼容的。

  metricM

  把选路表中的路由值字段(由选路进程使用)设为M。

  mssM

  把基于此路由之上的连接的TCP最大报文段长度设为M字节。这通常只用于优化选路设置。默认值为536。

  windowW

  把基于此路由之上的连接的TCP窗口长度设为W字节。这通常只用于AX.25网络和不能处理背对背形式的帧的设备。

  irttI

  把基于此路由之上的TCP连接的初始往返时间设为I毫秒(1-12000)。这通常也只用于AX.25网络。如果省略此选项,则使用RFC1122的缺省值300ms。

  reject

  设置一条阻塞路由以使一条路由查找失败。这用于在使用缺省路由前先屏蔽掉一些网络。但这并不起到防火墙的作用。

  mod,dyn,reinstate

  设置一条动态的或更改过的路由。这些标志通常只由选路进程来设置。这只用于诊断目的,

  devIf

  强制使路由与指定的设备关联,因为否则内核会自己来试图检测相应的设备(通常检查已存在的路由和加入路由的设备的规格)。在多数正常的网络上无需使用。

  如果devIf是命令行上最后一个指定的选项,那么可以省略关键字dev,因为它是缺省值。否则路由修改对象(metric-netmask-gw-dev)无关紧要。

  范例EXAMPLES

  routeadd-net127.0.0.0

  加入正常的环回接口项,它使用掩码255.0.0.0(由目标地址决定了它是A类网络)并与设备"lo"相关联(假定该设备先前已由ifconfig(8)正确设置)。

  routeadd-net192.56.76.0netmask255.255.255.0deveth0

  向"eth0"添加一条指向网络192.56.76.x的路由。其中的C类子网掩码并不必须,因为192.*是个C类的IP地址。在此关键字"dev"可省略。

  routeadddefaultgwmango-gw

  加入一条缺省路由(如果无法匹配其它路由则用它)。使用此路由的所有分组将通过网关"mango-gw"进行传输。实际使用此路由的设备取决于如何到达"mango-gw"-先前必须设好到"mango-gw"的静态路由。

  routeaddipx4sl0

  向SLIP接口添加一条指向"ipx4"的路由(假定"ipx4"是使用SLIP的主机)。

  routeadd-net192.57.66.0netmask255.255.255.0gwipx4

  此命令为先前SLIP接口的网关ipx4添加到网络"192.57.66.x"的路由。

  routeadd224.0.0.0netmask240.0.0.0deveth0

  此命令为"eth0"设定所有D类地址(用于组播)的路由。这是用于组播内核的正确配置行。

  routeadd10.0.0.0netmask255.0.0.0reject

  此命令为私有网络"10.x.x.x."设置一条阻塞路由。

  输出信息OUTPUT

  内核选路表的输出信息由以下栏目组成:

  Destination

  目标网络或目标主机。

  Gateway

  网关地址或'*'(如未设)。

  Genmask

  目标网络的子网掩码;'255.255.255.255'为主机,'0.0.0.0'为缺省路由。

  Flags

  可能出现的标志有:

  U(routeisup)路由正常

  H(targetisahost)主机路由

  G(usegateway)使用网关的间接路由

  R(reinstateroutefordynamicrouting)为动态选路恢复路由

  D(dynamicallyinstalledbydaemonorredirect)该路由由选路进程或重定向动态创建

  M(modifiedfromroutingdaemonorrederict)该路由已由选路进程或重定向修改

  !(rejectroute)阻塞路由

  Metric

  通向目标的距离(通常以跳来计算)。新内核不使用此概念,而选路进程可能会用。

  Ref

  使用此路由的活动进程个数(Linux内核并不使用)。

  Use

  查找此路由的次数。根据-F和-C的使用,此数值是路由缓存的损失数或采样数。

  Iface

  使用此路由发送分组的接口。

  MSS

  基于此路由的TCP连接的缺省最大报文段长度。

  Window

  基于此路由的TCP连接的缺省窗口长度。

  irtt

  初始往返时间。内核用它来猜测最佳TCP协议参数而无须等待(可能很慢的)应答。

  HH(cachedonly)

  为缓存过的路由而访问硬件报头缓存的ARP记录和缓存路由的数量。如果缓存过路由的接口(如lo)无须硬件地址则值为-1。

  Arp(cachedonly)

  无论缓存路由所用的硬件地址情况如何都进行更新。

  文件FILES

  /proc/net/ipv6_route

  /proc/net/route

  /proc/net/rt_cache

  两个都能共享了,但是怎么自动选择线路呢?目前有的网吧可以自动选择线路,有的还得手动切换,呵呵,我的目的就是自动选择。我想到了路由表,目标ip是学校的通过有线网卡,除此之外的所有ip都通过无限网卡。对,就是route命令,上网查了查有关route命令.具体设置是这样的:tplink410静态ip,添加学校分给的ip,克隆mac,打开dhcp,dmz(验证不打开也行。),lan端口设置ip地址为192.168.2.1,因为无线网络要用到ip192.168.1.1,所以这个改成2.1当然改成别的也可以。无线路由当然要添加adsl的账号密码,dhcp打开,lan端口设置ip默认,密匙之类的统统没用,只是限制了mac地址,禁止宿舍几台电脑之外的mac访问路由。

  设置好了以后就是路由表了,也就是route命令。Route命令在windows下和在linux下适用类似,但是有些细微的差别。下面介绍介绍我自己的route的理解,也是一知半解。高手可以给大家讲详细点儿。先把我的批处理贴出来:

  routeadd202.206.0.0mask255.255.0.0192.168.2.1

  routeadd10.186.0.0mask255.255.0.0192.168.2.1

  routeadd10.185.0.0mask255.255.0.0192.168.2.1

  routeadd0.0.0.0mask0.0.0.0192.168.1.1

  参数含义:^destination^mask^gatewaymetric^^interface

  destination【网段地址】

  mask【子网掩码】

  gateway【网关地址】

  metric【路由跳数】

  if【端口号】

  其中:

  可以省略【路由跳数】参数;

  当通往该网关地址的路径唯一时,【端口号】参数可以省略。(因为在多端口的路由交换设备上,可能存在通往同一个IP地址的多条备份路径。)

  mask是关键字,不能省略。

  routeadd202.206.0.0mask255.255.0.0192.168.2.1

  意思是:所有发往202.206.0.0地址段的ip数据包,全部由192.168.2.1网关发送。

  这样大家就能看出来我们学校一些服务器的ip段大概就是202.206.0.0,10.186.0.0和10.185.0.0,其实还有其他的,只是我暂时用不到,所以没添加。

  routeadd0.0.0.0mask0.0.0.0192.168.1.1

  意思是:其他所有的地址段的ip数据包都由192.168.1.1发送。

  这样每台机子开机运行这个批处理,就能自动选择双线上网了。网吧的我估计也类似,他们完全可以用个双wan路由,在路由器里或者服务器里边添加静态路由表,其他的机子就不用添加路由表了,就可以自动双线上网了,不过电信网通的路由表貌似还很大,不知道谁能共享一下哦。呵呵

  还有routechange命令,就是把add改为change,就是更改静态路由表。

  这样,我们的目的就实现了,校内校外都能访问,其中一台电脑还可以通过学校的拨号程序访问校外的资源,如果他已经运行了批处理,已经添加了静态路由表,还可以通过routechange命令更改。下面是我写的一个批处理贴出:

  @ECHOOFF

  CLS

  color0a

  ECHO=-=-=-=-=请选择要启动的服务项目=-=-=-=-=

  ECHO.

  ECHO1双网双线,如果不使用elink,开机选择!

  ECHO.

  ECHO2恢复elink拨号(之前选择了1,现在重新选择2,如果之前没有选择线路,此时不需

  ECHO选择,直接拨号即可)

  ECHO.

  ECHO3恢复双网双线(之前选择了2现在重新选回双网双线)

  ECHO.

  ECHO.

  SET/PST=请输入123或其他任意键取消:

  if/I\"%ST%\"==\"1\"gotoSERVICE1

  if/I\"%ST%\"==\"2\"gotoSERVICE2

  if/I\"%ST%\"==\"3\"gotoSERVICE3

  gotoEND

  :SERVICE1

  routeadd202.206.0.0mask255.255.0.0192.168.2.1

  routeadd10.186.0.0mask255.255.0.0192.168.2.1

  routeadd10.185.0.0mask255.255.0.0192.168.2.1

  routeadd0.0.0.0mask0.0.0.0192.168.1.1

  :SERVICE2

  routechange0.0.0.0mask0.0.0.0192.168.2.1

  :SERVICE3

  routechange0.0.0.0mask0.0.0.0192.168.1.1

  :END

  这样就可以自由选择怎么上网了,其实我感觉用vb写个小程序更好一些呵呵。

  先告一段落吧,还有一点就是linux下的routeadd命令。

  Route202.206.0.0netmask255.255.0.0gw192.168.2.1

  好了,写到这里了。写的不好,大家见笑了

发表评论:

最近发表
网站分类
标签列表