网关这个概念最早使用于网络,但在当今的智能设备/产品界中,硬生生的被产品人也搞出来一个“网关”的概念,这让早期的咱们这些只知道网络中的网关的人,听得稀里糊涂的。比如智能门锁、安防摄像头等,在产品的使用和介绍中会出现网关的概念,这个网关的概念就跟网络上的网关的概念就不是一个东西了。
在以后的小朋友的概念里,以及根本不知道有“网络网关”这个概念的小朋友们,当咱们这种知道网络网关的概念的人,与这些小朋友沟通的时候,就会出现所谓的“代沟”,他们以后会说咱们这些老家伙out了,不知道网关是什么。
在这里,咱们就只说说,网络层面上的网关是个什么东西。
在网络层面,一般用gateway,简写gw,中文名“网关”,作用是:让两个不同区域或性质的网络可以互相通信。
设有两个网络A 192.168.0.0/24,B 192.168.1.0/24,为了能让这两个网络能互相通信,就必须在A和B之间架设一台物理层面的网关Gab,Gab至少要有两个端口,Ga 192.168.0.254和Gb 192.168.1.254,物理连接后,还需要在每一台终端上设置网络路由。
以下在Windows展示网关的概念和设置,当了解了其中的概念和方法后,在其它的系统中就应该能知道怎么去进行设置了。
(1)在控制面板(Windows11之后淡化了控制面板的概念,需要在设置界面里找)中的网络连接中设置网关:
注:当使用DHCP自动获得IP地址时,一般都会能从DHCP服务器中自动获得一个网关地址并设置在你的系统中。
在此处设置的网关地址(从DHCP中自动获取的地址也等同于此设置),一般称为“默认网关”,表示:访问所有非本机的“本地网络”时,都会通过此网关地址进行转发。
如果终端有多个网络连接,并且设置了多个网关地址时,会出现多个“默认网关”的情况,这时候就表示冲突了,当您访问非本机的“本地网络”的资源时,系统会怎么选择哪一个网关进行转发是没办法确定的,所以需要避免这种情况的出现,一般得要保证仅设置一个默认网关。
(2)通过命令方式设置网关:
运行cmd,输入route print可以看到当前的路由信息表:
这个表的信息有点多,一般咱们可以先关注网络目标为 0.0.0.0 这一条,这一条目一般会显示在最顶端,正常情况下,需要确认只有一条网络目标为0.0.0.0的条目,如果出现多条,系统会根据“跃点数”来使用,如果跃点数也一样,那就不太正常了。
当所有在网络连接中的连接属性中都不设置网关时,可以通过下面的命令进行设置:
route add 0.0.0.0 mask 0.0.0.0 192.168.1.254 -p
命令后面的 -p 表示设置永久生效,如果仅希望临时生效时,可以不加 -p,那么在电脑重启后设置即会失效。
网络目标(IPV4):一般用 xxx.xxx.xxx.0/24 ,xxx.xxx.0.0/16,xxx.0.0.0/8,0.0.0.0/0 这样的方式来表示,mask(掩码)与这个数字之间的关系,可以百度。
0.0.0.0/0 就表示所有的网络了(需要了解的是在通信的时候,这个区域是不包括本地网络的)。
需要上互联网的电脑,一般都需要设置 0.0.0.0/0 这个目标的网关,当我们使用DHCP(自动获取IP)或者是宽带连接(pppoe、VPN)等进行连接时,连接程序一般都会自动设置这个网关,任何时候都可以随时通过route print命令查看。
如果我们的网络中有多个网关供我们连接多个不同的网络时,我们一般都不会通过默认网关来设置,因为会产生歧义,需要通过route add 这一条命令进行手动设置
在Windows中咱们设置的命令格式一般为
route add 目标网络 mask 掩码 网关地址 -p
如
route add 172.1.1.0 mask 255.255.255.0 172.17.80.254
必须要确定的是:网关地址必须是距离咱们的电脑“最近”并且是“可以直接访问(数据包可直达)”的(有时候会在一些人设置的网络中会看到一些奇怪的设置,如网关地址看起来并没有与本机的“本地网络”是在“同一个网络”里的),在此不述。
以上,就是关于网关(gateway)在网络世界中以及在Windows中的一些常规的概念和设置方式,内容仅适合于新手。其实,理解了以上的信息之后,在后面的一些设置中如linux和网络设备中关于网关和路由的设置就容易理解了。
如果想了解更多的关于在网关设备(三层设备)/linux等环境中关于网关的信息,可以关注我。