You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server作为家庭路由器时UFW特定端口转发被阻止问题求助

Ubuntu Server作为家庭路由器时UFW特定端口转发被阻止问题求助

大家好,我目前用Ubuntu Server搭建了家庭网络路由器,其他功能都运行正常。另外我还有一台内网服务器,用来托管所有的内容和服务。现在遇到一个端口转发的问题:我想把WAN端42069端口的流量转发到内网服务器10.0.0.2的8920端口(这是Emby服务的端口),但怎么都搞不定。

先说说我已经做过的操作:

  • 已经在/etc/sysctl.conf和/etc/ufw/sysctl.conf中启用了数据包转发,但出于安全考虑,我没有把UFW的默认转发策略改成ACCEPT(虽然这么做确实能解决端口转发的问题,但总觉得不安全)
  • 执行了sudo ufw allow 42069命令,允许该端口的入站流量;同时编辑了/etc/ufw/before.rules,在*filter段之前添加了以下NAT规则:
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i enp1s0 -p tcp --dport 42069 -j DNAT --to-destination 10.0.0.2:8920
-A POSTROUTING -s 10.0.0.0/24 -o enp1s0 -j MASQUERADE
COMMIT
  • 为了保险起见,我还执行了这条命令,效果应该和上面的规则类似:
    sudo ufw route allow to 10.0.0.2 port 8920 from any port 42069 proto tcp comment emby

但问题依然存在:我还是无法远程访问Emby服务器。查看UFW日志时,执行cat /var/log/ufw.log | grep 8920能看到大量被阻止的条目(但远程端口42069相关的日志却没有):

Jul 28 01:18:15 rubidium kernel: [90442.255467] [UFW BLOCK] IN=enp1s0 OUT=enp3s0 MAC=00:1b:21:3a:ee:71:00:01:5c:8e:56:46:08:00 SRC= my.current.IP DST=10.0.0.2 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=30619 DF PROTO=TCP SPT=50462 DPT=8920 WINDOW=64320 RES=0x00 SYN URGP=0

目前唯一能让转发正常工作的命令是:
sudo ufw route allow in on enp1s0 out on enp3s0 to 10.0.0.2 port 8920
但这条规则会允许任何来源的流量访问内网的8920端口,完全不符合我的安全需求。

有没有大佬能给我一些建议,怎么才能实现只转发特定WAN端口到内网服务,同时保证安全性呢?

备注:内容来源于stack exchange,提问作者ohshitgorillas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:27:58