RouteOS光纤和ADSL双线备份的实现

基本情况:用户有两条INTERNET线路,一条是使用中国电信光纤10M,另一条是使用中国电信4MADSL.使用IP伪装使一个有200个终端局域网共享 上网. RouteOS共有3块网卡,ether1用于ADSL,ether2用于光纤,ether3用于连接终端. 目的:实现负载平衡,并且在其中一条线路断掉后自动切换为单线路,线路恢复后,继续使用负载平衡.

1、配置光纤线路 在/ip address中为光纤线路配置IP地址,子网掩码.

CODE
/ip address add address 61.139.77.77 mask 24 interface ether2


2、配置ADSL线路

CODE
/interface pppoe-client


配置ADSL拨号信息.

CODE
/interface pppoe-client add name pppoe-line1 service CHN-telecom/ user mailtrh999@169rh999 password kkjjh interface ether1 use-peer-dns yes mtu 1942 mru 1942


3、配置IP伪装

CODE
/ip firewall src-nat add action masquerade
/ip firewall mangle add protocol tcp tcp-options syn-only tcp-mss 1448


4、配置路由

CODE
/ip route add dst 0.0.0.0/0 gat 219.159.78.65,222.217.117.118 (注:61.139.77.1为光纤的网关,218.88.32.1则为ADSL的网关)
/ip route add dst 61.139.88.105/32 get 218.88.32.1(注:如果ADSL连通后PING不通网关的话,才加这条,如果PING得通则不须要.)


5、配置自动切换脚本

CODE
/system script add name=\"downadsl\" source=\"/in pppoe-client dis [/in pppoe-client find name pppoe-lin owner=\"admin\" policy=reboot,read,write,policy,test
/system script add name=\"upf\" source=\"/ip route set[/ip route find dst 0.0.0.0] gateway 219.159.78.65,222.217.117.118\" owner=\"admin\" policy=reboot,read,write,policy,test
/system script add name=\"downf\" source=\"/ip route set[/ip route find dst 0.0.0.0] gateway 222.217.117.118 owner=\"admin\" policy=reboot,read,write,policy,test
/system script add name=\"upadsl\" source=\"/ip route set[/ip route find dst 0.0.0.0] gateway 219.159.78.65,222.217.117.118\" owner=\"admin\" policy=reboot,read,write,policy,test


6、配置NETWATCH用于监视网络的通断情况.

CODE
/tool netwatch add host=222.217.117.118 timeout=1s interval=5s up-script=upadsl down-script=downadsl (注:61.157.88.105是监视ADSL是否通的IP,也可以是ADSL的网关.)
/tool netwatch add host=219.159.78.65 timeout=1s interval=5s up-script=upf down-script=downf
感谢路由高手提供这篇资料.


视频下载2个文件

第一个A 6M这样

第2个B 2M左右

A下载地址 :ftp://router:[email protected]/逍遥子_双线录像_a.rar

B下载地址 :ftp://router:[email protected]/逍遥子_双线录像_b.rar








RouteOs做双机冗余

Configuring Master VRRP router
First of all we should create a VRRP instance on this router. We will use the priority of 255 for this
router as it should be preferred router.
[admin@MikroTik] ip vrrp> add interface=local priority=255
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name=\"vr1\" interface=local vrid=1 priority=255 interval=1
preemption-mode=yes authentication=none password=\"\" on-backup=\"\"
on-master=\"\"
[admin@MikroTik] ip vrrp>
Next the virtual IP address should be added to this VRRP instance
[admin@MikroTik] ip vrrp> address add address=192.168.1.1/24 \\
\\... virtual-router=vr1
[admin@MikroTik] ip vrrp> address print
Flags: X - disabled, A - active
# ADDRESS NETWORK BROADCAST VIRTUAL-ROUTER
0 192.168.1.1/24 192.168.1.0 192.168.1.255 vr1
[admin@MikroTik] ip vrrp>
Now this address should appear in /ip address list:
[admin@MikroTik] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.0.0.1/24 10.0.0.0 10.0.0.255 public
1 192.168.1.2/24 192.168.1.0 192.168.1.255 local
2 D 192.168.1.1/24 192.168.1.0 192.168.1.255 local
[admin@MikroTik] ip address>


