记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

ROS VRRP实现热备配置

ROS VRRP实现热备配置

通过ROS VRRP实现HA,故障自动接管,非VRRP多播。适用于具备多出口及有高可用需求的网络环境,热备组中的某台设备出现故障后,同组内其它设备自动对业务进行接管,保证网络不会中断。
ROSA的IP是10.200.200.2,使用ether-2接口
ROSB的IP是10.200.200.3,使用ether-2接口
VRRP的VIP是10.200.200.111
其中10.200.200.1正在使用,不在文档范围内,文档中全部掩码如无说明都是/24。
操作方法如下:
ROSA
1,在ether-2接口增加IP10.200.200.2。
2,创建VRRP组,General标签中name可随意填写。VRRP标签中指定接口ether-2;VRID指定VRRP组ID,同一VRRP组中VRID需相同。Version选择版本3,指定IPv4。
此时看到vrrp虚接口已经生成,由于没有IP地址,显示为红色且不可使用。
3,给VRRP配置VIP10.200.200.111。看到vrrp虚接口变为黑色则配置成功。
至此ROSA配置完成,下面开始ROSB配置,由于步骤相同,不再重复截图。
4,在ether-2接口增加IP10.200.200.3。
5,创建VRRP组,General标签中name可随意填写。VRRP标签中指定接口ether-2;VRID指定与ROSA相同的VRID。Version选择版本3,指定IPv4。
6,给VRRP配置VIP10.200.200.111。看到vrrp虚接口变为黑色则配置成功。
至此全部配置完成,可通过winbox看到VRRP VIP已经出现,MAC与两台ROS均不同。
下面进行故障测试,首先验证三个IP全都通。
测试方法是发起到10.200.200.111的ping,然后拔掉某台ROS进行故障测试。如下图我拔掉ROSA的网线,看到发生丢包,到VRRP VIP依旧正常。
现在把ROSA接回,拔掉ROSB,依旧是发生丢包,到VRRP VIP正常。看ROS上出现了接管日志。自动接管测试通过。
本人测试:
局域网两个ROS做VPN服务器,都是单网卡,为了防止单个ROS宕机造成的VPN访问中断,就部署了两ROS,两个ROS设置不同的IP,然后vrrp设置一个IP提供VPN服务,并映射这个IP的服务端口,当任意一个ROS中断,则vrrp那个IP提供的访问不中断。其实就是两个ROS除了网卡IP设置不一样,其他完全一样,实现了热备。
如果是出口网关,只需要给LAN的ip设置不一样,然后vrrp设置成192.168.0.1,就可以了。(LAN的ip和vrrp的ip不能冲突)
ROS单网卡配置网络+VPN服务器(具体参数按需修改)
XML/HTML代码
  1. /user set admin password=admin
  2. /system identity set name="ROS"
  3.  
  4. /ip address add address=192.168.19.245/24 interface=ether1
  5. /ip route add gateway=192.168.19.1
  6. /ip firewall nat add action=masquerade chain=srcnat
  7. /ip dns set allow-remote-requests=yes cache-size=2048 max-udp-packet-size=512 servers=114.114.114.114,202.102.224.68
  8.  
  9. /ip pool add name=vpn_pool ranges=10.0.0.2-10.0.0.254
  10. /ppp profile add name=vpn_profile local-address=10.0.0.1 remote-address=vpn_pool only-one=no dns-server=114.114.114.114,202.102.224.68
  11. /interface pptp-server server set enabled=yes default-profile=vpn_profile
  12. /interface l2tp-server server set enabled=yes default-profile=vpn_profile ipsec-secret=123 use-ipsec=yes
  13. /ppp secret add name=vpn password=123 profile=vpn_profile
