路由表route

目录

  • Windows维护路由表,利用route命令,VPN完美异地组网
    • 什么是多网络环境
    • 这里我做个情景演示
    • 重置ipv4网络
    • 再次确认一下网络背景
    • 网关是什么
    • 多网络规划思路
    • 最后拓展内容
    • 实测一下网关切换选项
    • 网关的网关
    • 命令整理

Windows维护路由表,利用route命令,VPN完美异地组网

参考:https://itdog.one/747
视频:https://www.bilibili.com/video/BV1hS4y1i7oC/?spm_id_from=333.337.search-card.all.click&vd_source=cc0e43b449de7e8663ca1f89dd5fea7d

说到很多问题都能用route命令解决说明它很重要,但观众一定在想为什么这么重要的东西似乎完全没听过,这不应该啊。因为只有PC处于多网络的背景下,route命令才有可能会用到。它的作用是规划多网络下的数据传输,俗称路由表,因此route命令的本质是围绕windows路由表做增删改查的命令。

什么是多网络环境

比如我家庭PC有2张网卡,1张千兆1张万兆。

在这里插入图片描述

千兆的接入互联网,万兆的和家庭服务器直连,因为直连数据是本端ip直达对端ip的,数据不过路由器,所以是完全独立于家庭路由器之外的网络,虽然是个微型局域网但同样属于PC接入了2个网络。现实极少有人多插一张网卡, 但有线+无线一样能做到分别加入2个局域网。不少运维到现场都是笔记本插甲方内网网线,然后WIFI连手机热点实现同时上内外网。

再比如我公司办公室PC虽然只有1张网卡,但是通过PPTP、L2TP等方式让windows生成一个虚拟网卡,也等同接入了2个网络。

在这里插入图片描述

以上两个例子为了表明一个道理,多网络环境并不一定是物理网卡组建的,甚至很多第三方加速器软件,连虚拟网卡都不生成的。只要PC在链路上拥有访问多个局域网的权限,那么route命令就有用武之地,因为多网络下windows自己生成的路由表经常很蠢。比如前面举例的笔记本网线插内网,wifi连手机热点,时常出现只能上外网或只能上内网的情况。

这里我做个情景演示

录屏这台PC是我公司办公室电脑,目前WIFI没连,唯一工作的网络连接就是插了公司网线的物理网口。一般来说大公司网络都是内外网隔离的,要么只能上内网要么只能上外网,但我是管理员所以我这台106网段的电脑可以同时上内外网。比如我现在就能访问内网107网段下的海康监控平台。

在这里插入图片描述

在这里插入图片描述

接着通过互联网进行PPTP拨号,当连上家里的PPTP Server后就实现了远程异地组网,此时PPTP的网络连接就会让这台PC加入我的家庭局域网。

在这里插入图片描述

在这里插入图片描述

比如现在可以直接用内网IP打开家里的路由器页面,也可以用内网ip打开家里的NAS,可以看到我家是99网段。

在这里插入图片描述

虽然讲道理PC有两个网络连接,就理所应当该拥有同时访问这2个网络的能力。但现实是如果不维护路由表大概率只有糟心,稍后我会初始化路由表做案例演示,为方便对比先看看我维护好的路由表。

打开cmd 输入命令

route print -4

可以看到ipv4下的路由表规则还是比较多的。

在这里插入图片描述

重置ipv4网络

打开cmd执行

netsh int ipv4 reset

我非常建议当路由表彻底搞坏后选择重置网络,而不是用-f命令去清空路由表。

route -f

如果路由表彻底清空是任何网络能力都没有的,而重置网络路由表会保留基本的上内外网规则。

重置后需要重启电脑,开机后再次查看路由表 route print -4 可以看到规则简化了很多。

在这里插入图片描述

再次确认一下网络背景

办公室PC的物理网口ip没有变还是106网段,并且访问公司107网段的海康威视监控平台毫无问题。然后连接PPTP让这台PC加入我家的局域网,用家里内网ip访问NAS也毫无问题。至此看上去毫无破绽,但回过头你会发现公司内网的访问权限没有了!

如果现在放弃家庭局域网,断开PPTP连接,公司内网秒恢复。这局面就是前文所述的情况,表面看2个网络都连接通常,但实际不能同时使用只能二选一。那为什么维护路由表能解决这问题呢,因为路由表核心参数是网关。

在这里插入图片描述

网关是什么

可以理解成流量代理人,流量代理人又意味着啥,意味着网关设置成106.1客户端流量的下一跳地址必然是106.1。因为客户端的网络请求可以有无数个目标,客户端自己也不知道怎么抵达目的地,有了网关的概念,客户端就不需要想那么长远只要无脑把请求甩给下一跳网关即可。

