1、添加一条路由表
Route add 60.232.142.40 mask 255.255.255.248 192.168.100.250 metric 3 if 2
添加一条路由记录,所有到60.232.142.40/29网段的数据包,都通过2号接口卡(网卡)走192.168.100.250的网关,优先级为3。
Route add –p 60.232.142.40 mask 255.255.255.248 192.168.100.250 metric 3 if 2
作用同上,只是这是一条长久路由,不会因为重启机器而丢失。
2、删除一条路由表
Route delete 60.232.142.40
请留心:如果有两条路由记录有着相同的“目的网络号”,则会将两条记录同时删除。如果只想删除其中某一条的话,请在删除后用route add
命令再添加上其中一条。
3、修改一条路由记录
Route change 157.0.0.0 mask 255.0.0.0 157.55.80.5 metric 2 if 2 Change参数只能修改“网关”和“跳数”。
使用双网卡,同时使用2个网关的时候就需要加一条静态路由了。当然还有很多时候会需要加路由。一:使用 route 命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
//添加到主机的路由
//添加到网络的路由
//添加默认网关
//删除路由
二:在linux下设置永久路由的方法:
1.在 /etc/rc.local 里添加
方法:
2.在 /etc/sysconfig/network 里添加到末尾
方法: GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3. /etc/sysconfig/static-routes :
如果在 rc.local 中添加路由会造成NFS无法自动挂载问题,所以使用 static-routes 的方法是最好的。无论重启系统和 service network restart 都会生效
以下是蚊子解决NFS问题的描述:
按照linux启动的顺序, rc.local 里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在netfs之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以netfs挂载不能成功。
static-routes 文件又是什么呢,这个是network脚本执行时调用的一个文件,这个文件的放置在 /etc/sysconfig 目录下,在network脚本中的位置是:
从这段脚本可以看到,这个就是添加静态路由的方法,static-routes的写法是
这样的话,在启动network脚本的时候路由就自动添加上了,又因为network是在netfs前面启动的,自然在挂载nfs的时候就正常了。
这样看来,如果需要添加静态路由,使用 static-routes 文件要比使用rc.local好,而且当改变了网络配置,需要重启network脚本的 时候,相应的静态路由是可以自动添加上的,但这时如果使用rc.local的话,在重启network服务的时候,原本添加好的静态路由就消失了。
使用下面的 route 命令可以查看 Linux 内核路由表。# route
Destination Gateway Genmask Flags Metric RefUse Iface
192.168.0.0 * 255.255.255.0 U 0 00 eth0
169.254.0.0 * 255.255.0.0 U 0 00 eth0
default 192.168.0.1 0.0.0.0 UG0 00 eth0
route 命令的输出项说明
输出项
说明
Destination
目标网段或者主机
Gateway
网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask
网络掩码
Flags
标记。一些可能的标记如下:
U — 路由是活动的
H — 目标是一个主机
G — 路由指向网关
R — 恢复动态路由产生的表项
D — 由路由的后台程序动态地安装
M — 由路由的后台程序修改
! — 拒绝路由
Metric
路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref
路由项引用次数(linux 内核中没有使用)
Use
此路由项被路由软件查找的次数
Iface
该路由表项对应的输出接口
3 种路由类型
主机路由
主机路由是路由选择表中指向单个IP地址或主机名的路由记录。主机路由的Flags字段为H。例如,在下面的示例中,本地主机通过IP地址192.168.1.1的路由器到达IP地址为10.0.0.10的主机。
DestinationGateway GenmaskFlags MetricRefUseIface------------------ ------------ -----------------10.0.0.10 192.168.1.1255.255.255.255 UH 00 0eth0 网络路由
网络路由是代表主机可以到达的网络。网络路由的Flags字段为N。例如,在下面的示例中,本地主机将发送到网络192.19.12的数据包转发到IP地址为192.168.1.1的路由器。
DestinationGateway Genmask FlagsMetricRef UseIface------------------ ------- ---------- -----------192.19.12 192.168.1.1255.255.255.0 UN 0 0 0eth0 默认路由
当主机不能在路由表中查找到目标主机的IP地址或网络路由时,数据包就被发送到默认路由(默认网关)上。默认路由的Flags字段为G。例如,在下面的示例中,默认路由是IP地址为192.168.1.1的路由器。
DestinationGateway GenmaskFlags MetricRefUseIface------------------ ------- ----- -----------------default 192.168.1.1 0.0.0.0UG 00 0eth0
配置静态路由
route 命令
设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 其中:
add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
dev : 为路由指定的网络接口
route 命令使用举例
添加到主机的路由
# route add -host 192.168.1.2 dev eth0:0# route add -host 10.20.30.148 gw 10.20.30.40
添加到网络的路由
# route add -net 10.20.30.40 netmask 255.255.255.248 eth0
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41# route add -net 192.168.1.0/24 eth1 添加默认路由
# route add default gw 192.168.1.1
删除路由
# route del -host 192.168.1.2 dev eth0:0
# route del -host 10.20.30.148 gw 10.20.30.40
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del -net 192.168.1.0/24 eth1# route del default gw 192.168.1.1
设置包转发
在 CentOS 中默认的内核配置已经包含了路由功能,但默认并没有在系统启动时启用此功能。开启 Linux 的路由功能可以通过调整内核的网络参数来实现。要配置和调整内核参数可以使用 sysctl 命令。例如:要开启 Linux 内核的数据包转发功能可以使用如下的命令。
# sysctl -w net.ipv4.ip_forward=1 这样设置之后,当前系统就能实现包转发,但下次启动计算机时将失效。为了使在下次启动计算机时仍然有效,需要将下面的行写入配置文件/etc/sysctl.conf。
# vi /etc/sysctl.confnet.ipv4.ip_forward = 1 用户还可以使用如下的命令查看当前系统是否支持包转发。
# sysctl net.ipv4.ip_forward
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)