找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2871|回复: 12

[其它] 转帖 RouterOS 2.9x根据源地址分配网关,以及断线再连

[复制链接]
发表于 2006-9-14 10:22:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
[原创]转载请说明。
本文收到了软件路由论坛routeros的版主bow的帮助,在此致谢
根据源地址分配网关,以及断线再连

先设定好内网IP lan,两个网外IP wan1 和 wan2
在这个例子里面,wan1=61.32.72.x,wan2=61.32.70.x

ip-firewall ,打开snat的msquate.

先给两个网段的包打上 mark-routing

[admin@Router] ip firewall mangle> add src-address=192.168.0.0/25 action=mark-routing new-routing-mark=net1 chain=prerouting
[admin@Router] ip firewall mangle> add src-address=192.168.0.128/25 action=mark-routing new-routing-mark=net2 chain=prerouting

然后添加网关

#符合net1则走61.32.72.x
[admin@Router] ip route> add gateway=61.32.72.x(电信网关,不是自己的外网IP) routing-mark=net1 check-gateway=ping comment '1'
#符合net2则走61.32.70.x
[admin@Router] ip route> add gateway=61.32.70.x(电信网关,不是自己的外网IP) routing-mark=net2 check-gateway=ping comment '2'

#符合net1则走61.32.70.x(备用)
[admin@Router] ip route> add gateway=61.32.70.x routing-mark=net1 check-gateway=ping comment '3'

#符合net2则走61.32.72.x(备用)
[admin@Router] ip route> add gateway=61.32.72.x routing-mark=net2 check-gateway=ping comment '4'

#否则走61.32.72.x
[admin@Router] ip route> add gateway=61.32.70.x comment '5'

#否则走61.32.70.x(备用)
[admin@Router] ip route> add gateway=61.32.72.x comment '6'

ip-route  里面禁用'3' '4' '6' 这三条规则
此时网络应该完全工作正常

system-script 建四个脚本
wan1down内容是:
ip route disable '1'
ip route enable '3'
ip route disable '5'
ip route enable '6'

wan1up
ip route disable '3'
ip route enable '1'
ip route disable '6'
ip route enable '5'

wan2down
ip route disable '2'
ip route enable '4'

wan1up
ip route disable '4'
ip route enable '2'

在tools-netwatch,建一条ping 61.32.72.x,
up里面输入wan1up
down里面输入wan1down

在tools-netwatch,建一条ping 61.32.70.x,
up里面输入wan2up
down里面输入wan2down

为了防止偶尔的掉包导致频繁的更换线路,可以将timeout设置的大一些
测试的频率可以调为每30秒扫描一次
routeros
发表于 2006-9-14 10:25:33 | 显示全部楼层
做的过于复杂了.根本用不着脚本.
routeros
回复

使用道具 举报

 楼主| 发表于 2006-9-14 10:29:07 | 显示全部楼层
是不是2.9以后的版本都能自动检测,不需要脚本?
routeros
回复

使用道具 举报

发表于 2006-9-14 10:35:18 | 显示全部楼层
原帖由 大锅头 于 2006-9-14 10:29 发表
是不是2.9以后的版本都能自动检测,不需要脚本?


可以这样做:先根据源地址做routemark 然后在网关里添加跟你的1,2步一样,用ping检测
然后只需要做你的5,6步,但是要加上一个distance,主线用0 .备线用1,用ping检测

这样如果两条线都是对的.就根据源地址各走各的..如果一条线出问题了.就会用另一条好的线路走~
routeros
回复

使用道具 举报

 楼主| 发表于 2006-9-14 10:38:13 | 显示全部楼层
谢谢
routeros
回复

使用道具 举报

发表于 2006-9-14 10:40:19 | 显示全部楼层
原帖由 大锅头 于 2006-9-14 10:38 发表
谢谢


现在难得有几个人出来交流了..你明白我说的意思没有??
routeros
回复

使用道具 举报

发表于 2006-9-14 10:44:28 | 显示全部楼层
原帖由 casper2000 于 2006-9-14 10:35 发表


可以这样做:先根据源地址做routemark 然后在网关里添加跟你的1,2步一样,用ping检测
然后只需要做你的5,6步,但是要加上一个distance,主线用0 .备线用1,用ping检测

这样如果两条线都是对的.就根据源地址各走 ...


想问一下distance是什么意思,具体的使用含义是什么?谢谢
routeros
回复

使用道具 举报

发表于 2006-9-14 10:47:19 | 显示全部楼层
原帖由 专卖精品 于 2006-9-14 10:44 发表


想问一下distance是什么意思,具体的使用含义是什么?谢谢


从字面翻译是距离..
routeros
回复

使用道具 举报

发表于 2006-9-14 10:50:08 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2006-9-14 10:52:40 | 显示全部楼层
原帖由 casper2000 于 2006-9-14 10:47 发表


从字面翻译是距离..


字面翻译是知道的,但是0和1到底有什么区别?你说必须主的是0,备份的是1,那是否表示0的近,1的远呢?就象TTL一样
routeros
回复

使用道具 举报

发表于 2006-9-14 10:53:50 | 显示全部楼层
原帖由 专卖精品 于 2006-9-14 10:52 发表


字面翻译是知道的,但是0和1到底有什么区别?你说必须主的是0,备份的是1,那是否表示0的近,1的远呢?就象TTL一样


不是必须..随意了.反正是让一条线路优先..
routeros
回复

使用道具 举报

发表于 2006-9-14 10:59:41 | 显示全部楼层
原帖由 casper2000 于 2006-9-14 10:53 发表


不是必须..随意了.反正是让一条线路优先..


数字代表优先?那我查查说明书,看看这个参数的含义,谢谢了
routeros
回复

使用道具 举报

发表于 2006-9-14 11:06:37 | 显示全部楼层
distance (integer: 0..255) - administrative distance of the route. When forwarding a packet, the router will use the route with the lowest administrative distance and reachable gateway

直译的意思是:路由的管理距离。当转发1个数据包时,路由器将用用最低的管理距离和可获得的网关进行路由!
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-6 00:41 , Processed in 0.069873 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表