我目前使用 ufw 来执行一些基本的防火墙规则。是否也可以使用 ufw 进行端口转发?
具体来说,我想将传入流量从端口 80 转发到我的服务器(运行 ufw 的同一台机器)到端口 8080。(http 流量转发到 tomcat)
钍
答案1
假设您想将发往 80 的请求转发到监听端口 8080 的服务器。
请注意,您需要确保允许端口 8080,否则 ufw 将阻止重定向到 8080 的请求。
sudo ufw allow 8080/tcp
没有用于设置端口转发的 ufw 命令,因此必须通过配置文件来完成。在文件顶部的节/etc/ufw/before.rules
之前,将以下几行添加到:filter
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
COMMIT
然后重新启动并启用 ufw 在启动时启动:
sudo ufw enable
答案2
自 ufw 0.34 起,ufw 支持转发规则。
例子: sudo ufw route allow in on eth0 out on eth1 to 10.0.0.0/8 port 8080 from 192.168.0.0/16 port 80
您还需要确保已net.ipv4.ip_forward
启用 sysctl。对于大多数发行版,这可以通过编辑/etc/sysctl.conf
和运行sysctl -p
或重新启动来完成。
但是,ufw 并不通过其简易界面支持 NAT。