S-UI 中转落地搭建教程
来源:NodeSeek(原帖已设为私有)
中转落地的思路是把入口和出口分开部署在两台服务器上,入口用高速线路接入,出口负责实际访问目标网站,两台机器之间通过内部协议打通。S-UI 面板对这种架构支持比较完整,入站、出站、路由规则都可以在面板里直接配置。S-UI 的安装方式和基础配置可以先参考S-UI面板搭建教程,两台服务器都需要先装好面板再继续下面的步骤。
安装命令:
1 | bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/master/install.sh) |
落地机配置:
进入面板入站管理,入站类型选 Shadowsocks,监听端口自定,比如 8081,方法随便选,比如 2022-blake3-aes,网络选 TCP/UDP,密码自动生成,保存退出。记下生成的密码,中转机那边要用。
中转机配置:
进入面板入站管理,入站类型选 VLESS,标签写清楚,比如"日澳Trans",这个标签名后面会显示在节点名称里,建议取得好认一点。监听端口用系统生成的就行。
出站管理里新建一条出站,类型选 Shadowsocks,标签自定义一个好区分的名字,比如"Shadowsocks-AUS"。服务器地址填落地机 IP,端口填刚才落地机设置的 8081,方法和密码填跟落地机一致的值。保存。
这一步很容易漏掉一个东西:落地机的防火墙/安全组要放行这个端口,并且允许中转机的IP连进来。很多人只在S-UI面板里配好了入站,服务器系统的防火墙(比如ufw)和云服务商后台的安全组这两层都要单独确认放行,两者只要有一层没放,中转机就连不上落地机,后面无论怎么配置用户和路由都不会生效。
用户管理里新建用户,名字简短好认,比如"日澳",入站标签选刚才建的 VLESS 入站。
路由列表里添加规则,用户选刚才新建的用户,出站选刚才建的 Shadowsocks-AUS。注意保存,如果弹出网络错误可以直接无视,刷新页面继续。
配置完成后去用户管理,把这个用户的节点链接复制出来导入客户端,连上之后打开网页检查 IP,显示的应该是落地机的 IP 而不是中转机的 IP,说明流量已经正确走了中转落地的路径。如果想用其他协议搭建中转,也可以参考Vmess+WebSocket搭建中转服务器,思路类似但协议不同。
验证的时候还是显示中转机的IP,没走到落地机
按下面几个方向依次排查:
- 落地机防火墙/安全组没放行:这是最常见的原因,回头确认系统防火墙和云服务商安全组是不是都放行了落地机的Shadowsocks端口;
- 端口/方法/密码有一处对不上:中转机出站里填的这三项,必须跟落地机入站里的完全一致,任何一个字符不一样都连不通;
- 路由规则没有正确绑定用户和出站:回到路由列表确认规则里的用户是不是刚建的那个、出站是不是选的Shadowsocks-AUS这条,规则顺序也要注意,排在前面的规则会优先匹配;
- 客户端本身没有正确导入新链接:改完配置后客户端要重新导入一次节点链接,有些客户端会缓存旧配置,重启一下客户端再测。
这类中转排查的思路同样适用于 IPv6 环境,S-UI 在 IPv6 下的搭建和常见问题集中在S-UI面板常见问题与IPv6环境搭建里。
用 3x-ui 做中转,见x-ui面板怎么做中转。