Chinaunix首页 | 论坛 | 博客
  • 博客访问: 743663
  • 博文数量: 280
  • 博客积分: 10106
  • 博客等级: 上将
  • 技术积分: 3052
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 17:10
文章分类

全部博文(280)

文章存档

2011年(2)

2010年(4)

2009年(4)

2008年(62)

2007年(208)

我的朋友

分类: 系统运维

2008-02-29 13:31:32

先来介绍一下我的网络情况吧:ROS共接三条线,一条内网,两条外线,一条是电信光纤固定IP的;一条是网通光纤PPPOE拨号认证的,网通光纤的网关和IP都是拨一次号变一次,在硬路由上看获得的IP和网关都是一样的,接到ROS里拨号,获得的网关就是 ip->address 里的 network 项。例如拨号获得的IP是address里的10.1.1.178/32 网关是network里的 10.1.1.179



怎么安装ROS我就不说了,论坛上很多,我们从安装完ROS开始吧。偶用的是ROS2.8.26,先把系统恢复一下默认设置,在软路由命令行提示符下输入 /system reset 选Y重启软路由。
重启完成后用admin登入软路由,给第3块网卡分配IP(我的第3块网卡接内网),在命令行提示符下输入/ip address add address 192.168.125.222/24 interface=ether3 回车
输入/interface enable ether3 回车 ,启用第3块网卡。
好了,可以告别命令行了。在下面找一台客户机,在IE地址栏里输入 ,下载winbox,用winbox登陆软路由吧。

用winbox登陆软路由,点interface,看到了吗?只有ether3是亮的,其它两块网卡ether1、ether2都是灰色的,选中它们,点上面蓝色的对钩启用它们



双击ether3 ,改下名字,改为lan吧





同样,把ether1改为adsl,ether2改为ip  (adsl连接网通光纤,ip连接电信固定IP)

设置电信IP,IP->ADDRESS,“+”号,address里填电信的IP 172.16.1.2/255.255.0.0
   interface里选ip ,ok!




接下来设置网关,IP->Routes,Routes页,"+"号,在gateway里输入电信的网关 172.16.1.1   ok!



设置IP伪装共享上网,IP->FIREWALL,Source NAT 页,“+”号,Action页,Action里选masquerade    ok!



好了,现在下面的客户机应该可以上网了(当然,要把客户机的网关设为192.168.125.222才行的啦~~~)..................王珏清说得对啊~打字真累~唉~不听老人言啊~~~~~~~~


下面到PPPOE拨号了,点INTERFACE,“+”号,选 pppoe client (没有吗?不会是安装的时候忘了选PPP功能包了吧!哈哈~干嘛要步偶的后尘呢~~~)。看General页,name写pppoe-out1,interface选adsl ;Dial Out页,User填拨号帐号,Password填拨号密码,把Add Default Route的钩去掉, ok! 关于Service项,是填ISP拨号服务器名称的,知道的话最好填上,不知道就不填了,偶这里是填对了能拨得上,不填也能拨得上,乱填的话就一直会dialing... 看情况了,有些ISP不填就拨不上。



一切OK,左看看,右看看......拨上了吗?呵呵,很多ISP都是绑定了你的MAC地址的,换了网卡拨号的话,记得打个电话去给他们知会一下,免得在这边瞎忙半天也拨不上去啊~~~哈哈~~~
看看,拨上了~~~获得IP了 10.1.1.168/32 网关10.1.1.169




OK!上面都是在罗嗦前辈们智慧的结晶、劳动的成果,下面到主要部分了,这还得多谢咱们的王珏清同志以及论坛上众多的高手们,下面的很多地方都有他们的经典贴子的影子。
建议先研究一下王珏清同志的那篇经典贴“routeros电信+网通双线策略过程”



添加路由表,IP-ROUTES,TABLE页,“+”号,添加三个路由表 cnc 、 cncnetwatch 、 mainnetwatch
三个表的作用: cnc           网通策略路由表
              cncnetwatch   用于监视网通网络状态
              mainnetwatch  用于监视电信网络状态



选Routes页,在旁边的选择框中选中mainnetwatch路由表,添加进电信的网关和IP



在cnc表和cncnetwatch表里也添加进网通的网关,因为网通是动态的,我们先随便填一个,随后我们会通过脚本来动态更新它。






建立脚本,system->scripts ,"+"号,分别建立5个脚本 adslup adsldown adslwatch ipup ipdown 内容在下面,分别复制到source框里



脚本adslup

