如何通过 UFW 配置端口转发 ?
Uncomplicated Firewall (UFW) 是一种流行且用户友好的防火墙命令行接口,旨在Ubuntu 和其他 Linux 系统上方便防火墙管理。而 UFW 通常用于管理在端口级别的入站和出站流量,它也支持更多复杂的任务,如设置端口转发,也称为端口映射。端口转发是一种网络技术,将特定端口的网络请求重定向到另一个端口,通常在不同的机器上。
在本文中,我们将指导您如何做使用 UFW 建立端口转发。
基础概念
在深入讨论细节之前,让我们先了解几个关键概念:
- Port : 在计算机网络中,端口是数据进入或离开网络设备的通信端点。
- Forwarding : 转发是将网络数据从一个端口发送到另一个端口的过程。
使用 UFW 设置端口转发
出于演示目的,假设您希望将端口 8000 上的传入流量转发到端口 8080。
Enabling UFW
如果尚未启用 UFW,在终端中执行如下命令:
sudo ufw enable
Edit the UFW configuration file
要设置端口转发,您必须编辑 UFW 的配置文件,位于 /etc/default/ufw
sudo nano /etc/default/ufw
Enable packet forwarding
在配置文件中,找到 DEFAULT_FORWARD_POLICY="DROP",将 DROP 更改为 ACCEPT
DEFAULT_FORWARD_POLICY="ACCEPT"
按 Ctrl + O
保存更改,然后按 Ctrl + X
退出 nano 编辑器
Modify UFW’s before rules
UFW 使用一组在标准规则之前执行的 “before rules”,这些 before 规则可用于设置端口转发。
使用 nano 编辑 before 规则文件:
sudo nano /etc/ufw/before.rules
在文件末尾添加以下行,将 “{your-ip}” 替换为将要转发数据包的机器的 IP 地址:
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic from port 8000 to port 8080.
-A PREROUTING -p tcp --dport 8000 -j DNAT --to-destination {your-ip}:8080
# Don’t masquerade local traffic.
-A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
COMMIT
按 Ctrl + O
保存更改,然后按 Ctrl + X
退出 nano 编辑器
Restart UFW
最后,为了使更改生效,必须重新启动 UFW
sudo ufw disable
sudo ufw enable
现在,任何进入端口 8000 的流量都将被转发到端口 8080
我的开源项目
评论已关闭