运行额外命令以使 openvpn 正确加载

运行额外命令以使 openvpn 正确加载

我的 openvpn 运行良好,启动时按预期加载。但是,如果不在服务器上运行以下命令,我无法使用它转发来自客户端的流量:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
su
echo '1' > /proc/sys/net/ipv4/ip_forward

su是因为 sudo 不够用(即sudo echo '1' > /proc/sys/net/ipv4/ip_forward会失败所以我必须使用su,以 root 身份登录然后运行命令。如果您知道更好的方法,我洗耳恭听)。

我希望这一切都在启动时自动完成(因此重启后我不必通过 SSH 登录,运行命令并再次注销...我只想启动我的客户端然后运行),但不知道如何做到这一点。我正在使用 Ubuntu 10.10 Server。

*仅供参考,如果(当)他们阻止我的正常辅助 VPN(他们经常这样做),我就可以在中国境内使用这个(位于美国的......在我的客厅里)VPN。

答案1

您有一些选择(实际上,您有很多选择,但这里仅列举几个):

1) 将这些命令放入 /etc/rc.local(“exit 0”行之前)。它们将在启动时运行。

2)编写一个“openvpn-firewall”初始化脚本,让其运行这些命令,并确保它在 openvpn 启动之前运行。

3)使用 iptables-save 和 iptables-restore 来管理您的 iptables 命令,并将您的 ip_forward 放入 /etc/sysctl。

a) iptables。按照Ubuntu IPTables 维基页面,特别是“启动时配置”部分。

b) ip_forward。编辑 /etc/sysctl.conf 并找到如下行

#net.ipv4.ip_forward=1

并取消注释,使其看起来像这样:

net.ipv4.ip_forward=1

重启后,它将自动运行。

相关内容