ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ROS公司出了一个新需求,pppoe-client拨号失败的时候,同时ip-pool要更新相应的地址池给用户pptp使用

2022-07-21 13:33:37  阅读:179  来源: 互联网

标签:pptp ip mark add routing address interface 池给 172.22


ROS公司出了一个新需求,pppoe-client拨号失败的时候,同时ip-pool要更新相应的地址池给用户pptp使用

保证用户下次拨号进来的时候,能有网络可用。

 

#定义一个局部变量ippool
:local ippool
#进入到pppoe拨号接口下
/interface pppoe-client
#查找当前接口下,拨号是成功running的接口,同时把这个接口编号取出来,取第9位到第11位,拼成IP地址172.22.22.*,并复制给变量ippool,注意这个变量是数组,我用tostr转换数组为字符串失败。我也不知道为啥
:foreach i in [find] do={:if [get $i running ] do={:set ippool {$ippool . "172.22.22." . [:pick [get $i name] 9 11] . ","}}}
#进入到/ip pool拨号接口下
/ip pool
#设置范围为ippool,注意ippool是数组,所以这边取数组的第一个值
set pptp ranges=[:pick $ippool 0]
#打印变量ippool
:log error [:pick $ippool 0]
:log error "ip pool set ok!!!"

 

路由器完整的配置如下

