我有一个软件需要以非 root 用户身份运行,但需要监听端口 80 和 443。
有了 iptables,这并不是那么困难:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
虽然很简单,但是我应该如何坚持才能在启动时生效呢?我尝试过iptables-save
,但这似乎不起作用。
答案1
iptables
在基于 Debian 的系统启动时恢复规则的标准方法是使用/etc/network/interfaces
.
首先,您需要将当前规则保存到文件中:
iptables-save > /etc/iptables.rules
在相关接口的块中/etc/network/interfaces
添加:
pre-up iptables-restore < /etc/iptables.rules
其他方法,例如通过网络管理器加载,可以在ubuntu维基。