Debian 8 - 在启动时更新 Iptables

Pro*_*ter 4 startup debian iptables

我正在将我的“配置 openvpn 服务器”从 ubuntu 14 移植到 debian 8。到目前为止,除了本节之外,它运行良好:

# Set up iptables to forward packets for vpn and do this upon startup.
echo 'iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
exit 0' > /etc/rc.local
Run Code Online (Sandbox Code Playgroud)

似乎 debian 8 不使用此/etc/rc.local文件,因此我的 vpn 服务器在重新启动后无法正确转发流量。我必须手动调用该脚本,或执行命令。

在启动时更新 iptables 的“debian 8 方式”是什么?


更新

阅读/etc/rc.local应该可以工作后,我确保将权限设置为 755 并将脚本更新为如下:

/bin/echo "starting..." > /root/rc.local.log
/sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -j REJECT
/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
/bin/echo "completed successfully" >> /root/rc.local.log

exit 0
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个空的/root/rc.local.log777在重新启动之前给了它权限。该文件仍然是空的,让我认为 /etc/rc.local 脚本根本没有被执行。

小智 13

Debian 在启动时设置 iptables 的方法是使用iptables-persistent包。

只需安装该iptables-persistent软件包,按照需要设置 iptables 规则,然后运行netfilter-persistent save. (请注意,该命令以netfilter而非iptables。)

详细信息,netfilter-persistent手册页

自 Debian 7 (Wheezy) 以来,保存表格的方法发生了变化。在喘息一会做这样的事情:invoke-rc.d iptables-persistent save