PPTP与PPPoE联动配置脚本问题
原为地址 http://www.irouteros.com/?p=463客户通过windows电脑使用PPTP连接进入RouterOS,这时该PPTP账号对应一个运营商PPPoE拨号,并自动启动连接,这个PPPoE拨号获取一个公网IP上网,该账号的PPTP默认走这个PPPoE拨号上网,当PPTP账号断开后,对应的PPPoE拨号也同样断开。
On up脚本::local pptpname:local pppoename:log info “user login and script start”:foreach i in= do={ :if ( = true ) do={ :set pptpname :log info “check $pptpname” :set pppoename [:pick $pptpname [:len $pptpname]] :set pppoename (“pppoe” . $pppoename) :if ( disable ] = true) do={ /interface pppoe-client enable [ find name =$pppoename ] :log info “$pptpname online $pppoename dail-up” } }}
On down脚本::local pptpname:local pppoename:log info “user logout and script start”:foreach i in= do={ :if ( = false ) do={ :set pptpname :log info “check $pptpname” :set pppoename [:pick $pptpname [:len $pptpname]] :set pppoename (“pppoe” . $pppoename) :if ( disable ] = false ) do={ /interface pppoe-client disable [ find name =$pppoename ] :log info “$pptpname offline $pppoename dail-down” } }}
这个脚本在ros 6.48上运行有问题,请会的帮忙改下,谢谢!!:handshake
系統給您已經給您許多方便的工具,您不需用script做這麼多事。
如:帳號ppp1對應profile1
ppp1一旦上線,pptp-client的ip就會先存到address-list=vpn,並對pppoe-out2進行撥號。
透過src-address-list=vpn,透過路由策略,pptp-client能將封包往pppoe-out2送。
pptp-client一旦離線,pptp-client的ip就會從address-list=vpn移除,順便關閉pppoe-out2。
這是不是比您想像中簡潔的多:D
楼上的这个方法是可以,但是在有多个账号的情况下每条都要配个profile来对应pppoe 本帖最后由 cspm333 于 2021-6-30 00:49 编辑
ai188 发表于 2021-6-29 07:58
楼上的这个方法是可以,但是在有多个账号的情况下每条都要配个profile来对应pppoe ...
多設個profile比較單純;共用profile的的話on-up不會有問題,但on-down問題會很大。
因為pptp-client離線時,interface會從名單消失。
on-down無從從名單找出那個client離線,並對對應的pppoe-out名稱進行斷網。
若要找離線的client名稱,比較可靠的方式是從log裡找。
但整體的script會變得很肥大,編寫出錯的機會也變多。與其如此還不如多建幾筆profile來的更可靠。
本帖最后由 47771885 于 2021-7-1 01:07 编辑
你这个脚本能运行 真有点不可思议 令我差异 怎么会扯上 /interface pptp-server get $i name
这个就不纠结他了(默认系统有user参数)
:set pppoename [:pick $pptpname [:len $pptpname]] :set pppoename (“pppoe” . $pppoename) :if ( disable ] = false ) do={ /interface pppoe-client disable [ find name =$pppoename ]
从上面的来看估计是 客户端拨号账号和pppoe出口尾数名称 是一样的用这个来做依据....
每个人环境需求不一样,该应用一般用于商业用途我就不发实例了 大概说下比较科学的关键点吧..一般是用IP 尾数作为依据 进行操作
实在不行那个就参考 楼上的使用多模板吧妥妥的
页:
[1]