转至:https://baijiahao.baidu.com/s?id=1733537078943023051&wfr=spider&for=pc
服务器之间的通信是通过ip地址来进行通信的,但是ip地址由小数点分割的4个数值来指定,每个数值只能由0-255组成,在排除一些私有地址以及实验用的地址等,ip数量则变得更有限,因此衍生出了ipv6地址,那么两个网络之间是如何通信的呢?其实两个网络之间需要通信则需要通过网关才能够进行通信,没有网关,只能在局域网内进行互通,但是正常情况下一般都由网关地址的,就比如家用路由器,就是通过dhcp来分配ip地址,并且默认是192.168.1.1网关或者其它地址来作为默认网关来进行通信的。网关用作两个网络之间的入口或门。路由器是网关的一个示例。您的所有流量都流向路由器,然后流向互联网的其余部分。那么下面就来看一下Linux如何查看网关地址。
1.ip命令
ip命令通常用于查看Linux的ip地址,也可以通过ip route命令来查看Linux服务器对应的路由,一般路由地址都有一条默认路由,默认路由一般都是指的是网关地址,就是所有的流量都会从这个默认路由进出,所以这个路由地址对应的地址就是网关地址,一般默认路由都通过default来指定。
[root@sharplee ~]# ip route show
2.route命令
Linux中route命令是用来打印Linux中的路由表,能够详细查看对应接口所对应的路由地址,这个路由表描述的信息就是从源地址到目标地址是如何进出的,那么路由表中肯定就由上面所说的默认路由,默认路由就代表是默认网关,所以可以通过route命令来查看网关地址。
[root@sharplee ~]# route -n
从上图中可以看出默认网关地址是192.168.175.2,Flags中的U标签代表的是该路由是打开的,G代表的是默认网关的意思。目的地址是0.0.0.0代表的是所有的流量都从这个出口进出。iface是ens33代表的是网关对应的网卡。
3.netstat命令
netstat命令通常用于查看网络连接监听的端口,其实也可以通过netstat命令来查看路由表,可以查看路由表那么就可以查看相应的网关地址。
[root@sharplee ~]# netstat -rn
4.routel命令
routel用于列出具有漂亮输出格式的路由。这个命令展示的路由信息更详细。
[root@sharplee ~]# routel
5.通过查看网卡接口配置文件
通过网络接口的ip地址配置文件也可以查看网关地址。
[root@sharplee ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33