我可以使用默认路由规则“ip route 0.0.0.0 0.0.0.0 f0/0 192.168.xxx.xxx”指定192.168.xxx.xxx作为我的代理服务器吗?

网络工程 路由 代理
2022-02-23 21:52:49

我是网络新手,刚刚学习了 Cisco 路由器的静态路由。我知道这ip route 0.0.0.0 0.0.0.0 f0/0 192.168.xxx.xxx表明所有数据包都应转发到192.168.xxx.xxx. 我可以使用此规则指定192.168.xxx.xxx我的默认代理服务器吗?我的同学说我正在混合网络层和应用层,我不相信这是真的。

3个回答

正在混合图层。网关路由 IP 流量,代理适用于 HTTP(S) 流量(IP 数据包中的有效负载)。因此,除非您的代理服务器同时执行并路由 IP 数据包,否则您会通过将网关设置为代理服务器来破坏事情。

如果您输入此配置,将会发生以下情况:

您的路由器将使用 ARP 查找 192.168.xxx.xxx 的 MAC 地址。每当您的路由器想要将 IP 数据包发送到任何地方(它没有更具体的路由)时,它都会将其发送到该 MAC 地址。IP 地址为 192.168.xxx.xxx 的设备现在负责将该数据包发送到其目的地。

这与 HTTP 代理不同。是的,这是一个类似的概念,但 HTTP 代理位于 HTTP(应用程序)层,这是发生在网络层的路由。它们也被设计用于不同的目的——虽然 HTTP 代理被设计为扰乱 HTTP 流量,但路由只是被设计为将数据包发送到它们的目的地。

可以将计算机设置拦截流量的路由器,但您会遇到一个主要问题:完成后无法将流量发送到 Internet。当它编辑数据包并将编辑后的数据包发送回路由器时,路由器只会将数据包发送回它,因为路由器合理地认为这是数据包到达 Internet 的正确方向。出于这个原因,如果您确实想使用这样的系统来拦截流量,则需要在“本地”和“互联网”流量之间进行某种分离。最直接的方法是将“代理”放在“主”路由器和 Internet 之间,具有两个独立的接口。

我可以使用此规则将 192.168.xxx.xxx 指定为我的默认代理服务器吗?

否。为应用层协议(尤其是 HTTP/S)指定了代理默认路由指向网络层网关。

您需要能够路由到您的代理(可能在世界的另一端)。使用该代理的配置要么在应用程序(浏览器)内,要么在操作系统中的全局。请注意,传输层之上的代理、主机配置和其他任何东西在这里都是明确的题外话。