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

文章介绍了IP报文的路由原理,包括查找路由表的步骤,以及Linux和Windows系统中route命令的使用,如添加、删除主机路由、网络路由和默认路由。还解释了网关在网络通信中的作用,强调了直接通过命令行添加的路由在重启后会失效,需通过rc.local持久化。

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

报文选路的6步走:

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

使用route查看Linux路由表
请添加图片描述

输出项说明
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	# 删除默认路由

示例:

请添加图片描述

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命令详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值