<?php /** * 工具文件 * 目的在:修改一个防火墙的ip * 前提:文件中有一句 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -s 117.89.152.141 -j ACCEPT * 前提2:存在一个文件例如/home/iptables.bak * * 调用示例 * php change_ip.php 202.111.11.1 * */ if (count($argv) <= 1 ) { echo "请带上新的ip参数:例如 ipchange 222.222.222.22\n"; exit; } $arg = $argv[1]; $filename = '/home/iptables.bak'; $content = file_get_contents($filename); $old_ip = preg_replace('/^.+3306\s+-s\s+(\d+\.\d+\.\d+\.\d+)\s+.+$/s','$1',$content); $content = preg_replace('#'. $old_ip .'#', $arg, $content); file_put_contents($filename, $content); //system('iptables-restore '.$filename); echo $filename .': '. $old_ip . ' => ' . $arg."\n";
详细解决方案
php一致改防火墙配置里的ip
热度:311 发布时间:2012-06-29 15:48:46.0
相关解决方案