Configuring Backup VRRP router
Now we will create VRRP instance with lower priority (we can use the default value of 100), so this
router will back up the preferred one:
[admin@MikroTik] ip vrrp> add interface=local
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 B name=\"vr1\" interface=local vrid=1 priority=100 interval=1
preemption-mode=yes authentication=none password=\"\" on-backup=\"\"
on-master=\"\"
[admin@MikroTik] ip vrrp>
Now we should add the same virtual address as was added to the master node:
Page 283 of 564
[admin@MikroTik] ip vrrp> address add address=192.168.1.1/24 \\
\\... virtual-router=vr1
[admin@MikroTik] ip vrrp> address print
Flags: X - disabled, A - active
# ADDRESS NETWORK BROADCAST VIRTUAL-ROUTER
0 192.168.1.1/24 192.168.1.0 192.168.1.255 vr1
[admin@MikroTik] ip vrrp>
Note that this address will not appear in /ip address list:
[admin@MikroTik] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.1.0.1/24 10.0.0.0 10.0.0.255 public
1 192.168.1.3/24 192.168.1.0 192.168.1.255 local
[admin@MikroTik] ip address>


Testing fail over
Now, when we will disconnect the master router, the backup one will switch to the master state:
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name=\"vr1\" interface=local vrid=1 priority=100 interval=1
preemption-mode=yes authentication=none password=\"\" on-backup=\"\"
on-master=\"\"
[admin@MikroTik] ip vrrp> /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.1.0.1/24 10.0.0.0 10.0.0.255 public
1 192.168.1.3/24 192.168.1.0 192.168.1.255 local
2 D 192.168.1.1/24 192.168.1.0 192.168.1.255 local
[admin@MikroTik] ip vrrp>
[hzkane] 仰天狂笑:普天之下,竟然没有我的对手...



关于利用RouterOS的VRRP来配置路由器热备份 (原著)


原文请下载附件(原文命令行比较清楚),附件中附有连接图,经过本人编写及测试效果,觉得对企业有很大的作用!

作者:Netlea

有时候为了保证我们网络的稳定性和可靠性,可能会申请两条出口链路或用一条出口链路接防火墙后接两台RouterOS做热备份路由,当主路由器(ROS A )功能出现故障时, VRRP(虚拟路由器冗余协议, RFC2338)由另外一个路由器(ROS B )来接管相应的工作。通过设置虚拟路由器为缺省路由器,用户在路由器发生故障时可以继续通信。
如图所示的配置, 利用同一个以太网中的两台路由器设置一台虚拟路由器。 在实际运行中, 两台路由器中的任一台成为主路由器, 该主路由器模拟虚拟路由器。备份路由器监控主由器状态。一旦主路由器出现故障影响网络运行, 备份路由器立即进入主路由器状态以模拟虚拟路由器。
IP地址被分配给虚拟路由器。 指定虚拟路由器IP地址为缺省路由器的服务器将不会觉察主路由器的切换而继续进行正常通信。



 







利用RouterOS的VRRP设置如下:

下面这个例子展示如何配置图中所示两个路由器之上的VRRP。路由器一定有初始配置:接口(LAN)配置为有效,主及备份路由器接口(LAN)有适当的IP地址(注意两个路由器接口中的任意一个都应该有一个IP地址),路由表被正确设置(它至少应该有一个默认路由)。SRC-NAT也应该在之前正确配置。
我们假设接口(LAN)10.10.10.0/24网络连接到局部的所有的VRRP主和备份路由器上。
我们要设置好主VRRP路由器的LAN口IP为10.10.10.1/24
及设置好备份VRRP备份路由器的LAN口IP为10.10.10.2/24
完成以上设置后,测试主或备份RouterOS的路由器的LAN口网关都可以上网。
下面我们将要配置由VRRP模拟虚拟路由器生成网关为10.10.10.3/24给客户机或三层交换机连接及上网



第一,配置Master VRRP路由器(主路由器)

首先,我们应该在这个路由器上创建一个VRRP路由,假设这个路由器的优先级是255,因为它应该是首选的路由器
注:优先级(整数:0..255;默认:100)-当前节点的优先级(值越大表示优先级越高)255-RFC要求拥有赋值IP地址给主路由器的优先级是255
下面的interval(即是时间间隔的意思)(整数:0..255;默认:1)-VRRP每秒更新时间间隔。定义聚集的Master以何种频度发送VRRP广告数据包。即其中备份路由器超过1秒钟后收不到主路由器具广告数据包时,备份路由器将接替主路由器的工作。