ROS单网卡配置网络+VPN服务器VRRP实验
ROS1
XML/HTML代码
  1. /user set admin password=admin  
  2. /system identity set name="ROS1"  
  3.   
  4. /ip address add address=192.168.19.246/24 interface=ether1  
  5. /ip route add gateway=192.168.19.1  
  6. /ip firewall nat add action=masquerade chain=srcnat  
  7. /ip dns set allow-remote-requests=yes cache-size=2048 max-udp-packet-size=512 servers=114.114.114.114,202.102.224.68  
  8.   
  9.   
  10. /interface vrrp add interface=ether1 vrid=49 priority=254  
  11. /ip address add address=192.168.19.245/32 interface=vrrp1  
  12.   
  13. /ip pool add name=vpn_pool ranges=10.0.0.2-10.0.0.254  
  14. /ppp profile add name=vpn_profile local-address=10.0.0.1 remote-address=vpn_pool only-one=no dns-server=114.114.114.114,202.102.224.68  
  15. /interface pptp-server server set enabled=yes default-profile=vpn_profile  
  16. /interface l2tp-server server set enabled=yes default-profile=vpn_profile ipsec-secret=123 use-ipsec=yes  
  17. /ppp secret add name=vpn password=123 profile=vpn_profile  
ROS2
XML/HTML代码
  1. /user set admin password=admin  
  2. /system identity set name="ROS2"  
  3.   
  4. /ip address add address=192.168.19.247/24 interface=ether1  
  5. /ip route add gateway=192.168.19.1  
  6. /ip firewall nat add action=masquerade chain=srcnat  
  7. /ip dns set allow-remote-requests=yes cache-size=2048 max-udp-packet-size=512 servers=114.114.114.114,202.102.224.68  
  8.   
  9. /interface vrrp add interface=ether1 vrid=49 priority=100  
  10. /ip address add address=192.168.19.245/32 interface=vrrp1  
  11.   
  12. /ip pool add name=vpn_pool ranges=10.0.0.2-10.0.0.254  
  13. /ppp profile add name=vpn_profile local-address=10.0.0.1 remote-address=vpn_pool only-one=no dns-server=114.114.114.114,202.102.224.68  
  14. /interface pptp-server server set enabled=yes default-profile=vpn_profile  
  15. /interface l2tp-server server set enabled=yes default-profile=vpn_profile ipsec-secret=123 use-ipsec=yes  
  16. /ppp secret add name=vpn password=123 profile=vpn_profile  
上面ROS中对外VPN服务的IP是192.168.19.245,不管哪个机器挂了都能自动切换另外一个服务器,保证VPN服务正常运行。
在VRRP设置中,VRID必须设置成一样,PRIOITY数值越大,优先级越高。如果PRIOITY设置成一样,如果一个挂了,自动切换另外一个,哪怕是机器恢复了,也不会切换会远ROS。如果PRIOITY设置不一样,服务器恢复后,自动切换PRIOITY优先级高的ROS,也就是说,只要存在PRIOITY高的ROS,就会切换到这个个ROS。
RouterOS V7.10 Stable开启NAT1 FullCone
MikroTik RouterOS V7.10 Stable加入了新功能endpoint-independent-nat,所以可以通过RouterOS来实现NAT1 FullCone功能了。
ROS配置
1、基本的上网配置,pppoe设置,masquerade上网设置等等,这边就不详细介绍了,请看我以前的文章
2、firewall做nat1设置,IP --> Firewall --> NAT,添加2条记录
Chain:srcnat,Protocol:udp,Action:endpoint-independent-nat
Chain:dstnat,Protocol:udp,Action:endpoint-independent-nat
XML/HTML代码
  1. /ip firewall nat add action=endpoint-independent-nat chain=srcnat protocol=udp place-before=0
  2. /ip firewall nat add action=endpoint-independent-nat chain=dstnat protocol=udp place-before=0
低版本可以通过以下方法设置
IP --> Firewall --> NAT,添加一条记录,Chain:dstnat,In. Interface:pppoe-out1(出口),Action:dst-nat,To Address:10.10.21.254(内网主机IP)
XML/HTML代码
  1. /ip firewall nat add chain=dstnat in-interface=pppoe-out1 action=dst-nat to-address=10.10.21.254
ROS新版本可以简单设置使用NAT1,老版本需要一对一设置。
PPPOE环境下的vrrp热备:(两机的LAN相通,WAN接光猫)
设置方法同上,wan口设置pppoe,lan口增加vrrp,注意在vrrp的Scripts写入下面脚本
On Mastet:/int enable pppoe-out1
On Backup:/int disable pppoe-out1
也就是说,检测到本机是主机则启动pppoe拨号,检测到本机是备用则禁用pppoe拨号。
另外局域网的dhcp需要设置在vrrp上面,保证局域网ip分配正常。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):