我想iptables
使用 bash 脚本在操作系统启动时加载 CentOS 7 上的以下设置。
我怎样才能做到这一点?
#!/bin/bash
iptables -I OUTPUT -d 0.0.0.0/0 -j ACCEPT
iptables -I FORWARD -d 0.0.0.0/0 -j ACCEPT
iptables -I INPUT -d 0.0.0.0/0 -j ACCEPT
iptables -t nat -I PREROUTING -d 0.0.0.0/0 -p tcp --dport 222 -j DNAT --to-destination 10.1.0.9:22
笔记:我知道默认的 CentOS 7 防火墙服务是firewall-cmd
,我不想删除它(改用服务iptables
)。我正在尝试这种方法,因为显然它firewall-cmd
不适用于上述设置(请参阅线程防火墙 cmd-添加转发端口不起作用以获取更多信息)。
谢谢!=D
答案1
首先你使用
iptables-save >/wherever/iptables.save
然后
iptables-restore </wherever/iptables.save
然后你必须知道你的 linux 是 systemd 还是 init
如果是 systemd 那么您可以创建一个虚假服务来加载该文件。
你可以尝试
chkconfig iptables on
然后您需要找到并替换现有的 iptables 保存的文件。
我会尝试
查找/-iname“iptables.save”
看看你是否能用这种方法找到它。
也可以看看 https://serverfault.com/a/739465/206895
待续....