欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

route 命令使用详解

程序员文章站 2022-06-02 18:35:32
...

route 管理路由表

要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为 Linux机器的默认路由。

查看路由信息

route [-n/-ee]
观察用的参数:
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示

显示信息说明

标题 说明
Destination 目标网段或者主机 (本机的数据要发送的目的地:子网或主机),与Genmask组成一个网段
Gateway 网关地址 (如果是默认网关,网关的地址必须和自己的主机上的其中一块网卡在同一子网),* 表示目标是本主机所属的网络,不需要路由
Genmask 网络掩码(如果目标网络的的子网掩码为255.255.255.255,说明目标是一台主机;如果子网掩码为’0.0.0.0’ 说明该路由是默认路由)
Flags 标记; U: 路由是活动的;H: 目标是一个主机 (IP) 而非网段;G: 路由指向网关(需要透过外部的主机 (gateway) 来转递封包(该行有gw));R: 恢复动态路由产生的表项;D: 由路由的后台程序动态地安装(已经由服务或转 port 功能设定为动态路由 );M: 由路由的后台程序修改;!: 拒绝路由(用来抵挡不安全的网域!)
Metric 路由距离,到达指定网络所需的中转数
Ref 恒为0,路由项引用次数
Use 此路由项被路由软件查找的次数
Iface 该路由表项对应的输出接口,即eth0,eth1等网络接口名

查看参数说明

参数 说明
-c 显示更多信息
-n 不解析名字
-v 显示详细的处理信息
-F 显示发送信息
-C 显示路由缓存

配置静态路由

命令

route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

参数说明

参数 说明
add 添加一条路由规则
del 删除一条路由规则
-net 目的地址是一个网络
-host 目的地址是一个主机
target 目的网络或主机
netmask 目的地址的网络掩码
gw 路由数据包通过的网关
dev 为路由指定的网络接口

示例:

添加默认网关 为10.0.0.1

route add default gw 10.0.0.1

删除默认网关

route del default gw 10.0.0.1

添加到主机的路由

route add -host 192.168.10.2 dev eth3

删除到主机的路由

route del -host 192.168.10.2 dev eth3

添加到网络的路由

route add -net 192.168.55.0 netmask 255.255.255.0 eth3

删除到网络的路由

route del -net 192.168.55.0 netmask 255.255.255.0 eth3

设定指定的网段不可到达

route add -net 10.0.0.0 netmask 255.0.0.0 reject
route del -net 10.0.0.0 netmask 255.0.0.0 reject

设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。

若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个永久路由

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1 

若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且其成本值标为 7 的 10.41.0.0 目标中添加一个路由

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

若要删除以 10. 起始的 IP 路由表中的所有路由

 route delete 10.*

若要将带有 10.100.0.0 目标和 255.255.0.0 子网掩码的下一跃点地址从 10.100.0.1 修改为 10.100.0.254

route change 10.100.0.0 mask 255.255.0.0 10.100.0.254

192.168.1.0网段(源头),192.168.1.1网关(途径)的某一服务器想连入172.16.1.0/24段(目的地),如何添加路由?

route add -net 172.16.1.0 netmask 255.255.255.0 gw 192.168.1.1

在源头主机上执行上述命令设定,数据途径哪台主机,到达目的地网段
gw(途径主机的IP)的设定必须和源头主机IP必须在同一网段!!!

以上的配置只都是在命令行,临时生效,重启网络或机器后失效;
如果要永久生效必须写入到配置文件中:有3种方式

方法一:
vim /etc/sysconfig/static-routes #默认不存在此文件
加入如下内容:
any net 192.168.1.0/24 gw 192.168.1.1

方法二:
vim /etc/sysconfig/network-scripts/route-eth0 #默认不存在此文件
加入如下内容:
192.168.1.0/24 via 192.168.1.1
以上两种方式,重启网络服务和重启系统都会生效!

方法三:
vim /etc/rc.local
加入如下内容:
route add -net 192.168.1.0/24 gw 192.168.1.1
这种方式重启网络服务将会失效,但重启机器生效

相关标签: Linux