比如本机ip是1网关是什么92.168.106.118 同事可能是106.117 但相同点在于大家网关都是106.1 这就意味着我和同事电脑上的所有网络指令最终都由106.1这个设备处理,至于106.1怎么处理那是它的事客户端无权干事。

可能有疑问从公司墙里出来的网线插电脑上,墙后边这跟网线可能跳了好几个交换机,那这些交换机是什么角色。告诉大家一个很简单的理解方式,你就把交换机当导线,无论过多少交换机你都当没有这会事,因为交换机不受理你的流量请求,三层交换机除外。用这个知识点带入一下,那我公司的106.1是个什么设备?要么是路由器要么是三层交换机。当然跳出本阶段的知识点,其实也有可能是防火墙之类的其他网络设备。

回归主题捋一下逻辑,这台PC任何网络请求都会交给106.1来处理。所以什么网站能上什么网站不能上由106.1这个设备决定。这条逻辑怎么体现出来呢,打开路由表。

在这里插入图片描述

0.0.0.0 代表全体网络目标,意思也就是所有默认的网络请求都会交给106.1处理。这条命令也碰巧解释了为什么路由表这么重要的东西似乎不维护也不影响使用,因为当电脑只有一个网络连接的时候,windows本机的路由表几乎没有意义因为这台电脑所有网络请求只能交给106.1处理。

但现在连接上PPTP后,能不能访问家里局域网由谁决定,由PPTP的网关决定。

在这里插入图片描述

不显示网关因为是虚拟连接,有点超纲,但这个连接的实质网关和ip相同。本机IP和网关相同的场景非常少见,一般只有在路由器上会出现,所以这个PPTP的连接你可以理解为接入了一个虚拟路由器,所有流量交给虚拟路由器PPTP处理了。

当PC拥有2个网络连接后,流量请求到底是交给106.1处理还是交给 PPTP 处理就成了Windows的难题。在路由表中的体现就是有2条0.0.0.0的全局网络规则,解决办法是告诉电脑XXXX网段是公司内网,这些流量应该由106.1处理。XXXX网段是家庭局域网,这些流量应该交给 PPTP 处理。而这个分配操作就叫维护路由表

在这里插入图片描述

所以现在视线移回路由表,网络目标和子网掩码 指的是你流量访问的目的地。

在这里插入图片描述

网关指访问目标的流量由那个网关处理

在这里插入图片描述

可以看到接口就刚好代表了本机在这个网关下的ip地址

在这里插入图片描述

跃点数越小优先级越高,所以相同规则实际执行的是跃点数小的哪个,目前PPTP的跃点数小,说明我连上PPTP后,流量默认是由PPTP处理而非106.1处理。

在这里插入图片描述

这顺带就解答了,为什么连上PPTP后公司内网上不了。因为默认流量全由PPTP处理,而PPTP走的家庭局域网,在家庭局域网里访问公司内网地址自然是无法抵达的。

所以现在需要把公司内网的路由维护上。

route add -p 192.168.107.0 mask 255.255.255.0 192.168.106.1
route add 是添加路由的命令
-p 代表这条路由永久有效
-p后面跟上要访问的目标地址107.0代表107网段下的全部地址
接着输入掩码
最后用核心参数网关结尾

在这里插入图片描述

执行成功后,客户但所有访问107网段的流量就都会由106.1这个网关处理。

多网络规划思路

聪明的小伙伴至此可能会发现一个问题,凭什么连上PPTP后所有流量默认走PPTP。既然在公司正确路子就应该是默认流量从公司走,特殊的家庭局域网流量才走PPTP。

这样理解确实没错,因为这样网络效率最高,并且家里网段少用route add维护一两个网段就齐活。
但我这么做有2个原因:

①互联网请求走家里网络虽然流量绕圈子了,效率低,但绕回家后我的流量就能上谷歌了。

②走PPTP顺带流量就做了加密,可以保护自己的浏览记录不被公司的网络审计软件扒光。

最后拓展内容

如果你就是要默认流量走公司,最简单的办法直接改跃点数。

在这里插入图片描述

对于虚拟连接改跃点数是可能没用,因为还有一个强制优先级的设置。勾上这个选项意味着强制本机默认流量走PPTP,如果不勾则默认流量走本地连接。

在这里插入图片描述

实测一下网关切换选项

首先删掉刚添加的107网段路由将路由表恢复成默认状态。

route delete 192.168.107.0

在这里插入图片描述

应用设置并重启PPTP连接,然后测试连接公司内网无问题,连接家里NAS出现无法访问。

现象表明目前默认路由全指向了106.1导致访问家庭局域网的流量没指对网关,所以在路由表中把家庭局域网流量甩给PPTP的网关即可。

route add -p 192.168.99.0 mask 255.255.255.0 192.168.98.1