[admin@MikroTik] ip vrrp> add interface=LAN priority=255
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name=\\\"vr1\\\" interface=LAN vrid=1 priority=255 interval=1
preemption-mode=yes authentication=none password=\\\"\\\" on-backup=\\\"\\\"
on-master=\\\"\\\"

[admin@MikroTik] ip vrrp>

注:LAN是你的LAN卡名称即本地网卡


接下来,虚拟IP地址应该被添加到这个VRRP路由中
[admin@MikroTik] ip vrrp> address add address=10.10.10.3/24 \\\\
\\\\... virtual-router=vr1
[admin@MikroTik] ip vrrp> address print
Flags: X - disabled, A - active
# ADDRESS NETWORK BROADCAST VIRTUAL-ROUTER
0 10.10.10.3/24 10.10.10.0 10.10.10.255 vr1

[admin@MikroTik] ip vrrp>


现在这个地址应该出现在/IP地址列表中:
[admin@MikroTik] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.0.0.1/24 10.0.0.0 10.0.0.255 WAN
1 10.10.10.1/24 10.10.10.0 10.10.10.255 LAN
2 D 10.10.10.3/24 10.10.10.0 10.10.10.255 LAN

[admin@MikroTik] ip address>




第二,配置备份 VRRP路由器
现在我们创建具有低优先级的VRRP路由(我们可以使用默认值100),这个路由器将会作为首选路由器的后备。

[admin@MikroTik] ip vrrp> add interface=LAN
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 B name=\\\"vr1\\\" interface=local vrid=1 priority=100 interval=1
preemption-mode=yes authentication=none password=\\\"\\\" on-backup=\\\"\\\"
on-master=\\\"\\\"

[admin@MikroTik] ip vrrp>


现在我们应该添加这个虚拟地址,就像添加到master节点一样:
[admin@MikroTik] ip vrrp> address add address=10.10.10.3/24 \\\\
\\\\... virtual-router=vr1
[admin@MikroTik] ip vrrp> address print
Flags: X - disabled, A - active
# ADDRESS NETWORK BROADCAST VIRTUAL-ROUTER
0 10.10.10.3/24 10.10.10.0 10.10.10.255 vr1

[admin@MikroTik] ip vrrp>


注意,这个地址将不会出现在/ip地址列表中:
[admin@MikroTik] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.0.0.100/24 10.0.0.0 10.0.0.255 WAN
1 10.10.10.2/24 10.10.10.0 10.10.10.255 LAN

[admin@MikroTik] ip address>




第三,测试我们配置后的成果

现在,我们将断开master(主)路由(我们测试时可以断开LAN口的网线来测试),这时其中一个备份路由将切换成master状态,即内网会经过备份路由器来上网,当主VRRP路由器恢复后,备份路由器的工作将恢复后主路由器来接替:

[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, M - master, B - backup
0 M name=\\\"vr1\\\" interface=LAN vrid=1 priority=100 interval=1
preemption-mode=yes authentication=none password=\\\"\\\" on-backup=\\\"\\\"
on-master=\\\"\\\"

[admin@MikroTik] ip vrrp> /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 10.0.0.100/24 10.0.0.0 10.0.0.255 WAN
1 10.10.10.2/24 10.10.10.0 10.10.10.255 LAN
2 D 10.10.10.3/24 10.10.10.0 10.10.10.255 LAN

[admin@MikroTik] ip vrrp>
关于利用RouterOS的VRRP来配置路由器热备份1
/ip firewall filter add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"ort scanners to list \" disabled=no
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"NMAP FIN Stealth scan\"
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,syn action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"SYN/FIN scan\"
/ip firewall filter add chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"SYN/RST scan\"
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"FIN/PSH/URG scan\"
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"ALL/ALL scan\"
/ip firewall filter add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list=\"port scanners\" address-list-timeout=14d comment=\"NMAP NULL scan\"
/ip firewall filter add chain=input src-address-list=\"port scanners\" action=drop comment=\"dropping port scanners\" disabled=no