ROS使用PHP API更新DNS解析的A记录

Routeros可是使用Script脚本,做Curl的动作,可以是http get,也可以是http post,想象空间巨大。

我们可以使用routeros获取pppoe拨号的动态IP地址,然后执行/tool fetch url=”URL” 来将地址使用http get的方式,输出给服务器的API接口,由接口执行更多的计算动作,比如实现返回IP地址归属地等。

我们可以尝试,使用脚本获取本地地址,然后get url,代码例子如下:

:global pppoeIP;

:local newIP [/ip address get [find interface=pppoe-out1] address]
    :set newIP [:pick $newIP 0 [:find $newIP "/"]]
    :if ($pppoeIP = "") do={
        :set pppoeIP $newIP
        :log info "Initial IP: $pppoeIP"
    } else={
        :if ($newIP = $pppoeIP) do={
            :log info "same"
        } else={
            :log info "different"
            :set pppoeIP $newIP
            :do [/tool fetch url="https://ca.anynat.net/getipapi/$newIP" dst-path=send.log check-certificate=no]
        }
    }

然后在https://ca.anynat.net/getipapi/$newIP 成功获取ip地址以后,利用api的算法,去执行更新dns解析的动作。

未经允许不得转载:阡陌 » ROS使用PHP API更新DNS解析的A记录

相关文章

contact