Linux系统的route命令用于显示和操作IP路由表
要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在Linux系统中,设置路由通常是为了解决以下问题:
该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
要注意的是,直接在命令行执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。
可以在/etc/sysconfig/network-scripts/
目录下创建route-IFACE
类似的配置文件。
其中IFACE
的名字不是很重要,起一个能够辨识其功能的名字即可。
主机路由
|
|
网络路由
|
|
默认路由
|
|
在路由表中的优先级:
精度越高,优先级越高
目标网络:
网络ID和子网掩码组成(网络路由)
192.168.0.0/24
或者
目标是一个IP地址,192,168,1.100
(主机路由)接口
数据包到达目标网络从路由器的哪个接口出来,就是这个接口。网关
下一个路由器的临近接口的IP地址(下一跳的地址),与出口IP地址在同一个网段。
命令语法格式
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
命令功能
route
命令是用于操作基于内核IP路由表,它的主要作用是创建一个静态路由由让指定一个主机或者一个网络通过一个网络接口,如eth0
。
当使用add
或者del
参数时,路由表被修改,如果没有参数,则显示路由表当前的内容。
命令参数
|
|
设置永久生效路由表
在/etc/sysconfig/network-scripts/
目录下创建route-IFACE
配置文件
|
|
实例
1、显示当前路由
|
|
其中:
Destination:目标网络
Gateway:下一跳地址
Genmask:子网掩码
Flags:路由标志
|
|
2、添加一条路由
|
|
3、屏蔽一条路由
|
|
4、删除一条路由记录
|
|
现有2台Linux主机,以及3台路由器,要实现让两台Linux主机经过3台路由器后可以互相通信的功能。
第一步,根据需求制作网络拓扑图
第二步,配置两台Linux主机的IP以及关闭防火墙和其他环境配置
这里Linux1和Linux2作为客户端(client)
Route1、2、3作为路由
Linux1的配置:
|
|
Linux2因为硬件软件配置与1相同,所以除IP地址不同外,其他设置都相同1的网卡信息
所以Linux2的IP地址配置如下
|
|
第四步,配置router的信息以及环境
route1:与Linux1机器、route2直连
eth0网卡连接Linux1
eth1网卡连接route2
配置信息如下:
|
|
route2:与route1和route3直连
eth0连接Route1
eth1连接Route3
配置信息如下:
|
|
route3:与linux2机器、route3直连
eth0连接Route3
eth1连接Linux2
配置信息如下:
|
|
配置各router的路由表信息
|
|
本文出自Maxie’s Notes博客,转载请务必保留此出处。