route基础及Linux、Windows环境下的配置

路由基础知识
路由是由一项或者多项路由表组成的,每个IP报文被发送前,系统都会查找主机路由表,决定将这个报文从哪个网卡,发送到哪个下一跳。每条路由表项主要由目标IP(主机或者网络),子网掩码,接口,网关(下一跳IP),度量(metric)这几项组成。

报文选路的6步走:

1,查找路由表
2,命中表项,则按表项指定,通过指定网络接口,将本IP报文转到到下一跳(或直接到目的地址)
3,不命中,则继续查找
4,如果全部表项都不命中,则查找默认路由
5,如果有默认路由,则按默认路由指定,通过指定网络接口,将本IP报文转到到下一跳
6,如果无默认路由,则丢弃本报文

使用route查看Linux路由表
route基础及Linux、Windows环境下的配置_第1张图片

输出项 说明
Destination 目标网段或者主机
Gateway 网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask 网络掩码
Flags 标记。一些可能的标记如下:
U — 路由是可用的
H — 目标是一个主机
G — 路由指向网关
R — 恢复动态路由产生的表项
D — 由路由的后台程序动态地安装
M — 由路由的后台程序修改
! — 拒绝路由
Metric 到达指定网络所需的中转数,所选的路由具有最少的跃点数(越小优先级越高)
Ref 路由项引用次数(linux 内核中没有使用)
Use 此路由项被路由软件查找的次数
Iface 该路由表项对应的输出接口

路由类型

路由表项可以分成主机路由,网络路由和默认路由3种。

  • 主机路由:主机路由目标是一个主机地址,在路由选择表中指向单个IP地址或主机名的路由记录。

  • 网络路由:网络路由是代表主机可以到达的网络。

  • 默认路由:当主机不能在路由表中查找到目标主机的IP地址或网络路由时,数据包就被发送到默认路由(默认网关)上。

route 命令

Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

网关:连接一个网络到另一个网络的关口,不同的网络有不同的网络地址,以及不同的网络中的主机分配有不同的段的ip地址。网关可以实现广域网的互连,也可以实现局域网的互连。 【说明:由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP】

Linux route常用命令

# 查看
route	# 查看路由表

# 主机路由
route add -host 10.201.52.5 metric 10 dev eno1		# 增加主机路由
route add -host 10.201.52.5 gw 10.201.53.254 metric 10 dev eno1	# 增加主机路由,目标主机不再直通的网络上,则需要网关(下一跳IP)转发
route del --host 10.201.52.5 metric 10 dev eno1		# 删除主机路由

# 网络路由
route add -net 10.201.52.0 netmask 255.255.255.0 metric 100 dev eno1	# 增加网络路由(如果目标网络需要通过gw下一跳转发,则加上gw选项即可)
route del -net 10.201.52.0 netmask 255.255.255.0 metric 100 dev eno1	# 删除默认路由


# 默认路由
route add default gw 10.201.53.254 metric 100 dev eno1	# 增加默认路由
route del default gw 10.201.53.254	# 删除默认路由

示例:

route基础及Linux、Windows环境下的配置_第2张图片

Windows route常用命令

# 打印
route print				# 查看路由表
route print -4 			# 查看ipv4路由表
route print 192.168.3* 	# 查看192.168.3开头的路由段

# 添加路由
route add 10.201.53.0 mask 255.255.255.0 192.168.124.1 metric 3		# 下一跳地址位192.168.124.1

# 删除路由
route delete 10.201.53.0

参考文档
Linux上添加路由,删除路由,修改路由配置
linux系统查看网关
route add命令详解

你可能感兴趣的:(linux,运维,服务器)