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');
?>
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');
?>
Комментарии
Отправить комментарий