if-up.d 脚本不工作?

if-up.d 脚本不工作?

我正在尝试使 NAT 路由在我的 Ubuntu 12.04 EC2 实例上持久存在(对于 OpenVPN;目前我需要在每次启动后运行它):

ubuntu@vpn:~$ cat /etc/network/if-up.d/vpn-routing
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

但它不起作用:

ubuntu@vpn:~$ sudo iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

有什么想法吗?我启用了它有关系吗ufw?我在 syslog 中没有看到任何有趣/相关的内容(尽管我不确定要查找什么)。提前致谢。

答案1

我认为这是因为该文件没有 shebang 行。它应该是这样的:

#!/bin/sh
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

还要确保该文件具有执行权限:

sudo chmod +x /etc/network/if-up.d/vpn-routing

答案2

我自己也遇到过这个问题。一种方便的调试方法是启用 ppp 的日志文件... sudo touch /var/log/ppp-ipupdown.log

然后当我启动 ppp 会话时,我可以看到我的脚本的运行情况。

相关内容