UFW 防火墙配置端口转发实现 Hysteria 2 端口跳跃
✨ 文章记录了 Hysteria 2 协议的简单配置,为了解决国内运营商对 UDP 连接的限制,文章介绍了端口跳跃的配置方法,涵盖了系统端口转发的开启、UFW 转发规则的配置和防火墙规则的设置。此外,还提供了故障排查建议和相关参考资源。
背景
早前曾简单体验过 Hysteria 2 协议
https://okhk.net/hysteria2-protocol-simple-config前段时间整理了个人的订阅服务,将 VPS 缩减了一下,成本倒是降了,但相对的体验也下滑了些——线路变差了。于是好好配置了下 Hysteria 2 协议,此处简要记录下。其实只是在原有的记录上扩充了些
Hysteria 2 服务端配置
服务端安装过程此处就不再赘述,如下为大致的配置
listen: :8443
tls:
cert: /etc/ssl/cert.pem
key: /etc/ssl/private.key
auth:
type: password
password: your-hysteria2-password
masquerade:
type: proxy
proxy:
url: https://amazon.com/
rewriteHost: true
disableUDP: false
udpIdleTimeout: 60s
quic:
initStreamReceiveWindow: 8388608
maxStreamReceiveWindow: 8388608
initConnReceiveWindow: 20971520
maxConnReceiveWindow: 20971520
maxIdleTimeout: 30s
maxIncomingStreams: 1024
disablePathMTUDiscovery: false
# https://github.com/Loyalsoldier/v2ray-rules-dat
acl:
file: /etc/hysteria/acl.txt
geoip: /etc/hysteria/geoip.dat
geosite: /etc/hysteria/geosite.dat
outbounds:
- name: direct
type: direct
# Cloudflare Warp 的 SOCKS5 代理
- name: warp
type: socks5
socks5:
addr: 127.0.0.1:1234端口跳跃
国内运营商部分地区存在阻断或限速 UDP 连接的行为。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法。
开启系统端口转发
首先需要修改系统配置以启用端口转发功能:
# 编辑 sysctl.conf 文件
sudo vim /etc/sysctl.conf
# 添加或修改以下行,如已开启则跳过此步骤
net.ipv4.ip_forward=1
# 应用更改
sudo sysctl -p配置 UFW 转发规则
编辑 UFW 的 before.rules 文件:
sudo vim /etc/ufw/before.rules在文件开头的 *filter 部分之前添加以下内容:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# 端口转发规则
# 将入站流量从端口范围转发到指定端口
-A PREROUTING -p udp --dport 10000:10010 -j REDIRECT --to-port 8443
-A PREROUTING -p udp --dport 18443 -j REDIRECT --to-port 8443
# 确保流量可以正确路由
-A POSTROUTING -j MASQUERADE
COMMIT4. 配置防火墙规则
允许相关端口通过防火墙:
# 允许 Hysteria 2 主端口
sudo ufw allow 8443/udp
# 允许端口跳跃范围
sudo ufw allow 10000:10010/udp
sudo ufw allow 18443/udp5. 重启 UFW 使配置生效
sudo ufw disable
sudo ufw enable
sudo ufw reload验证配置
可以使用以下命令检查配置是否生效:
# 查看防火墙规则
sudo ufw status verbose
# 查看端口转发规则
sudo iptables -t nat -L -n -vClash Meta Hysteria 2 配置示例
在 Clash Meta 的配置文件中,可以这样配置 Hysteria 2 协议端口跳跃:
- name: "Hysteria2"
type: hysteria2
server: your.server.ip.addr
port: 8443
ports: 18443,10000-10010
hop-interval: 30
password: your-hysteria2-password
up: "100 Mbps"
down: "100 Mbps"
sni: amazon.com
skip-cert-verify: true
alpn:
- h3故障排查
如果配置后发现端口转发不生效,可以检查:
系统端口转发是否已启用:
cat /proc/sys/net/ipv4/ip_forwardUFW 规则是否正确加载:
sudo ufw status numberediptables 规则是否生效:
sudo iptables -t nat -L PREROUTING --line-numbers注意事项
- 请确保端口范围不会与系统其他服务冲突
- 建议定期检查日志文件以监控转发状态
- 配置更改后必须重启 UFW 才能生效
- 建议在配置前备份相关配置文件