<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="ROS VRRP实现热备配置">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-12-12 13:42<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
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不能冲突）


参考1 参考2 参考3 参考4


ROS单网卡配置网络+VPN服务器（具体参数按需修改）




XML/HTML代码


    /user set admin password=admin

    /system identity set name=&quot;ROS&quot;

     

    /ip address add address=192.168.19.245/24 interface=ether1

    /ip route add gateway=192.168.19.1

    /ip firewall nat add action=masquerade chain=srcnat

    /ip dns set allow-remote-requests=yes cache-size=2048 max-udp-packet-size=512 servers=114.114.114.114,202.102.224.68

     

    /ip pool add name=vpn_pool ranges=10.0.0.2-10.0.0.254

    /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

    /interface pptp-server server set enabled=yes default-profile=vpn_profile

    /interface l2tp-server server set enabled=yes default-profile=vpn_profile ipsec-secret=123 use-ipsec=yes

    /ppp secret add name=vpn password=123 profile=vpn_profile




ROS单网卡配置网络+VPN服务器VRRP实验


ROS1




XML/HTML代码


    /user set admin password=admin  

    /system identity set name=&quot;ROS1&quot;  

      

    /ip address add address=192.168.19.246/24 interface=ether1  

    /ip route add gateway=192.168.19.1  

    /ip firewall nat add action=masquerade chain=srcnat  

    /ip dns set allow-remote-requests=yes cache-size=2048 max-udp-packet-size=512 servers=114.114.114.114,202.102.224.68  

      

      

    /interface vrrp add interface=ether1 vrid=49 priority=254  

    /ip address add address=192.168.19.245/32 interface=vrrp1  

      

    /ip pool add name=vpn_pool ranges=10.0.0.2-10.0.0.254  

    /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  

    /interface pptp-server server set enabled=yes default-profile=vpn_profile  

    /interface l2tp-server server set enabled=yes default-profile=vpn_profile ipsec-secret=123 use-ipsec=yes  

    /ppp secret add name=vpn password=123 profile=vpn_profile  




ROS2




XML/HTML代码


    /user set admin password=admin  

    /system identity set name=&quot;ROS2&quot;  

      

    /ip address add address=192.168.19.247/24 interface=ether1  

    /ip route add gateway=192.168.19.1  

    /ip firewall nat add action=masquerade chain=srcnat  

    /ip dns set allow-remote-requests=yes cache-size=2048 max-udp-packet-size=512 servers=114.114.114.114,202.102.224.68  

      

    /interface vrrp add interface=ether1 vrid=49 priority=100  

    /ip address add address=192.168.19.245/32 interface=vrrp1  

      

    /ip pool add name=vpn_pool ranges=10.0.0.2-10.0.0.254  

    /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  

    /interface pptp-server server set enabled=yes default-profile=vpn_profile  

    /interface l2tp-server server set enabled=yes default-profile=vpn_profile ipsec-secret=123 use-ipsec=yes  

    /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 --&gt; Firewall --&gt; NAT，添加2条记录


Chain：srcnat，Protocol：udp，Action：endpoint-independent-nat


Chain：dstnat，Protocol：udp，Action：endpoint-independent-nat




XML/HTML代码


    /ip firewall nat add action=endpoint-independent-nat chain=srcnat protocol=udp place-before=0

    /ip firewall nat add action=endpoint-independent-nat chain=dstnat protocol=udp place-before=0







低版本可以通过以下方法设置




IP --&gt; Firewall --&gt; NAT，添加一条记录，Chain：dstnat，In. Interface：pppoe-out1（出口），Action：dst-nat，To Address：10.10.21.254（内网主机IP）




XML/HTML代码


    /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分配正常。






</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
