网关用作两个网络之间的入口或门。
生活中路由器的默认网关的地址就是路由器的LAN接口的地址,也就是你路由器的管理页面登陆地址。当你所在的局域网的计算机需要和其它局域网中的计算机,或者需要访问互联网的时候,你所在局域网的计算机会先把数据包传输到网关(路由器的LAN接口),然后再由网关进行转发。
用房屋、房屋大门、房间来形象说明网关:
一套房屋内部有N个房间、一个房屋大门,房间看成电脑所在的局域网,N个房间看成你所在局域网中的N台电脑,房屋大门看成网关。
房屋内的一个房间进入另一个房间的时候并不需要经过房屋大门;在局域网中也是一样的,处在同一局域网的中计算机进行通信的时候并不需要用到网关。
当你需要到邻居家去玩的时候需要要从房屋大门出去;相应的,局域网中的计算机需要和其它局域网中的计算机、和互联网上的计算机进行通信的时候,数据包必须要通过网关才可以到达。
通过ip route show 命令来查看Linux服务器对应的路由。
root@iZuf63978tmw06cpq8okr2Z:~# ip route show
default via 172.24.63.253 dev eth0 proto dhcp src 172.24.59.34 metric 100
172.24.0.0/18 dev eth0 proto kernel scope link src 172.24.59.34
172.24.63.253 dev eth0 proto dhcp scope link src 172.24.59.34 metric 100
root@iZuf63978tmw06cpq8okr2Z:~#
如上,172.24.63.253 为服务器网关。
Linux中route命令是用来打印Linux中的路由表,能够详细查看对应接口所对应的路由地址。
这个路由表描述的信息就是从源地址到目标地址是如何进出的。
root@iZuf63978tmw06cpq8okr2Z:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.24.63.253 0.0.0.0 UG 100 0 0 eth0
172.24.0.0 0.0.0.0 255.255.192.0 U 0 0 0 eth0
172.24.63.253 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
root@iZuf63978tmw06cpq8okr2Z:~#
从上图中可以看出默认网关地址是172.24.63.253,
Flags中的U标签代表的是该路由是打开的,G代表的是默认网关。
目的地址是0.0.0.0代表的是所有的流量都从这个出口进出。iface是eth0代表的是网关对应的网卡。
netstat命令通常用于查看网络连接监听的端口,也可以通过netstat命令来查看路由表。
可以查看路由表那么就可以查看相应的网关地址。
root@iZuf63978tmw06cpq8okr2Z:~# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 172.24.63.253 0.0.0.0 UG 0 0 0 eth0
172.24.0.0 0.0.0.0 255.255.192.0 U 0 0 0 eth0
172.24.63.253 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
root@iZuf63978tmw06cpq8okr2Z:~#