在这里插入图片描述

至此成功将默认流量从PPTP切换到106.1处理,并且实现同时上公司内网与家庭局域网。

在这里插入图片描述

网关的网关

本期内容理解后就对基础网络结构有了认知,简单概述客户端流量的下一跳永远都是网关设备,而网关设备接收到客户端的流量请求后又会在自己的路由表中查询数据包下一跳该传给谁,比如内网跨网段的数据应该甩给那个网关,而通向互联网的数据又该甩给那个网关。而下一个网关接收到数据后也依靠路由表执行着相同的操作,直到数据包抵达目的地则访问成功或彻底找不到下一跳网关访问失败。

命令整理

查看全部路由表:route print
查看IPV4路由表:route print -4
重置IPV4网络:netsh int ipv4 reset
清空路由表:route -f
添加路由:route add -p [目标网络地址] mask [子网掩码] [指定的网关]
添加路由示例①:route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.1
添加路由示例②:route add -p 192.168.107.0 mask 255.255.255.0 192.168.106.1
删除路由:route delete [目标网络地址]
删除路由示例:route delete 192.168.107.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/289125.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB与大数据处理:构建高性能分布式数据库

MongoDB是一种非关系型数据库,具有高度灵活性和可扩展性。在处理大量数据时,索引的优化是提升查询性能的关键。下面将介绍一些MongoDB索引优化的指南,帮助用户更好地利用索引来提高查询性能。 一、选择适当的索引类型 1、单字段索引&#xf…

吴恩达深度学习intuition

这里是看吴恩达课程的一些记录和联想(因为以前听过,因此不会很细致,只做个人记录) 课程链接 首先提到training set, validation set (dev set),test set的分割问题。老师提到,最常用的划分方法传统方法是…

第四节TypeScript 声明变量

1、typescript变量声明 变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。 typescript变量的命名规则: 变量名称可以包含数字和字母。除了下划线_和美元$符号外,不能包含其它特殊字符&#xff0c…

(备战2024)三天吃透Java面试八股文,面试通过率高达90%

什么样的求职者能够获得面试官的青睐?求职者需要准备哪些内容来面对形形色色的面试官?这两份资料是我在几十场面试中被面试官问到的问题,比其他复制粘贴的面试题强一百倍,堪称全网最强(我不太喜欢“全网最强”这样的字…

2023.12.18 制作py,shell脚本进行数据库操作与定时任务

目录 虚拟机中已有的两个库: bi_db和shopnc_db 1.在pycharm中,使用pymysql,连接数据库进行增删改查操作 1.1 查询 1.2 修改 1.3 删除 1.4 增加 2.使用pandas,操作pycharm对数据库进行操作 2.1 对mysql进行覆盖写入 2.2 对mysql进行追加写入 3.在linux中,进行自动化定…

【坐标系在动态SLAM中究竟有多重要】

文章目录 概要整体架构流程背景表示小结 概要 这篇文章对动态SLAM(Simultaneous Localization and Mapping)的多种解决方案进行了深入分析,并确定了解决该问题的最佳方案。文章的重点在于强调了坐标系在解决动态SLAM问题中的重要性。 动态S…

DC-8靶场

目录 DC-8靶场链接: 首先进行主机发现: sqlmap得到账号密码: 反弹shell: exim4提权: Flag: DC-8靶场链接: https://www.five86.com/downloads/DC-8.zip 下载后解压会有一个DC-8.ova文件…

ADS学习笔记(一)——更新中

在ADS中,信号上升时间为信号从0~100%所用的时间,而实际上定义的上升边均为10%~90%,所以可以认为上升边=0.8*ADS设置上升时间。 一、终端开路及短路的反射信号 1.仿真条…

gitcode邀请协作人员

项目首页 点击项目设置 点击项目成员设置--生成邀请链接 设置权限、是否需要审核、成员有效时间、邀请链接有效时间(不设置时间就是永久有效) 点击创建链接 点击复制分享给别人加入即可

Python---互斥锁

1.互斥锁的概念 互斥锁: 对共享数据进行锁定,保证同一时刻只能有一个线程去操作。 注意: 互斥锁是多个线程一起去抢,抢到锁的线程先执行,没有抢到锁的线程需要等待,等互斥锁使用完释放后,其它等待的线程再去抢这个锁…

netty线程调度定制

1、netty的线程调度问题 在netty的TCP调度中,线程的调度封装在NioEventLoopGroup中,线程执行则封装在NioEventLoop中。 线程调度规则封装在MultithreadEventExecutorGroup的next方法中,这个方法又封装了EventExecutorChooserFactory&#xf…

mysql:查看服务端没有睡眠的线程数量

使用命令show global status like Threads_running;可以查看服务端没有睡眠的线程数量。 例如: