Welcome to Univista — we're glad you're here. If anything's unclear, open Help or reach us via support on this site and we'll help you get connected.

How to Install and Use a VPN/VLESS Client on Linux in Iran — an Honest Explanation (Linux Is the Lea — Univista

النص الكامل لهذه الصفحة بالصينية؛ العنوان والوصف مُعرّبان للبحث بالعربية.

示意图:在伊朗的 Linux 上装 VPN/VLESS——好消息是 Linux 最不受商店限制,不锁 App Store,二进制/AppImage/.deb 直接从官方 GitHub 拿来跑、绕开下架;但跟 Windows/Mac 最大的不同是 Linux 更偏命令行/手动:最通用是跑 sing-box 或 xray-core 命令行、自己改 JSON 配置,想要图形界面用 nekoray(Qt)、v2rayA(网页界面守护进程) 或 Hiddify/mihomo 的 Linux 版;整机 TUN 接管需 root/CAP_NET_ADMIN,否则按应用走 SOCKS(proxychains/环境变量);想长期常驻就写 systemd 服务;伊朗最关键一步=分流:本地内网/Shaparak 银行/政务站必须直连;真正的战场仍是协议——伊朗 DPI 节流,Linux 上同样必须用配置得当的 VLESS+Reality,且无保证。
示意图:在伊朗的 Linux 上装 VPN/VLESS——好消息是 Linux 最不受商店限制,不锁 App Store,二进制/AppImage/.deb 直接从官方 GitHub 拿来跑、绕开下架;但跟 Windows/Mac 最大的不同是 Linux 更偏命令行/手动:最通用是跑 sing-box 或 xray-core 命令行、自己改 JSON 配置,想要图形界面用 nekoray(Qt)、v2rayA(网页界面守护进程) 或 Hiddify/mihomo 的 Linux 版;整机 TUN 接管需 root/CAP_NET_ADMIN,否则按应用走 SOCKS(proxychains/环境变量);想长期常驻就写 systemd 服务;伊朗最关键一步=分流:本地内网/Shaparak 银行/政务站必须直连;真正的战场仍是协议——伊朗 DPI 节流,Linux 上同样必须用配置得当的 VLESS+Reality,且无保证。

先说结论:Linux 不受商店限制,但客户端更偏命令行

在伊朗用 Linux 出网有个天然优势:它是最不受应用商店限制的一端——没有 App Store 那种锁,你直接从官方 GitHub 拿二进制、AppImage 或 .deb/.rpm 运行,所以「美国制裁施压把 VPN App 从伊朗区商店下架」这道坎在 Linux 上根本不存在。代价是:Linux 客户端更偏命令行/手动——没有 Windows/Mac 那种一键图形界面。两条最通用的路子:① 跑 sing-box 或 xray-core 的命令行、自己改一份 JSON 配置② 用图形/网页封装(nekoray、v2rayA、Hiddify 或 mihomo 系的 Linux 版)。下面讲清楚:选客户端、TUN vs 按应用代理的取舍、systemd 常驻,以及伊朗特有的分流

Linux 上有哪些客户端:sing-box / xray 命令行,或 v2rayA / nekoray

在 Linux 上落地 VLESS+Reality 的主要方式:① sing-box(命令行)——一个二进制、一份 JSON 配置,功能最全、最适合做常驻服务,服务器/进阶用户首选;② xray-core(命令行)——同样是命令行+JSON,VLESS+Reality 的参考实现;③ v2rayA——带网页界面的守护进程,伊朗和各地 Linux 桌面用户常用,导入订阅、在浏览器里选节点,底层跑 xray/sing-box;④ nekoray/nekobox——Qt 图形客户端,跨平台、有 Linux 版;⑤ Hiddify 和 clash 系(mihomo / clash-verge-rev 的 AppImage)也有 Linux 版。想省事就用 v2rayA/nekoray;想要最稳的常驻就直接用 sing-box 命令行。它们用的是和你手机/Windows 客户端同一份订阅

关键取舍:整机 TUN(需要 root)还是按应用 SOCKS 代理

在 Linux 上把流量送进隧道有两个层级,务必分清:① 整机 TUN 接管——sing-box 自带 tun 入站(或用 tun2socks),建一个虚拟网卡把整机流量都接管,最接近 Windows/Mac 的「全局模式」;但它需要 root 或 CAP_NET_ADMIN 才能建网卡、改路由。② 按应用 SOCKS 代理——客户端只开一个本地 SOCKS/HTTP 端口,你把浏览器、或用 proxychains / 环境变量(http_proxy/https_proxy)指向某个程序;坑在于不是每个程序都认代理(尤其命令行工具和走 UDP 的程序),漏出去的流量照样直连。想「整机稳」就用 TUN;只想让浏览器/特定程序走隧道,SOCKS 代理更轻。
Recommended
Want stable, fast access past the block?
  • Works with many global sites (subject to routing & target policies).
  • Clients for iOS, Android, Windows and macOS.
  • Plans & pricing on the plans page; refunds: see الاسترداد.

想长期常驻 / 开机自启:写一个 systemd 服务

如果你想让它开机自启、断线自动重连、在没有图形界面的服务器上常驻(比如家里一台小机器、或一台 VPS 给整个局域网当网关),最稳的做法是把 sing-box/xray 做成 systemd 服务:写一个 .service 单元指向二进制和配置,systemctl enable --now 让它常驻,journalctl 看日志。很多发行版的官方包已经自带服务文件。注意 TUN 模式下服务需要相应权限(以 root 运行,或给二进制授予 CAP_NET_ADMIN),并且一定要配好分流规则——这是伊朗最关键的一步。

伊朗特有的一步:一定要分流(本地内网/银行/政务直连)

这是伊朗比别处更该重视的一点:把伊朗本地站(داخلی / 国家内网 NIN)、Shaparak 银行网关、政务网站设为直连,只让被封/被限速的境外站走隧道。原因有三:本地内网更快更便宜、常常不计入国际流量额度;很多伊朗银行和政务网站直接拒绝境外 IP,全塞进隧道反而登不上网银、办不了事;分流还能省下路由器/机器的 CPU。sing-box/xray 的路由规则、或 v2rayA 里的分流设置都能按域名/地区区分——在 Linux 上用命令行配这套规则反而最灵活。

配置步骤:装客户端 → 导入订阅 → 选 TUN 或 SOCKS → 配分流 → 验证

  1. 装客户端:进阶/服务器用 sing-box 或 xray-core(从官方 GitHub 拿二进制,或用发行版包管理器);想要界面用 v2rayA(装守护进程 + 开浏览器)或 nekoray(下 AppImage)。
  2. 导入你的 VLESS+Reality 订阅:命令行就把节点写进 JSON 配置;v2rayA/nekoray 里直接粘订阅链接、选节点(和手机/Windows 同一份订阅)。
  3. 选接管方式:要整机就开 TUN(sing-box 的 tun 入站或 tun2socks,需 root/CAP_NET_ADMIN);只要浏览器/特定程序就用本地 SOCKS 端口 + proxychains/浏览器代理设置。
  4. 配伊朗分流:把伊朗本地站、داخلی/NIN 国家内网、Shaparak 银行、政务网站设直连,只让被封/被限速的境外站走隧道。
  5. 想常驻就写 systemd 服务:一个 .service 单元 + systemctl enable --now,日志用 journalctl。
  6. 验证:开一个被封的境外站确认能上;确认本地网银/政务仍走直连;命令行下用 curl --interface 或 journalctl 排查。

诚实的边界与清单

总结:Linux 的优势是不受商店下架影响——直接从官方来源跑客户端,甚至能做成 systemd 服务常驻在服务器上;代价是更偏命令行/手动、整机 TUN 需要 root、按应用代理并非每个程序都认。想省事用 v2rayA/nekoray 图形界面;想要最稳的常驻用 sing-box 命令行 + systemd。而在伊朗,别忘了最关键的一步是分流:本地内网/银行/政务直连、只让境外走隧道。能不能连上,最终还是看协议之战:用配置得当的 VLESS+Reality,桌面上的做法可参考 Windows 那篇。

أسئلة شائعة

在伊朗的 Linux 上装 VPN/VLESS,一定要会命令行吗?
不一定,但命令行是最通用的路子。不想碰命令行就用带图形/网页界面的客户端:v2rayA(守护进程,在浏览器里操作,伊朗和各地 Linux 桌面常用)、nekoray/nekobox(Qt 图形客户端,下个 AppImage 就行),或 Hiddify、clash 系(mihomo / clash-verge-rev)的 Linux 版——导入订阅、在界面里选节点即可。如果你是服务器/进阶用户,直接跑 sing-box 或 xray-core 命令行、改一份 JSON 配置反而最稳、最适合做常驻服务。两条路用的是同一份 VLESS+Reality 订阅。
在伊朗,为什么一定要做「分流」?
因为伊朗的本地网络和境外访问必须分开走。要把伊朗本地站(داخلی / 国家内网 NIN)、Shaparak 银行网关、政务网站设为直连,只让被封或被限速的境外站走隧道。三个原因:一是本地内网更快更便宜、常常不计入国际流量额度;二是很多伊朗银行和政务网站直接拒绝境外 IP,如果把它们也塞进隧道,反而登不上网银、办不了政务;三是分流能省下机器/路由器的 CPU。sing-box/xray 的路由规则或 v2rayA 的分流设置都能按域名/地区区分,在 Linux 上用命令行配这套规则反而最灵活。
怎么让 Linux 上的 VPN「整机」都走,而不只是浏览器?
用 TUN 模式。sing-box 自带 tun 入站(或用 tun2socks),建一个虚拟网卡把整机流量都接管,最接近 Windows/Mac 的全局模式。代价是它需要 root 或 CAP_NET_ADMIN 才能建网卡、改路由表。如果你只开了本地 SOCKS/HTTP 代理端口,那就只有你明确指过去的程序(设了代理的浏览器、或用 proxychains 启动的程序)走隧道,其余都直连;而且不是每个程序都认 SOCKS 代理(很多命令行工具和走 UDP 的程序会漏)。想整机稳就用 TUN;只想让浏览器走就用 SOCKS 代理更轻。别忘了配好分流,让本地流量直连。
在 Linux 上用 VLESS 就一定不会被封吗?
没有这种保证。伊朗的封锁在协议层:DPI(深度包检测)会探测并节流/切断可疑的加密流量,VLESS 也在其列。VLESS+Reality 更耐打,是因为它把流量伪装成访问真实大站的普通 HTTPS、几乎没有独特指纹——但耐打靠的是 Reality 的伪装配置,而不是协议名字;配置不当的 VLESS 照样被切,没有保证。而且遇到全国断网、或只保留本地内网(NIN)的时期,任何境外通道都会一起连不上,不管你用的是 Linux 还是别的系统。换系统并不改变协议之战。

Want stable, fast access past the block?

Get stable, fast access on iOS, Android, Windows and macOS — multi-node VLESS + Reality. Start free.

Start free

أدلة ذات صلة

Already subscribed? Help for import & troubleshooting.

Ready for reliable international access?

View plans

This article is for technical education only. Comply with local laws when using network tools. Univista is not liable for how you use the service.