这是一个简单易用的Linux服务器端口转发工具,专为UDP协议服务(如Hysteria2)设计。它允许您将服务器上的一个或多个UDP端口范围映射到指定的服务端口,实现端口跳跃功能。特别适合为V2bX面板和PPanel-node的Hysteria2节点配置端口跳跃,通过简单的命令行界面,您可以快速配置和管理端口映射规则,支持主流Ubuntu和Debian,并提供自动持久化功能。
- Linux操作系统(已测试:Ubuntu、Debian)
- Root权限
- 基本工具:bash、wget、iptables、curl、jq
wget -N https://raw.githubusercontent.com/PanJX02/PortMapping/refs/heads/main/install.sh && sudo bash install.sh
如果您已经安装过本工具,可以使用以下命令更新安装脚本:
# 更新安装脚本并重新运行
wget -N https://raw.githubusercontent.com/PanJX02/PortMapping/refs/heads/main/install.sh && sudo bash install.sh
-N
参数会自动检查远程文件是否更新,只有当有新版本时才会下载覆盖本地文件。
- 下载主脚本:
sudo wget -O /usr/local/bin/vpn https://raw.githubusercontent.com/PanJX02/PortMapping/refs/heads/main/vpn.sh
sudo chmod +x /usr/local/bin/vpn
- 创建配置目录:
sudo mkdir -p /etc/vpn
sudo mkdir -p /var/log/vpn
- 安装依赖:
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install -y wget iptables iptables-persistent curl jq
# CentOS/RHEL/Fedora
sudo yum install -y wget iptables iptables-services curl jq
# Arch Linux
sudo pacman -Sy --noconfirm wget iptables curl jq
运行以下命令启动交互式菜单:
sudo vpn
菜单选项包括:
- 添加/修改端口映射
- 取消所有端口映射
- 查看当前映射状态
- 检查更新
- 显示版本信息
- 卸载VPN端口映射工具
- 退出
# 为Hysteria2节点添加端口跳跃(将外部10000-20000端口映射到Hysteria2的443端口)
sudo vpn 443 10000 20000
# 为V2bX/PPanel-node的Hysteria2节点配置端口跳跃
sudo vpn 443 10000 20000
# 取消所有端口映射
sudo vpn off
# 查看当前映射状态
sudo vpn status
# 检查更新
sudo vpn update
# 显示版本信息
sudo vpn version
# 显示帮助信息
sudo vpn help
# 卸载工具
sudo vpn uninstall
- UDP协议专用:专为Hysteria2的UDP传输优化,仅支持UDP协议
- V2bX/PPanel-node适用:特别适合为V2bX面板和PPanel-node的Hysteria2节点配置端口跳跃
- 端口跳跃:支持将端口范围映射到单个Hysteria2服务端口
- 一键配置:通过简单命令快速设置端口跳跃规则
- 状态监控:实时查看当前端口映射配置和状态
- 自动持久化:规则自动保存,重启后依然生效
- 多系统支持:兼容Ubuntu、Debian
- 交互式菜单:提供友好的命令行界面
- 配置备份:自动备份现有配置到/etc/vpn目录
- 日志记录:详细记录所有操作和状态变化
-
检查iptables服务是否正在运行:
sudo systemctl status iptables
-
检查防火墙是否允许相关端口:
sudo iptables -L -n
-
确认服务正在监听正确端口:
sudo netstat -tulnp | grep <服务端口>
-
查看日志文件获取详细信息:
sudo cat /var/log/vpn/portforward.log
- 检查网络连接
- 确保GitHub可访问
- 尝试手动更新:
sudo wget -O /usr/local/bin/vpn https://raw.githubusercontent.com/PanJX02/PortMapping/refs/heads/main/vpn.sh sudo chmod +x /usr/local/bin/vpn
本项目采用MIT许可证。详情请参阅LICENSE文件。