/interface bridge
add name=bridge1-lan
add name=bridge2-wan
/interface vlan
add interface=bridge2-wan name=vlan821 vlan-id=821
add interface=bridge2-wan name=vlan822 vlan-id=822
add interface=bridge2-wan name=vlan823 vlan-id=823
add interface=bridge2-wan name=vlan824 vlan-id=824
add interface=bridge2-wan name=vlan825 vlan-id=825
/interface vrrp
add interface=vlan821 name=vrrp35 vrid=35
add interface=vlan821 name=vrrp36 vrid=36
add interface=vlan821 name=vrrp37 vrid=37
add interface=vlan821 name=vrrp38 vrid=38
add interface=vlan822 name=vrrp39 vrid=39
add interface=vlan822 name=vrrp40 vrid=40
add interface=vlan822 name=vrrp41 vrid=41
add interface=vlan822 name=vrrp42 vrid=42
add interface=vlan823 name=vrrp43 vrid=43
add interface=vlan823 name=vrrp44 vrid=44
add interface=vlan823 name=vrrp45 vrid=45
add interface=vlan823 name=vrrp46 vrid=46
add interface=vlan824 name=vrrp47 vrid=47
add interface=vlan824 name=vrrp48 vrid=48
add interface=vlan824 name=vrrp49 vrid=49
add interface=vlan824 name=vrrp50 vrid=50
add interface=vlan825 name=vrrp51 vrid=51
add interface=vlan825 name=vrrp52 vrid=52
add interface=vlan825 name=vrrp53 vrid=53
add interface=vlan825 name=vrrp54 vrid=54
/interface pppoe-client
......................
20个拨号 /ip pool add name=pptp ranges="172.22.22.1,172.22.22.2,172.22.22.3,172.22.22.4,172.22.2\ 2.5,172.22.22.6,172.22.22.7,172.22.22.8,172.22.22.9,172.22.22.10,172.22.22\ .12,172.22.22.13,172.22.22.14,172.22.22.15,172.22.22.16,172.22.22.17,172.2\ 2.22.18,172.22.22.19,172.22.22.20" /ppp profile set *FFFFFFFE dns-server=223.5.5.5,223.6.6.6 idle-timeout=1h local-address=\ 172.22.22.254 on-up=":log error (\$\"user\".\"/\".\$\"local-address\".\"/\ \".\$\"remote-address\".\"/\".\$\"caller-id\".\"/\".\$\"called-id\".\"/\".\ \$\"interface\")\r\ \n:log error (\$\"remote-address\")\r\ \n:global aaa [:pick \$\"remote-address\" 10 13]\r\ \n:log error \$aaa\r\ \n/interface pppoe-client enable (\"pppoe-out\".\$aaa)" only-one=no \ remote-address=pptp /interface bridge port add bridge=bridge1-lan interface=ether12 add bridge=bridge1-lan interface=ether11 add bridge=bridge1-lan interface=ether10 add bridge=bridge1-lan interface=ether9 add bridge=bridge2-wan interface=ether1 add bridge=bridge2-wan interface=ether2 add bridge=bridge2-wan interface=ether3 add bridge=bridge2-wan interface=ether4 add bridge=bridge2-wan interface=ether5 add bridge=bridge2-wan interface=ether6 add bridge=bridge2-wan interface=ether7 add bridge=bridge2-wan interface=ether8 /interface pptp-server server set enabled=yes /ip address add address=192.168.64.201/24 interface=bridge1-lan network=192.168.64.0 add address=12.12.1.1 interface=vlan821 network=12.12.1.1 add address=12.12.1.2 interface=vlan822 network=12.12.1.2 add address=12.12.1.3 interface=vlan823 network=12.12.1.3 add address=12.12.1.4 interface=vlan824 network=12.12.1.4 add address=12.12.1.5 interface=vlan825 network=12.12.1.5 add address=12.12.2.5 interface=vrrp35 network=12.12.2.5 add address=12.12.2.6 interface=vrrp36 network=12.12.2.6 add address=12.12.2.7 interface=vrrp37 network=12.12.2.7 add address=12.12.2.8 interface=vrrp38 network=12.12.2.8 add address=12.12.2.9 interface=vrrp39 network=12.12.2.9 add address=12.12.2.10 interface=vrrp40 network=12.12.2.10 add address=12.12.2.11 interface=vrrp41 network=12.12.2.11 add address=12.12.2.12 interface=vrrp42 network=12.12.2.12 add address=12.12.2.13 interface=vrrp43 network=12.12.2.13 add address=12.12.2.14 interface=vrrp44 network=12.12.2.14 add address=12.12.2.15 interface=vrrp45 network=12.12.2.15 add address=12.12.2.16 interface=vrrp46 network=12.12.2.16 add address=12.12.2.17 interface=vrrp47 network=12.12.2.17 add address=12.12.2.18 interface=vrrp48 network=12.12.2.18 add address=12.12.2.19 interface=vrrp49 network=12.12.2.19 add address=12.12.2.20 interface=vrrp50 network=12.12.2.20 add address=12.12.2.21 interface=vrrp51 network=12.12.2.21 add address=12.12.2.22 interface=vrrp52 network=12.12.2.22 add address=12.12.2.23 interface=vrrp53 network=12.12.2.23 add address=12.12.2.24 interface=vrrp54 network=12.12.2.24 /ip dns set servers=223.5.5.5 /ip firewall address-list add address=192.168.0.0/16 list=lanip add address=172.16.0.0/16 list=lanip add address=10.0.0.0/8 list=lanip /ip firewall mangle add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp1 passthrough=no src-address=172.22.22.1 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp2 passthrough=no src-address=172.22.22.2 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp3 passthrough=no src-address=172.22.22.3 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp4 passthrough=no src-address=172.22.22.4 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp5 passthrough=no src-address=172.22.22.5 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp6 passthrough=no src-address=172.22.22.6 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp7 passthrough=no src-address=172.22.22.7 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp8 passthrough=no src-address=172.22.22.8 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp9 passthrough=no src-address=172.22.22.9 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp10 passthrough=no src-address=172.22.22.10 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp11 passthrough=no src-address=172.22.22.11 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp12 passthrough=no src-address=172.22.22.12 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp13 passthrough=no src-address=172.22.22.13 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp14 passthrough=no src-address=172.22.22.14 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp15 passthrough=no src-address=172.22.22.15 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp16 passthrough=no src-address=172.22.22.16 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp17 passthrough=no src-address=172.22.22.17 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp18 passthrough=no src-address=172.22.22.18 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp19 passthrough=no src-address=172.22.22.19 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp20 passthrough=no src-address=172.22.22.20 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp21 passthrough=no src-address=172.22.22.21 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp22 passthrough=no src-address=172.22.22.22 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp23 passthrough=no src-address=172.22.22.23 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp24 passthrough=no src-address=172.22.22.24 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp25 passthrough=no src-address=172.22.22.25 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp26 passthrough=no src-address=172.22.22.26 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp27 passthrough=no src-address=172.22.22.27 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp28 passthrough=no src-address=172.22.22.28 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp29 passthrough=no src-address=172.22.22.29 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp30 passthrough=no src-address=172.22.22.30 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp31 passthrough=no src-address=172.22.22.31 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp32 passthrough=no src-address=172.22.22.32 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp33 passthrough=no src-address=172.22.22.33 add action=mark-routing chain=prerouting dst-address-list=!lanip \ new-routing-mark=pptp34 passthrough=no src-address=172.22.22.34 /ip firewall nat add action=masquerade chain=srcnat out-interface=all-ppp add action=masquerade chain=srcnat out-interface=bridge1-lan /ip route add distance=1 gateway=pppoe-out1 routing-mark=pptp1 add distance=1 gateway=pppoe-out2 routing-mark=pptp2 add distance=1 gateway=pppoe-out3 routing-mark=pptp3 add distance=1 gateway=pppoe-out4 routing-mark=pptp4 add distance=1 gateway=pppoe-out5 routing-mark=pptp5 add distance=1 gateway=pppoe-out6 routing-mark=pptp6 add distance=1 gateway=pppoe-out7 routing-mark=pptp7 add distance=1 gateway=pppoe-out8 routing-mark=pptp8 add distance=1 gateway=pppoe-out9 routing-mark=pptp9 add distance=1 gateway=pppoe-out10 routing-mark=pptp10 add distance=1 gateway=pppoe-out11 routing-mark=pptp11 add distance=1 gateway=pppoe-out12 routing-mark=pptp12 add distance=1 gateway=pppoe-out13 routing-mark=pptp13 add distance=1 gateway=pppoe-out14 routing-mark=pptp14 add distance=1 gateway=pppoe-out15 routing-mark=pptp15 add distance=1 gateway=pppoe-out16 routing-mark=pptp16 add distance=1 gateway=pppoe-out17 routing-mark=pptp17 add distance=1 gateway=pppoe-out18 routing-mark=pptp18 add distance=1 gateway=pppoe-out19 routing-mark=pptp19 add distance=1 gateway=pppoe-out20 routing-mark=pptp20 add distance=1 dst-address=10.0.0.0/8 gateway=192.168.64.254 add distance=1 dst-address=172.16.0.0/16 gateway=192.168.64.254 add distance=1 dst-address=192.168.0.0/16 gateway=192.168.64.254 /ppp secret add name=xxxxxx password=xxxxx profile=default-encryption service=pptp /system clock set time-zone-name=Asia/Shanghai /system clock manual set dst-delta=+08:00 time-zone=+08:00 /system scheduler add interval=1m name=pppoe-ip-pool on-event=ippool policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ start-date=jul/21/2022 start-time=13:19:15 /system script add dont-require-permissions=no name=ippool owner=admin policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ \B6\A8\D2\E5\D2\BB\B8\F6\BE\D6\B2\BF\B1\E4\C1\BFippool\r\ \n:local ippool\r\ \n#\BD\F8\C8\EB\B5\BDpppoe\B2\A6\BA\C5\BD\D3\BF\DA\CF\C2\r\ \n/interface pppoe-client\r\ \n#\B2\E9\D5\D2\B5\B1\C7\B0\BD\D3\BF\DA\CF\C2\A3\AC\B2\A6\BA\C5\CA\C7\B3\ \C9\B9\A6running\B5\C4\BD\D3\BF\DA\A3\AC\CD\AC\CA\B1\B0\D1\D5\E2\B8\F6\BD\ \D3\BF\DA\B1\E0\BA\C5\C8\A1\B3\F6\C0\B4\A3\AC\C8\A1\B5\DA9\CE\BB\B5\BD\B5\ \DA11\CE\BB\A3\AC\C6\B4\B3\C9IP\B5\D8\D6\B7172.22.22.*\A3\AC\B2\A2\B8\B4\ \D6\C6\B8\F8\B1\E4\C1\BFippool\A3\AC\D7\A2\D2\E2\D5\E2\B8\F6\B1\E4\C1\BF\ \CA\C7\CA\FD\D7\E9\r\ \n:foreach i in [find] do={:if [get \$i running ] do={:set ippool {\$ippo\ ol . \"172.22.22.\" . [:pick [get \$i name] 9 11] . \",\"}}}\r\ \n#\BD\F8\C8\EB\B5\BD/ip pool\B2\A6\BA\C5\BD\D3\BF\DA\CF\C2\r\ \n/ip pool\r\ \n#\C9\E8\D6\C3\B7\B6\CE\A7\CE\AAippool\A3\AC\D7\A2\D2\E2ippool\CA\C7\CA\ \FD\D7\E9\A3\AC\CB\F9\D2\D4\D5\E2\B1\DF\C8\A1\CA\FD\D7\E9\B5\C4\B5\DA\D2\ \BB\B8\F6\D6\B5\r\ \nset pptp ranges=[:pick \$ippool 0]\r\ \n#\B4\F2\D3\A1\B1\E4\C1\BFippool\r\ \n:log error [:pick \$ippool 0]\r\ \n:log error \"ip pool set ok!!!\""

  

 

标签:pptp,ip,mark,add,routing,address,interface,池给,172.22
来源: https://www.cnblogs.com/itfat/p/16501579.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有