mikbill_day_ip_src_nat.sh Отправляем реальники на микротик. Скрипт обновлен до php7

<?php
  function ftp_upload($ftp_server,$ftp_user_name,$ftp_user_pass,$file_in,$file_out) {
    $conn_id = ftp_connect($ftp_server);
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//    echo $ftp_server;
  if ((!$conn_id) || (!$login_result)) {
  echo "No connect with $ftp_server via $ftp_user_name!\n";
  exit;
  }

  system("scp $file_in $ftp_user_name@$ftp_server:/");

//  $upload = ftp_put($conn_id, $file_out, $file_in, FTP_BINARY);
//  print_r($conn_id);
//  if (!$upload) {
//  echo "Error upload!";
//  }
//  ftp_close($conn_id);
  }


  $db = mysqli_connect("localhost","mikbill","PASS");
  mysqli_select_db($db, "mikbill");
  $sql = mysqli_query($db, "SELECT user, framed_ip, local_ip, numdogovor FROM `users` WHERE `real_ip` LIKE '1';");
  $file_content=array();
  array_push ($file_content, "/ip firewall nat\n");
  array_push ($file_content, "remove [find comment~\"START_realip\"]\n");
  array_push ($file_content, "remove [find comment~\"realip_for_\"]\n");
  array_push ($file_content, "add chain=unused-hs-chain action=passthrough place-before=[find comment=\"END_realip_NAT\"] comment=\"START_realip_NAT\" disable=yes \n");
  while ($tablerows = mysqli_fetch_row($sql)) {
    array_push($file_content, "/ip firewall nat add action=src-nat chain=srcnat comment=\"realip_for_" .$tablerows[0]."\"  src-address=".$tablerows[2]." to-addresses=".$tablerows[1]." place-before=[find comment=\"END_realip_NAT\"] \n");
    array_push($file_content, "/ip firewall nat add action=netmap chain=dstnat comment=\"realip_for_" .$tablerows[0]."_____\" dst-address=".$tablerows[1]." to-addresses=".$tablerows[2]." place-before=[find comment=\"END_realip_NAT\"] \n");
}
  mysqli_close($db);


  $db = mysqli_connect("localhost","mikbill","PASS");
  mysqli_select_db($db, "mikbill");
  $sql = mysqli_query($db, "SELECT user, framed_ip, local_ip, numdogovor FROM `usersfreeze` WHERE `real_ip` LIKE '1';");
  array_push ($file_content, "/ip firewall nat\n");
  while ($tablerows = mysqli_fetch_row($sql)) {
    array_push($file_content, "/ip firewall nat add action=src-nat chain=srcnat comment=\"realip_for_" .$tablerows[0]."\"  src-address=".$tablerows[2]." to-addresses=".$tablerows[1]." place-before=[find comment=\"END_realip_NAT\"] \n");
    array_push($file_content, "/ip firewall nat add action=netmap chain=dstnat comment=\"realip_for_" .$tablerows[0]."_____\" dst-address=".$tablerows[1]." to-addresses=".$tablerows[2]." place-before=[find comment=\"END_realip_NAT\"] \n");
}
  mysqli_close($db);


  $file_name="./realip.rsc";
  file_put_contents($file_name,$file_content);

  $nas_ip='192.168.0.2';
  $nas_login='bill';
  $nas_pass='PASS';
  $file_in='realip.rsc';
  $file_out='realip.rsc';
  $file_exec=$file_out;
  ftp_upload($nas_ip,$nas_login,$nas_pass,$file_in,$file_out);

  $command='delay 3';
  $command='/import '.$file_exec;

  $ssh='/usr/bin/sudo /usr/bin/ssh bill@192.168.0.2';
  exec('/usr/bin/sudo /usr/bin/ssh bill@192.168.0.2 "import realip.rsc" &>/dev/null 2>&1');
?>

Комментарии

Популярные сообщения из этого блога

Accel-ppp команды

mikbill расшифровка завершений сессий

Zabbix agent установка и настройка