Linux中的路由和路由表
路由过程就是IP数据包在网络上从源点传输到目的点的过程,例如我们日常使用微信聊天,实际上就是通过IP数据包把聊天数据内容从本地系统传输到跟你聊天的人所在系统。数据包传输过程中通过多个网关或者路由器到达目标的计算机系统。
在所有Linux和UNIX系统中,有关如何转发IP数据包的信息都存储在被称为路由表的内核结构中。当您希望系统与其他计算机通信时,可能需要配置这些路由表。比如可能会需要把本地服务器作为路由器进行路由转发时,需要配置路由表信息。
因此,了解如何在Linux系统上查看这些路由表非常重要。
在Ubuntu系统中查看路由表信息常用命令如下:
- netstat命令
- route命令
- ip route命令
netstat -rn :
-r此标志用于显示内核路由表
-n此标志用于显示数字地址
Destination 此列指示目标网络。
Gateway 此列指示网络的已定义网关。 如果在此列中看到*,则表示指定的网络不需要转发网关。
Genmask 此列指示网络的网络掩码。
Flags 此列中的U输出表示路线已启动。 G输出表示应该为此路由使用指定的网关。 D代表动态安装,M代表修改,R代表恢复。
MSS 此列指示此路由的TCP连接的默认最大段大小(MSS)。
Window 此列指示此路由上TCP连接的默认窗口大小。
Irtt 此列指示此路线的初始往返时间。
Iface Iface列显示网络接口。 如果您有多个接口,您会看到lo(用于环回),eth0(第一个以太网设备)和eth1(用于第二个以太网设备),依此类推您已安装的接口数量。
route -n:
-n此标志仅用于显示数字地址
显示内容和netstat -rn 相同
ip route:
ip route 主要用于操作主机路由
开发过程中遇到的内容,记录一下。