Debian Linux下重启后自动恢复ipset

使用iptables的应该都会用到ipset,这是一个强化iptables集合功能的必备工具,ipset唯一的瑕疵可能就是基于内存的,需要定期手动保存到本地,并且每次重启Linux后,还需要重新恢复ipset,如果iptables里使用了ipset合集的话,没有重新恢复ipset还会造成iptables运行失败,这对于服务器安全来说带来了很大的不变。

保存ipset规则

ipset save > /etc/iptables/ipset

创建Systemd服务文件

新建/etc/systemd/system/ipset-restore.service,内容如下:

[Unit]
Description=Restore IPSet Rules
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ipset restore -f /etc/iptables/ipset

[Install]
WantedBy=multi-user.target

确保服务在 After=network.target 之后启动

使用 Requires=network.target 确保网络就绪

启用服务

systemctl daemon-reload
systemctl enable ipset-restore.service

验证这个自启动服务状态:

systemctl status ipset-restore.service

结果应该显示 "active (exited)" 状态

说白了就是了自己创建一个自启动服务在每次重启Linux的时候自动恢复ipset,我们仅仅需要定期手动的存储ipset到指定位置文件即可。当然,也可以利用systemctl在关机重启时自动导出保存ipset到指定文件,配合启动自动恢复。

ipset-with-iptables.png

只需要创建 systemd 服务文件

vim /etc/systemd/system/save-ipset.service

内容如下:

[Unit]
Description=Save IPSet Rules on Shutdown
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
Requires=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ipset save > /etc/iptables/ipset
TimeoutStartSec=0

[Install]
WantedBy=halt.target reboot.target shutdown.target

保存,退出

启用服务

sudo systemctl daemon-reload
sudo systemctl enable save-ipset.service
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《Debian Linux下重启后自动恢复ipset》
文章链接:https://www.xlin.cn/xlbk/21755.html
分享到: 更多 (0)

热门文章

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册