/ip policy-routing table cnc
set [/ip policy-routing table cnc find dst-address=0.0.0.0] gateway $adslwg
/system scheduler disable [/system scheduler find name=schedule1]
/system scheduler disable [/system scheduler find name=schedule2]
:if ([/tool netwatch get [/tool netwatch find comment=ip] status]="down") do={
  :if ([/ip policy-routing table main get [/ip policy-routing table main find dst-address=0.0.0.0] gateway]!=$adslwg) do={
    /ip policy-routing table main
    set [/ip policy-routing table main find dst-address=0.0.0.0] gateway $adslwg
  }
}


脚本adsldown       注意:把网关111.111.111.111改为自己的电信网关

/ip policy-routing table cnc
set [/ip policy-routing table cnc find dst-address=0.0.0.0] gateway 111.111.111.111
/system scheduler enable [/system scheduler find name=schedule1]
:if ([/system resource get uptime]<2m) do={
  /system scheduler enable [/system scheduler find name=schedule2]
}
:if ([/tool netwatch get [/tool netwatch find comment=ip] status]="down") do={
  /system scheduler enable [/system scheduler find name=schedule2]
}


脚本adslwatch

:global pppzt
:global adslwg
:global jackey
/interface pppoe-client monitor pppoe-out1 once do={:set pppzt $status}
:if ($pppzt="connected") do={
  :set jackey [/ip address get [/ip address find interface=pppoe-out1] network]
  :if ($jackey!=$adslwg) do={
    :set adslwg $jackey
    /ip policy-routing table cncnetwatch
    set [/ip policy-routing table cncnetwatch find dst-address=0.0.0.0] gateway=$jackey
    /ip policy-routing rule
    set [/ip policy-routing rule find table=cncnetwatch] dst-address=$jackey dst-netmask=255.255.255.255
    /tool netwatch set [/tool netwatch find comment=adsl] host $jackey
  }
}


脚本ipup           注意:把网关111.111.111.111改为自己的电信网关

/ip policy-routing table main
set [/ip policy-routing table main find dst-address=0.0.0.0] gateway 111.111.111.111
:if ([/tool netwatch get [/tool netwatch find comment=adsl] status]="down") do={
  /system scheduler disable [/system scheduler find name=schedule2]
}


脚本ipdown

/ip policy-routing table main
set [/ip policy-routing table main find dst-address=0.0.0.0] gateway $adslwg
:if ([/tool netwatch get [/tool netwatch find comment=adsl] status]="down") do={
  /system scheduler enable [/system scheduler find name=schedule2]
}



下面创建监视网络状态工具, Tools->Netwatch (什么,又没有?安装时又把advanced-tools给忘了吧~~再次偷笑)。
点"+"号,host页,host里填网通网关(动态的,随便填一个,随后会通过脚本动态更新),interval填10秒 00:00:10  timeout里填1000  ,看见Tools按钮没有,点它,选择comment,在里面填adsl(注意,一定要填), up页填adslup,down页填adsldown



再点"+"号,host页,host里填电信网关(静态的,记得填正确的网关地址),interval填10秒 00:00:10  timeout里填1000  ,comment里面填ip(注意,一定要填), up页填ipup,down页填aipdown




ok!还有一个监视工具,定时监视pppoe拨号卡的状态,
system->scheduler 看图填吧!
name:schedule1 ; start date: oct/23/2005 ; start time: 00:00:00 ; interval: 00:10:00
name:schedule2 ; start date: oct/23/2005 ; start time: 00:00:00 ; interval: 00:00:20

schedule1是每10分钟监视一次pppoe-out1拨号卡的状态,如果连接良好,脚本会把它禁用,断线时会启用。
schedule2是用来加速对pppoe-out1拨号卡的监视,当固定IP中断,只有PPPOE线路,而又刚好重启了路由器时,以及两条线路都中断时,它就会起到加速对pppoe-out1拨号卡监视的作用,以最短的时间接通线路。




呼~~~~可以松口气了,就差路由规则了,偷懒一下吧,先谢过王同志了~~~打字真累啊~~~~ ^v^

IP->ROUTES  , RULES页





呵呵,还差一点点~~~~路由规则最上面再加上两条,一条是电信网关的IP, dst.address 填电信网关172.16.1.1/32 ,interface选all,
table选mainnetwatch  ;一条是网通网关,dst.address 里随便填个IP  10.1.1.8/32吧,interface选all,table选cncnetwatch 。

这两条规则就作用就是强制电信的网关走电信,网通的网关走网通了,免得/tool netwatch 里ping 电信的网关从网通绕过去ping通了,
造成误判,以为电信线路是通的。

OK了,到这里算是完成了,重启一下路由试下一效果吧~~~~~
阅读(2348) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-08-21 15:06:41

我网吧以前是一条固定IP 由于受黑客攻击,现在也加多一条动态IP的光纤,不知道怎么设置.请加我Q 109396937 教教我成不?

chinaunix网友2008-06-13 11:05:51

我的routeros中怎么没有ip policy-routing模块呀????