使用UFW进行端口转发

我意识到UFW主要用于启用/禁用特定端口的访问,但我试图将一个端口转发到另一个端口。 我希望任何与端口1724的连接都转发到1723。

文件/etc/default/ufw已经有DEFAULT_FORWARD_POLICY="ACCEPT" 。 而且我相信我需要在/etc/ufw/sysctl.conf取消注释net/ipv4/ip_forward=1 。 最后我需要编辑/etc/ufw/before.rules来添加iptables规则。

这里是我迷路的地方,因为我找不到这个文件的任何文档。 我在哪里添加规则? 究竟是怎么回事?

特别是:

  • 我确切地在哪一行添加规则?
  • 我之前或之后都放了什么?

/etc/ufw/before.rules (文件顶部)中的filter部分之前添加:

 *nat :PREROUTING ACCEPT [0:0] -A PREROUTING -p tcp --dport 1724 -j REDIRECT --to-port 1723 COMMIT 

然后需要重新加载这些规则; 简单地禁用和重新启用ufw或运行ufw reload是不够的。 最简单的解决方案是重新启动,否则您可以使用Launchpad错误#881137中提到的解决方法之一 。