route add 如何增加永久路由


在机器重起后依然维持原来的路由表保持不变


 ipfreak 回复于:2002-09-19 15:51:00

mkae a file start with S and put under rc2.d or rc3.d.

put "route add whatever shit" in this file


 liluo 回复于:2002-09-19 16:49:31

如果是default路由,那么就在/etc/defaultrouter里面写入你的路由器的IP地址
如果是具体到某个网段的路由,偶的方便方法是在/etc/inittab的最后写入加路由的命令,具体规则查/etc/inittab的语法。
不在运行级别里面写是因为太麻烦


 南非蜘蛛 回复于:2002-09-19 17:28:46

引用:下面引用由[u]dragonzh[/u]在 2002/09/19 03:44pm 发表的内容:
在机器重起后依然维持原来的路由表保持不变

route add加不了永久路径,从起就会失效,需要写到文件里


 rimrock 回复于:2002-09-19 17:35:41

at /etc/rc3.d/S90route file add:
route -nv add -net netip routeip

reboot


 南非蜘蛛 回复于:2002-09-19 17:39:14

引用:下面引用由[u]rimrock[/u]在 2002/09/19 05:35pm 发表的内容:
at /etc/rc3.d/S90route file add:
route -nv add -net netip routeip
reboot

什么意思?/etc/rc3.d/S90route有这个文件吗?


 rimrock 回复于:2002-09-19 17:41:37

you must create file:  /etc/rc3.d/S90route   by yourself
in my SUN server, it work well.
note: this file can run only in level 3.


 sunmarmot 回复于:2002-09-19 17:57:02

静态路由

最长用的静态路由是一台主机到一台本地路由器,通常在 /etc/defaultrouter中定义,用于添加网关

#vi /etc/defaultrouter
192.168.8.1
服务器的的静态路由也可以通过使用in.routed在文件/etc/gateways中定义,当使用静态路由时,在内核中的路由表在系统启动时被定义,并

且通常不会改变,除非使用route或ifconfig 命令修改。当本地网络通过单一的网关与Internet的其余部分相连时静态路由是最合适的选择。

 静态路由可用route或ifconfig 手工加入,生成后重起不变,如果使用动态路由则在重启后经常会导致路由表的改变,应为守护进程负责处理网

络配置和可用路由的变化。

内核路由表

有三种路由
1.主机路由从一台主机映射一条到本地网络上的的其他主机上
command format:
route add -host destination_ip local_ip -interface interface
eg:
我们想为本地主机接口hme0(204.12.17.1)和另一台在相邻才C类网络上的主机(204.12.16.100)之间增加一条路由
#route add -host 204.12.16.100 204.12.17.1 -interface hme0
2.网络路由允许数据包从本地主机传输到在本地网络的其他主机上
增加一个到另一个网络的的直接路由
command format:
route add -net  destination_network_ip local_ip -netmask mask
eg:
如果我们要想为C类网掩码在本地主机(204.12.17.1)和我们上面指出的网络之间增加一条路由(204.12.16.0网络)我们可以使用如下的命令:
#route add -net 204.12.16.0 204.12.17.1 -netmask 255.255.255.0
3.缺省路由将寻找一条路由的任务传送到一台路由器。RIP 和RDISC守护进程都可以使用缺省路由。
command format:
route add default hostname -interface interface
eg:增加一条到本地路由器(204.54.56.1)的缺省路由,通常用在添加网关并马上生效
#route add default 204.54.56.1 -interface hme1

动态路由

     Solaris 支持路由信息协议(RIP),路由发现协议(RDISC)两种TCP/IP网络标准路由协议 ,RIP是通过in.routed守护进程来实现的,通常

在多用户启动时配置启动。路由守护进程总是建立一个可到达每个网络的路由表。
     主机使用RDISC守护进程(in.rdisc)来搜集来自路由器的可用路由信息。in.rdisc通常为响应请求的每一个路由器建立一个缺省路由。
注意:如果要使动态路由启用,前提必须是文件/etc/defaultrouter为空。
    
    in.routed进程通过启动/etc/rc2.d/S69inet中的一行,在使用如下命令的多用户启动时启动。
    #/usr/sbin/in.routed -q  初始化后,路由守护进程检查文件/etc/gateways中指定的网关.
    #/usr/sbin/in.routed -S
    也可以使用-S参数处始化in.routed来实现节省模式,这种方式可以节省并更新的活动路由的数目。但这种方式可能受到网络中路由器故障的困绕。
    
如果你要想每次重启动后要用,你就把route add…..写到里面去


 templine 回复于:2003-01-09 17:00:57

(1)首先你需要创建一个文件,譬如叫/xyz,记得一定要让它可以执行(#chmod +X /xyz)它包含如下内容
route add 目标网段(或者目标地址) 缺省网关
例如
route add 192.168.1.0 192.168.0.100
看你需要添加可以多条类似记录
(2)接着你可以按如下操作就可以了,重新启动机器就成了
# cp /xyz /etc/init.d
# cd /etc/init.d
# ln xyz /etc/rc2.d/S100xyz
# ln xyz /etc/rc0.d/K100xyz
# ls /etc/init.d /etc/rc2.d /etc/rc0.d(检查文件在否)
如果在执行#rm /xyz(删除那个已经临时文件,节省磁盘空间:) )

我在生产环境如是测试过,工作很好,该思路来自管理员手册,看你自己的运气了!:)

 苍之狼 回复于:2006-12-06 09:58:57

好棒的帖子!!各位大侠解释的很详细哈~~受教了!!
另外小弟总结一下,不对的地方请指正:
要想在机器重起后依然维持原来的路由表保持不变 
(一)如果是default路由,那么就在/etc/defaultrouter里面写入你的路由器的IP地址
     (注:/etc/defaultrouter里面只能有一条路由!!!)
(二)如果不是default路由,那么可以
(1)cat /etc/rc3.d/S90route 并在该文件中添加route -nv add -net netip routeip这样每次机器
      reboot的时候都会自动执行一次route -nv add -net netip routeip添加路由的操作。
(2)首先/etc/init.d下面编辑文件 routefile(名称可以自己起),然后在vi routefile里面添加上
     route add -net destination next-hop 
       (如:route add 目的地址 -netmask 目的地址的子网掩码 默认网关即下一跳地址)
     然后再#chmod  +X /etc/init.d/routefile使这个文件为可执行文件。
     然后在/etc/init.d/下 
     #ln routefile /etc/rc2.d/S100route 
        #ln routefile /etc/rc0.d/K100route
        #ls /etc/init.d /etc/rc2.d /etc/rc0.d(检查文件在否)
        令系统启动以后也启动该路由。

不知道总结的是否全面??哪位大侠还有好的方法也请赐教哈~~我继续总结!
上述3个我方法我在实验机上都做过测试了。