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

这篇具有很好参考价值的文章主要介绍了Cmd下用route命令解决多个IP选择线路的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一台电脑两条线路一个电信IP一个联通的IP,解决访问电信的时候自动走电信线路,访问联通的时候自动走联通的线路,我们可以用到下面这个命令
  ROUTE DOS命令我们都可以在 Cmd 下用 route /? 来查看他的帮助信息
  先看一下他的帮助
  Manipulates network routing tables.
  ROUTE [-f] [-p] [command [destination]
  [MASK netmask] [gateway] [METRIC metric] [IF interface]
  -f Clears the routing tables of all gateway entries. If this is
  used in conjunction with one of the commands, the tables are
  cleared prior to running the command.
  -p When used with the ADD command, makes a route persistent across
  boots of the system. By default, routes are not preserved
  when the system is restarted. Ignored for all other commands,
  which always affect the appropriate persistent routes. This
  option is not supported in Windows 95.
  command One of these:
  PRINT Prints a route
  ADD Adds a route
  DELETE Deletes a route
  CHANGE Modifies an existing route
  destination Specifies the host.
  MASK Specifies that the next parameter is the 'netmask' value.
  netmask Specifies a subnet mask value for this route entry.
  If not specified, it defaults to 255.255.255.255.
  gateway Specifies gateway.
  interface the interface number for the specified route.
  METRIC specifies the metric, ie. cost for the destination.
  All symbolic names used for destination are looked up in the network database
  file NETWORKS. The symbolic names for gateway are looked up in the host name
  database file HOSTS.
  If the command is PRINT or DELETE. Destination or gateway can be a wildcard,
  (wildcard is specified as a star '*'), or the gateway argument may be omitted.
  If Dest contains a * or ?, it is treated as a shell pattern, and only
  matching destination routes are printed. The '*' matches any string,
  and '?' matches any one char. Examples: 157.*.1, 157.*, 127.*, *224*.
  Diagnostic Notes:
  Invalid MASK generates an error, that is when (DEST & MASK) != DEST.
  Example> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
  The route addition failed: The specified mask parameter is invalid
  (Destination & Mask) != Destination.
  Examples:
  > route PRINT
  > route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
  destination^ ^mask ^gateway metric^ ^
  Interface^
  If IF is not given, it tries to find the best interface for a given
  gateway.
  > route PRINT
  > route PRINT 157* .... Only prints those matching 157*
  > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
  CHANGE is used to modify gateway and/or metric only.
  > route PRINT
  > route DELETE 157.0.0.0
  > route PRINT
  route - 显示 / 操作IP选路表
  总览 SYNOPSIS
  route [-CFvnee]
  route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I][reject] [mod] [dyn] [reinstate] [[dev] If]
  route [-v] [-A family] del [-net|-host] target [gw Gw][netmask Nm] [metric N] [[dev] If]
  route [-V] [--version] [-h] [--help]
  描述 DESCRIPTION
  route程序对内核的IP选路表进行操作。它主要用于通过已用ifconfig(8)程序配置好的接口来指定的主机或网络设置静态路由。
  选项 OPTIONS
  -v
  选用细节操作模式
  -A family
  用指定的地址族(如`inet',`inet6')。
  -n
  以数字形式代替解释主机名形式来显示地址。此项对试图检测对域名服务器进行路由发生故障的原因非常有用。
  -e
  用netstat(8)的格式来显示选路表。-ee将产生包括选路表所有参数在内的大量信息。
  -net
  路由目标为网络。
  -host
  路由目标为主机。
  -F
  显示内核的FIB选路表。其格式可以用-e 和 -ee选项改变。
  -C
  显示内核的路由缓存。
  del
  删除一条路由。
  add
  添加一条路由。
  target
  指定目标网络或主机。可以用点分十进制形式的IP地址或主机/网络名。
  netmask Nm
  为添加的路由指定网络掩码。
  gw Gw
  为发往目标网络/主机的任何分组指定网关。注意:指定的网关首先必须是可达的。也就是说必须为该网关预先指定一条静态路由。如果你为本地接口之一指定这个网关地址的话,那么此网关地址将用于决定此接口上的分组将如何进行路由。这是BSD风格所兼容的。
  metric M
  把选路表中的路由值字段(由选路进程使用)设为M。
  mss M
  把基于此路由之上的连接的TCP最大报文段长度设为M字节。这通常只用于优化选路设置。默认值为536。
  window W
  把基于此路由之上的连接的TCP窗口长度设为W字节。这通常只用于AX.25网络和不能处理背对背形式的帧的设备。
  irtt I
  把基于此路由之上的TCP连接的初始往返时间设为I毫秒(1-12000)。这通常也只用于AX.25网络。如果省略此选项,则使用RFC1122的缺省值300ms。
  reject
  设置一条阻塞路由以使一条路由查找失败。这用于在使用缺省路由前先屏蔽掉一些网络。但这并不起到防火墙的作用。
  mod, dyn, reinstate
  设置一条动态的或更改过的路由。这些标志通常只由选路进程来设置。这只用于诊断目的,
  dev If
  强制使路由与指定的设备关联,因为否则内核会自己来试图检测相应的设备(通常检查已存在的路由和加入路由的设备的规格)。在多数正常的网络上无需使用。
  如果dev If是命令行上最后一个指定的选项,那么可以省略关键字dev,因为它是缺省值。否则路由修改对象(metric - netmask- gw - dev)无关紧要。
  范例 EXAMPLES
  route add -net 127.0.0.0
  加入正常的环回接口项,它使用掩码255.0.0.0(由目标地址决定了它是A类网络)并与设备"lo"相关联(假定该设备先前已由ifconfig(8)正确设置)。
  route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
  向"eth0"添加一条指向网络192.56.76.x的路由。其中的C类子网掩码并不必须,因为192.*是个C类的IP地址。在此关键字"dev"可省略。
  route add default gw mango-gw
  加入一条缺省路由(如果无法匹配其它路由则用它)。使用此路由的所有分组将通过网关"mango-gw"进行传输。实际使用此路由的设备取决于如何到达"mango-gw" - 先前必须设好到"mango-gw"的静态路由。
  route add ipx4 sl0
  向SLIP接口添加一条指向"ipx4"的路由(假定"ipx4"是使用SLIP的主机)。
  route add -net 192.57.66.0 netmask 255.255.255.0 gw ipx4
  此命令为先前SLIP接口的网关ipx4添加到网络"192.57.66.x"的路由。
  route add 224.0.0.0 netmask 240.0.0.0 dev eth0
  此命令为"eth0"设定所有D类地址(用于组播)的路由。这是用于组播内核的正确配置行。
  route add 10.0.0.0 netmask 255.0.0.0 reject
  此命令为私有网络"10.x.x.x."设置一条阻塞路由。
  输出信息 OUTPUT
  内核选路表的输出信息由以下栏目组成:
  Destination
  目标网络或目标主机。
  Gateway
  网关地址或'*'(如未设)。
  Genmask
  目标网络的子网掩码;'255.255.255.255'为主机,'0.0.0.0'为缺省路由。
  Flags
  可能出现的标志有:
  U (route is up) 路由正常
  H (target is a host) 主机路由
  G (use gateway) 使用网关的间接路由
  R (reinstate route for dynamic routing) 为动态选路恢复路由
  D (dynamically installed by daemon or redirect) 该路由由选路进程或重定向动态创建
  M (modified from routing daemon or rederict) 该路由已由选路进程或重定向修改
  ! (reject route) 阻塞路由
  Metric
  通向目标的距离(通常以跳来计算)。新内核不使用此概念,而选路进程可能会用。
  Ref
  使用此路由的活动进程个数(Linux内核并不使用)。
  Use
  查找此路由的次数。根据-F 和 -C的使用,此数值是路由缓存的损失数或采样数。
  Iface
  使用此路由发送分组的接口。
  MSS
  基于此路由的TCP连接的缺省最大报文段长度。
  Window
  基于此路由的TCP连接的缺省窗口长度。
  irtt
  初始往返时间。内核用它来猜测最佳TCP协议参数而无须等待(可能很慢的)应答。
  HH (cached only)
  为缓存过的路由而访问硬件报头缓存的ARP记录和缓存路由的数量。如果缓存过路由的接口(如lo)无须硬件地址则值为-1。
  Arp (cached only)
  无论缓存路由所用的硬件地址情况如何都进行更新。
  文件 FILES
  /proc/net/ipv6_route
  /proc/net/route
  /proc/net/rt_cache
  两个都能共享了,但是怎么自动选择线路呢?目前有的网吧可以自动选择线路,有的还得手动切换,呵呵,我的目的就是自动选择。我想到了路由表,目标ip是学校的通过有线网卡,除此之外的所有ip都通过无限网卡。对,就是route命令,上网查了查有关route命令.具体设置是这样的:tplink 410静态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的理解,也是一知半解。高手可以给大家讲详细点儿。先把我的批处理贴出来:
  route add 202.206.0.0 mask 255.255.0.0 192.168.2.1
  route add 10.186.0.0 mask 255.255.0.0 192.168.2.1
  route add 10.185.0.0 mask 255.255.0.0 192.168.2.1
  route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
  参数含义:^destination ^mask ^gateway metric^ ^interface
  destination【网段地址】
  mask【子网掩码】
  gateway【网关地址】
  metric 【路由跳数】
  if【端口号】
  其中:
  可以省略【路由跳数】参数;
  当通往该网关地址的路径唯一时,【端口号】参数可以省略。(因为在多端口的路由交换设备上,可能存在通往同一个IP地址的多条备份路径。)
  mask 是关键字,不能省略。
  route add 202.206.0.0 mask 255.255.0.0 192.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,其实还有其他的,只是我暂时用不到,所以没添加。
  route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
  意思是:其他所有的地址段的ip数据包都由192.168.1.1发送。
  这样每台机子开机运行这个批处理,就能自动选择双线上网了。网吧的我估计也类似,他们完全可以用个双wan路由,在路由器里或者服务器里边添加静态路由表,其他的机子就不用添加路由表了,就可以自动双线上网了,不过电信网通的路由表貌似还很大,不知道谁能共享一下哦。呵呵
  还有route change 命令,就是把add改为change,就是更改静态路由表。
  这样,我们的目的就实现了,校内校外都能访问,其中一台电脑还可以通过学校的拨号程序访问校外的资源,如果他已经运行了批处理,已经添加了静态路由表,还可以通过route change命令更改。下面是我写的一个批处理贴出:
  @ECHO OFF
  CLS
  color 0a
  ECHO =-=-=-=-=请选择要启动的服务项目=-=-=-=-=
  ECHO.
  ECHO 1 双网双线,如果不使用elink,开机选择!
  ECHO.
  ECHO 2 恢复elink拨号(之前选择了1,现在重新选择2,如果之前没有选择线路,此时不需
  ECHO 选择,直接拨号即可)
  ECHO.
  ECHO 3 恢复双网双线(之前选择了2现在重新选回双网双线)
  ECHO.
  ECHO.
  SET /P ST= 请输入 1 2 3 或 其他任意键取消:
  if /I \"%ST%\"==\"1\" goto SERVICE1
  if /I \"%ST%\"==\"2\" goto SERVICE2
  if /I \"%ST%\"==\"3\" goto SERVICE3
  goto END
  :SERVICE1
  route add 202.206.0.0 mask 255.255.0.0 192.168.2.1
  route add 10.186.0.0 mask 255.255.0.0 192.168.2.1
  route add 10.185.0.0 mask 255.255.0.0 192.168.2.1
  route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
  :SERVICE2
  route change 0.0.0.0 mask 0.0.0.0 192.168.2.1
  :SERVICE3
  route change 0.0.0.0 mask 0.0.0.0 192.168.1.1
  :END
  这样就可以自由选择怎么上网了,其实我感觉用vb写个小程序更好一些呵呵。
  先告一段落吧,还有一点就是linux下的route add命令。
  Route 202.206.0.0 netmask 255.255.0.0 gw 192.168.2.1
  好了,写到这里了。写的不好,大家见笑了

文章来源地址https://www.toymoban.com/news/detail-462998.html

到了这里,关于Cmd下用route命令解决多个IP选择线路的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux ip route命令

    ip route是Linux系统中的一个非常常用的命令,它用于配置和管理Linux的路由表。通过ip route命令,管理员可以查看、添加、删除或修改Linux系统的路由表,从而决定数据包如何在网络中传输。例如,当一台Linux机器需要连接外网或者内网的其他主机时,它需要知道如何到达目的地

    2024年02月22日
    浏览(46)
  • ip route 路由命令详解

    (523条消息) ip route 命令详解_thj_blog的博客-CSDN博客_ip route命令详解 Linux如何查看网关地址 - study_goup - 博客园 (cnblogs.com) 添加路由192.20.30.0/24网段走eth0网卡 ip route add 192.20.30.0/24 dev eth0 table local Linux下ip route、ip rule、iptables的关系(转) - EasonJim - 博客园 (cnblogs.com) (608条消息) i

    2023年04月09日
    浏览(70)
  • 解决安装nvm以后windows cmd无法找到npm/yarn命令的问题

     安装了nodejs多版本管理工具nvm以后,会出现windows cmd无法找到npm/yarn命令的问题 只要一运行npm/yarn就会提示:不是内部命令,找不到运行路径之类的。 解决办法:首先打开windows环境变量的配置,查看NVM_SYMLINK指向的路径是什么  然后在cmd下运行以下的命令: setx PATH \\\"%PATH%;

    2024年02月07日
    浏览(55)
  • 在Windows下查看并设置CMD命令行字符编码格式,解决中文乱码问题。

    今天在复习java的时候,用cmd运行java文件时出现了中文乱码问题。其实这个问题我在大一下学期第一次上java课时就遇到了,可惜那时老师使用其他IDE来教学,我也懒得去解决这个问题,这个问题就不了了之了。今天又遇到这个问题,百度了相关资料终于解决。 首先,代码如下

    2024年02月12日
    浏览(42)
  • route、ip route添加删除路由表命令,路由表永久化设置

    学习linux笔记小实践一 route 与 ip route的使用 route 与 ip route www.baidu.com 14.119.104.189 add ps:gw、via指自己的网关地址 del default 在/etc/sysconfig/network-scripts/route-ens33配置文件中添加语句 或 以下方法: 1)在/etc/rc.local里添加 方法: route add -net 192.168.3.0/24 dev eth0 route add -net 192.168.2.0/2

    2024年02月04日
    浏览(49)
  • 使用批处理文件(.bat)启动多个CMD窗口并执行命令

    由于每次启动本机的kafka都需要打开2个cmd窗口,分别启动zookeeper服务和kafka服务,操作相对繁琐,于是想起了批处理来帮忙一键启动。 在桌面新建一个txt文件,改后缀名为.bat,并加上下面的代码。 代码结尾不加pause的原因是,执行完关闭窗口,因为不需要该窗口保留着,免得

    2024年02月16日
    浏览(51)
  • `sh -c`命令——解决命令权限问题、一条命令中执行多个指令

    sh -c 在Shell中执行一个字符串作为命令,可以在一条命令中执行多个指令。 其中, command 是要执行的命令或命令串。 **1、 sh -c 属于非交互模式 在终端上敲入命令就可以显示对应结果,这样与终端进行交互执行命令的方式就称为交互模式。 非交互模式就是调用 bash 解释器,通

    2024年03月12日
    浏览(47)
  • Linux系统中查看路由表的命令(ip route)

    以下命令是在Linux系统中查看路由表的命令: 在Linux系统中,有多种方法可以查看路由设置。以下是一些常用的命令: ip route 或 ip -4 route (IPv4)/ ip -6 route (IPv6) : 这是最常用且功能强大的命令,用于查看和操作路由表。 若要仅查看IPv4或IPv6的路由,可以使用以下命令:

    2024年02月03日
    浏览(48)
  • cmd命令设置ip

    1、管理员权限打开cmd命令窗口 2、a:输入 netsh 回车        b:输入 interface 回车       c:输入 ip 回车 3、这时就可以设置ip了,首先确定自己要设置哪个网络信息,获取名称  ,如我要设置的是 以太网 3,就以此为例, 输入  set address \\\"以太网 3\\\" static 192.168.1.202 255.255.255.0 192

    2024年02月16日
    浏览(50)
  • [Python] 手把手教你解决cmd中py或者python命令不能被识别的问题

    \\\'py\\\' is not recognized as an internal or external command, operable program or batch file. 可能不少人会遇到整个问题?我重装电脑之后重下python时出事了,不知道为啥以前写的py用不了,python倒是可以,py不行,网上搜了doskey py = python,但是是临时的(不指标不治本),最后找出以下方法,遇到

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包