实践操作前,请参考下面文章
- https://www.262235.xyz/index.php/tag/iptables/
- https://support.cloudflare.com/hc/zh-cn/articles/201897700
方法1: 批量添加 cloudflare ips-v4
到 iptables
白名单
# 清空整个DOCKER-USER组
iptables -F DOCKER-USER
# 只允许cloudflare代理源站其他都DROP
for i in `curl https://www.cloudflare.com/ips-v4`;
do iptables -I DOCKER-USER -p tcp -m multiport --dports http,https -s $i -j ACCEPT;
done
iptables -A DOCKER-USER -p tcp -m multiport --dports http,https -j DROP
iptables -A DOCKER-USER -j RETURN
# 显示刚设置的DOCKER-USER组规则
iptables -nvL DOCKER-USER
方法2: 使用 ipset
集合管理白名单,更加灵活
# 清空整个DOCKER-USER组
iptables -F DOCKER-USER
# 允许白名单IPSET集访问DOCKER-USER组,其他都 DROP
iptables -I DOCKER-USER -m set --match-set whitelist src -p tcp -j ACCEPT
iptables -A DOCKER-USER -p tcp -m multiport --dports http,https -j DROP
iptables -A DOCKER-USER -j RETURN
- 需要预先建立
whitelist
白名单集合
apt install ipset -y # 先安装ipset软件
ipset create whitelist hash:net maxelem 1000000 # 白名单
ipset add whitelist 172.17.0.0/24 # 增加一条ip段记录
for i in `curl https://www.cloudflare.com/ips-v4`;
do ipset add whitelist $i ; done
ipset list whitelist # 查看白名单
ipset destroy whitelist # 销毁白名单
# 其他命令: 添加测试IP 白名单允许多端口 黑名单全 DROP
iptables -I DOCKER-USER -s 自己IP地址 -p tcp -m multiport --dport 80,443,8000,9000 -j ACCEPT
iptables -I DOCKER-USER -m set --match-set whitelist src -p tcp -m multiport --dport 80,443,8000,9000 -j ACCEPT
iptables -I DOCKER-USER -m set --match-set blacklist src -p tcp -j DROP
注意: ipset
白名单是保存在内存中,重启系统后丢失,会导致 iptables
恢复 DOCKER-USER
相关命令无效
# 重启前先备份 whitelist 白名单
ipset save whitelist -f whitelist.txt
# 重启服务器后,执行恢复 whitelist 白名单
ipset restore -f whitelist.txt
# 重新建立 DOCKER-USER 组规则
iptables -F DOCKER-USER
iptables -I DOCKER-USER -m set --match-set whitelist src -p tcp -j ACCEPT
iptables -A DOCKER-USER -p tcp -m multiport --dports http,https -j DROP
iptables -A DOCKER-USER -j RETURN
dd if=/dev/YOUR-DEVICE conv=sync,noerror bs=64K | gzip -c > /home/portaj/macbook.img.gz gunzip -c /home/portaj/macbook.img.gz |…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册