
代理配置文件的核心结构与默认端口
config.yaml是Clash VPN的配置核心
Clash VPN的所有代理设置都集中在config.yaml配置文件中,这是整个客户端运行的基础。该文件默认存放在$HOME/.config/clash/目录下(Linux/macOS)或Clash安装目录的Data文件夹中(Windows)。配置文件采用YAML格式编写,其中port、socks-port、mixed-port等字段定义了客户端开启的本地代理端口,allow-lan字段控制是否允许局域网设备通过本机代理访问网络。用户修改配置文件后需重新加载配置,修改的端口设置才会生效。
默认端口分配与各端口的功能差异
Clash VPN为不同类型的代理协议分配了独立的本地监听端口,每种端口服务于不同的连接需求。port: 7890是HTTP和HTTPS代理端口,浏览器和大部分应用程序通过该端口走代理,是最常用的代理入口。socks-port: 7891是SOCKS5代理端口,适合支持SOCKS5协议的应用程序(如Telegram、部分游戏客户端)。mixed-port则是混合端口(如7893),同时提供HTTP和SOCKS5两种代理能力,可在需要统一端口配置的场景中使用。redir-port: 7892用于透明代理(Linux/macOS),external-controller: 9090则为Web UI管理端口。
配置文件中的端口修改方法
若默认端口与其他软件发生冲突,用户可直接编辑config.yaml文件中的端口数值进行修改。打开配置文件后找到port: 7890这一行,将数字改为其他未被占用的端口号(如7897),保存文件后在Clash客户端中重新加载配置即可生效。修改socks-port和mixed-port的方法与此相同。若客户端有图形界面,通常在「设置」页面中也会显示当前端口信息,部分客户端支持在界面中直接修改。端口修改后,所有需要使用代理的应用都需要同步更新代理地址中的端口号。
图形界面与命令行的配置方式
Clash Verge Rev图形界面的端口查看与修改
在Clash Verge Rev等图形界面客户端中,用户无需直接编辑配置文件即可查看和修改代理端口。打开客户端的「设置」或「常规」页面,界面中会显示”HTTP代理端口”和”SOCKS5代理端口”的具体数值,通常默认分别为7890和7891。用户可直接在输入框中修改端口号,修改后客户端会自动同步到config.yaml文件中并重新加载配置。在「设置」页面中还可找到”Allow LAN(允许局域网连接)”开关,开启后其他设备可通过本机IP和端口号连接代理,关闭后仅本机可使用。
命令行启动时指定配置文件和端口
在Linux服务器或无图形界面的环境中,可通过命令行参数直接启动Clash并指定配置文件。执行./clash -f subscription.yaml命令即可使用指定的配置文件启动客户端,默认HTTP代理端口为7890,SOCKS5端口为7891。若需要自定义端口,可在配置文件中修改对应字段后保存,再次启动时新端口即生效。命令行启动后可在终端中看到Clash的运行日志,包括监听端口、加载的规则数等信息,便于确认配置是否正确加载。
局域网代理共享的配置步骤
若需要让同一局域网内的其他设备(如手机、平板)通过本机的Clash VPN代理上网,需在配置文件和防火墙两方面完成设置。首先在config.yaml中将allow-lan设为true,并将bind-address设为*(监听所有网络接口)。然后在Windows防火墙中允许Clash客户端通过”专用”和”公用”网络,或在PowerShell中执行New-NetFirewallRule命令放行对应端口。其他设备在Wi-Fi设置中手动配置代理,代理服务器地址填写本机的局域网IP(如192.168.1.100),端口填写7890(HTTP代理),即可通过本机的Clash代理访问网络。
allow-lan与局域网代理的开启方法
allow-lan参数的作用与配置位置
allow-lan是控制Clash VPN是否接受来自局域网其他设备连接请求的关键开关,默认值为false(仅允许本机127.0.0.1连接)。当需要在手机、平板或其他电脑上通过本机Clash代理上网时,必须在配置文件中将该参数设为true。在配置文件中对应的写法为allow-lan: true,同时建议将bind-address设为*或0.0.0.0确保监听所有网络接口。若开启后其他设备仍无法连接,需检查防火墙是否放行了对应端口,并在操作系统防火墙中添加入站规则允许Clash程序通过。
防火墙放行端口的操作方法
Windows防火墙可能默认阻止局域网设备访问Clash代理端口,需要在防火墙设置中手动放行。打开”Windows Defender防火墙”→”允许应用或功能通过Windows Defender防火墙”,点击”更改设置”后找到Clash相关条目(如clash-verge.exe),勾选”专用”和”公用”复选框即可。若列表中找不到Clash条目,可点击”允许其他应用”手动添加Clash可执行文件路径。也可在PowerShell中执行New-NetFirewallRule -DisplayName "Clash Proxy" -Direction Inbound -LocalPort 7890 -Protocol TCP -Action Allow快速放行指定端口。
其他设备连接本机代理的完整流程
在同一局域网内的其他设备上配置代理时,需要知道本机的局域网IP地址和Clash的代理端口号。在作为代理主机的电脑上打开命令提示符执行ipconfig(Windows)或ifconfig(Linux/macOS),查看本机在局域网中的IPv4地址(如192.168.1.100)。在其他设备的Wi-Fi网络设置中,将代理模式设为”手动”,代理服务器填入该IP地址,端口填入7890(HTTP代理)或7891(SOCKS5代理)。保存设置后,该设备的所有网络请求将通过主机的Clash代理转发。Windows热点模式下,连接热点的设备可通过192.168.137.1:7890访问主机的代理服务。
不同平台下默认端口的差异
桌面端(Windows/macOS/Linux)的默认端口
在桌面端Clash VPN中,无论操作系统是Windows、macOS还是Linux,默认端口配置保持一致。HTTP/HTTPS代理端口固定为7890,SOCKS5代理端口为7891,这两个是最常用的代理入口。配置文件中还包含redir-port: 7892(透明代理,仅Linux/macOS)和external-controller: 9090(RESTful API管理端口)。若在客户端中开启了”混合代理”(Mixed Proxy),混合端口默认为7893,同时提供HTTP和SOCKS5两种代理能力。用户可在配置文件中自由修改所有这些端口值,以适应不同的网络环境和端口占用情况。
Linux服务器无图形界面的端口配置
在Linux服务器上通过命令行运行Clash时,端口配置与桌面端一致,默认HTTP端口7890、SOCKS5端口7891、RESTful API端口9090。由于无图形界面,所有配置需通过编辑config.yaml文件完成。配置完成后执行./clash -f config.yaml启动客户端,可通过curl -x http://127.0.0.1:7890 https://www.google.com测试代理是否正常工作。若需将Clash作为系统服务运行,可创建/etc/systemd/system/clash.service文件,通过systemctl命令管理Clash的启动、停止和开机自启。在服务器环境中,allow-lan通常保持false以确保安全,仅在需要为其他服务器提供代理转发时才开启。
移动端(Android/iOS)的端口查看方式
移动端Clash VPN客户端(如Clash Meta for Android、iOS端的ClashRS)的端口配置方式与桌面端不同,通常通过界面设置而非直接编辑配置文件。在Android客户端中,进入「设置」页面可查看当前代理端口,默认HTTP端口为7890,SOCKS5端口为7891,部分版本默认使用mixed-port混合端口。移动端的”Allow LAN”功能通常称为”允许来自局域网的连接”或”共享代理”,开启后其他设备可通过手机IP和代理端口上网。iOS端Clash客户端的操作逻辑与Android类似,在设置页面中可查看和修改端口号。移动端端口修改后同样需要重启代理服务才能生效。
端口冲突与常见问题处理
端口被占用时的排查方法
当Clash VPN启动失败或提示端口绑定错误时,很可能是因为默认的7890或7891端口已被其他程序占用。在Windows上可通过命令提示符执行netstat -ano | findstr :7890查看占用该端口的进程PID,然后打开任务管理器结束对应进程。在Linux/macOS中执行lsof -i :7890查看占用端口的进程,使用kill命令结束该进程。最简单的解决方案是在config.yaml中将port值修改为其他未被占用的端口(如7897),保存后重新加载配置即可恢复正常。
修改端口后其他应用无法连接的处理
修改Clash的代理端口后,所有原本通过该端口走代理的应用都需要同步更新代理设置中的端口号。浏览器(如Chrome)的代理插件(如SwitchyOmega)中需将HTTP代理端口从7890改为新设置的端口号。系统代理设置中同样需要更新端口号:Windows在「设置→网络和Internet→代理」中修改端口,macOS在「系统偏好设置→网络→高级→代理」中修改。终端环境变量中的http_proxy和https_proxy也需要同步更新,例如export http_proxy="http://127.0.0.1:7897"。
Docker容器部署时的端口映射配置
在Docker中部署Clash时,需要通过端口映射将容器内的代理端口暴露到宿主机。执行docker run -d --name clash -p 7890:7890 -p 7891:7891 clash-lan/clash命令将容器的7890端口映射到宿主机的7890端口,外部应用可通过宿主机IP:7890访问代理服务。若需修改映射端口,可指定-p 宿主机端口:容器端口的格式,例如-p 7897:7890将宿主机的7897端口映射到容器的7890端口。配置文件中的端口值需与容器内部监听端口保持一致,映射参数仅控制宿主机的访问端口。Docker部署时还需挂载配置文件目录:-v /host/path/config:/root/.clash确保Clash使用自定义配置。
常见问题FAQ
Clash VPN的默认代理端口是多少?
默认HTTP/HTTPS代理端口为7890,SOCKS5代理端口为7891,混合代理端口为7893(若启用),RESTful API管理端口为9090。这些端口均可在config.yaml配置文件中自由修改。修改后需重新加载配置使新端口生效,所有使用代理的应用也需同步更新端口设置。
如何让局域网其他设备使用本机的Clash代理?
需完成三个步骤:在config.yaml中将allow-lan设为true并绑定bind-address: "*";在系统防火墙中放行Clash程序或对应端口;在其他设备的网络设置中手动配置代理,填入本机的局域网IP地址和端口号(7890)。Windows热点模式下,连接热点的设备可使用192.168.137.1:7890访问代理。
端口被占用导致Clash无法启动怎么办?
执行netstat -ano | findstr :7890(Windows)或lsof -i :7890(Linux/macOS)查看占用端口的进程,结束该进程或修改Clash配置文件中的端口号为其他未占用端口。修改端口后需同步更新所有使用代理的应用中的端口设置,包括浏览器插件、系统代理和终端环境变量。
修改端口后浏览器无法上网如何解决?
检查浏览器代理插件(如SwitchyOmega)中的端口设置是否已同步更新为新端口,同时检查系统代理设置中的端口号是否与新端口一致。若使用终端环境变量,执行echo $http_proxy查看当前代理地址,确认端口号正确。修改完成后尝试访问测试代理连通性。