zoukankan      html  css  js  c++  java
  • MIKROTIK ROS+PHP+MYSQL实现从数据库中配置DNS服务器

    ROS开启DNS服务器后,使用ROS脚本动态从服务端数据库时更新IP到ROS里,实现批量的动态DDNS,供客户使用

    php脚本

    <?php
    header('Content-type: text/plain');
    $id=filter_input(INPUT_GET,'id');
    echo ":global dnsadd do={
    ##/ip dns static remove [find regexp=$ddns address!=$ipaddress]
    /ip dns static remove [find regexp=$ddns]
    /ip dns static add address=$ipaddress regexp=$ddns ttl=20s
    }   
    
    ";
    //$dnsadd ipaddress=1.1.1.1 ddns=www.ip99.com
    require_once 's5admin/db/db.php';
    $sql="select publicipaddress,pppoeid,areaid from s5 where areaid='$id'  order by (0+pppoeid)";
    $res=mysqli_query($conn,$sql);
    while($row=mysqli_fetch_row($res)) {
    	               	$qian=array(" "," ","	","
    ","
    ");
                            $nnip=trim($row[1]);
                            $arrip=explode("
    ",$nnip);
                            //echo "$row[0]$port
    ";
                            foreach($arrip as $v) {
                            	$vip=str_replace($qian, '', $v);
    			}
    			$areaid=$row[2];
    	//$ipstr=$row[0] . '   ' . "ip$vip"  . ".os${areaid}.com
    ";
    	$ipstr="$dnsadd ipaddress=$row[0] ddns=" .   "ip$vip"  . ".os${areaid}.com
    ";
    	echo $ipstr;
    
    }
    mysqli_close($conn);
    
    ?>
    

      ROS脚本

    {
    :local nowstart 0
    :local newstart 0
    :local EOF true
    :local url "http://serverip/dns.php?id=82"
    :local ipaddress ""
    :local ddns ""
    :put $url
    /tool fetch url=$url keep-re=yes dst-path=dns
    /import file=dns
    
    
    
    
    
    
    }
  • 相关阅读:
    async/await
    js继承
    js处理上下文代码的2个阶段
    js相关地址
    vue自定义指令钩子函数
    vue 组件
    vue methods和computed,v-show和v-if
    vue 生命周期
    DOM操作——怎样添加、移除、移动、复制、创建和查找节点
    js 传递参数
  • 原文地址:https://www.cnblogs.com/ip99/p/14772420.html
Copyright © 2011-2022 走看看