路由表route

2023-12-21 03:04
文章标签 route 路由表

本文主要是介绍路由表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

这篇关于路由表route的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/518441

相关文章

路由表和三层转发(ping过程)详解

1、路由表概述        路由表的表项根据设备不同,可能是不同的。但是目的IP地址、网络掩码、网关、接口、标志这几项是必须存在的。例如跃点数metric,引用次数ref等在不同设备上可能不同。 1.1、表项理解的问题 诸如IP地址、网络掩码等很好理解,那么网关和接口表项使用来做什么的呢? (1)      网关:是下一站路由器的IP地址 (2)      接口:是将数据报从哪个接口发出

Linux 路由表之route 命令详解

参考资料 Linux 内核的路由表 通过 route 命令查看 Linux 内核的路由表: [root@VM_139_74_centos ~]# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Ifacedefault

VUE之Router命令行警告:Named Route ‘Home‘ has a default child route. 解决办法

Named Route ‘Home’ has a default child route. When navigating to this named route (:to=“{name: ‘Home’”), the default child route will not be rendered. Remove the name from this route and use the name

使用 route 和 ifconfig 命令配置 Linux 路由表的详细指南

在 Linux 的早期版本中,ifconfig 和 route 命令是配置网络接口和路由表的标准工具。虽然在现代 Linux 发行版中这些工具逐渐被 ip 命令所取代,但它们仍然广泛存在于许多系统中,尤其是在旧版本的 Linux 上。本文将详细介绍如何使用 ifconfig 和 route 命令来管理和配置 Linux 系统的网络接口和路由表。 一、基本网络配置 首先,我们需要了解如何使用 i

网络路由介绍,route指令,查询路由表的过程,默认路由

目录 路由 本地主机的路由功能 引入 route指令  查询路由表的过程 介绍 示例 默认路由 注意 路由 本地主机的路由功能 引入 报文经过多个路由器转发至公网,再从公网定位后转发至私网,最终到达目标主机 而报文肯定是要先经过本地主机的 所以本地主机也具有路由功能,也就有自己的路由表 route指令  从左到右介绍是: 当前主机可以连接到的网络/主机(

uva1349 Optimal Bus Route Design 费用流,二分图匹配

题意:n个景点和一些路径,找到任意数目的路径,路径是一个环,使每个景点仅属于一个环,使权值最小。 分析:每个景点的入度和出度都是1,拆分每个景点u,u',若输入u-v,建立u-v'的边,是一个二分图,若存在完美匹配,说明存在若干个环使每个景点属于其中一个环。增加一个起点s和终点t,边权为费用,所有边的容量都为1,求最小费用最大流,若flow==节点数,存在完美匹配,cost即为答案。 #i

ROUTE_STATUS

ROUTE_STATUS是一个只读属性,由Vivado路由器分配给网络 反映网络上路由的当前状态。 该属性可以由单个网络或一组网络使用 get_property或report_property命令。该物业由 report_route_status命令返回整个设计的route_status。 架构支持 所有架构。 适用对象 •网络(get_Nets) 价值观 •路由:网已完全放置并路由。 •部分:放

华为---理解OSPF Route-ID(五)

9.5 理解OSPF Route-ID 9.5.1 原理概述 一些动态路由协议要求使用Router-ID作为路由器的身份标示,如果在启动这些路由协议时没有指定Router-ID,则默认使用路由器全局下的路由管理Router-ID。 Router-ID选举规则为,如果通过Router-ID命令配置了Router-ID,则按照配置结果设置。在没有配置Router-ID的情况下,如果存在配置了IP

Linux/Windows/MacOS X 上面 C/C++ 程序添加路由表

Windows 平台可以参考本人的这篇文章的实现,利用 Windows 路由WINAPI接口来实现。 C# 语言访问 Windows 系统IP路由表的基础类库_c# 获得远程连到windows系统的ip列表-CSDN博客 三个平台通用的实现,可以参考 openvpn 的开源代码实现。 即通过 cmd 命令行接口来配置系统的路由表设置: OpenVPN: src/openvpn/rout

dial tcp 10.96.0.1:443: connect: no route to host

1、创建Pod一直不成功,执行kubectl describe pod runtime-java-c8b465b98-47m82 查看报错   Warning  FailedCreatePodSandBox  2m17s                kubelet            Failed to create pod sandbox: rpc error: code = Unkno