问题描述
对于 Ubuntu 和 IPSET 启动和验证电子邮件
//我的ipset示例
apt-get install ipset
ipset create honeypot4 hash:ip maxelem 1000000 family inet hashsize 4096
ipset create honeypot6 hash:ip maxelem 1000000 family inet6 hashsize 4096
iptables -I INPUT -m set --match-set honeypot4 src -j DROP
iptables -I FORWARD -m set --match-set honeypot4 src -j DROP
ip6tables -I INPUT -m set --match-set honeypot6 src -j DROP
ip6tables -I FORWARD -m set --match-set honeypot6 src -j DROP
sudo -s iptables-save -c
sudo -s ip6tables-save -c
//启动时加载集合
apt-get install netfilter-persistent
sudo systemctl enable netfilter-persistent
在 /etc/init.d/netfilter-persistent 中,在“ipset save>/etc/ipset.rules
”之后添加“save)
”
在 /usr/sbin/netfilter-persistent 中“start|save|flush)
”后添加:
#if you use Failtoban
perl -pi -e "s/^create f2b-sshd /#create f2b-sshd /" /etc/ipset.rules;
perl -pi -e "s/^add f2b-ssh /#add f2b-ssh /" /etc/ipset.rules;
perl -pi -e "s/^add f2b-sshd /#add f2b-sshd /" /etc/ipset.rules;
#
ipset restore</etc/ipset.rules;
//启动时加载集合
service netfilter-persistent save
//如果错误检查sudo nano /etc/ipset.rules
并使用“ipset restore</etc/ipset.rules
”进行测试
//用命令测试
sudo ipset list honeypot4
如果返回
Name: honeypot4
Type: hash:ip
Revision: 4
Header: family inet hashsize 4096 maxelem 1000000
没问题!
可以通过重启服务器(sudo reboot
)测试ipset是否正常!
$output = shell_exec('sudo ipset list honeypot4 > /yourfolder/outputs.txt 2>&1');
$ressource = fopen('/root/save/outputs.txt','rb');
$output= fread($ressource,filesize('/yourfolder/outputs.txt'));
$findme = 'The set with the given name does not exist';
$pos = strpos($output,$findme);
if ($pos === false) {
//not find
} else {
exec("echo 'Subject: !!!!ERROR: Open /etc/ipset.rules and test ipset restore</etc/ipset.rules for verification!!!!' | sendmail -v example@example.com");
}
fclose($ressource);
exec('rm /yourfolder/outputs.txt');
:)
如果您有任何改进建议,我很感兴趣!
不要忘记添加 cron exec('service netfilter-persistent save');
以保存新的最新 ipset。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)