You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SSH透明绕过代理访问特定域?简化现有访问配置

嘿,我太懂你这种维护一堆静态SSH隧道的痛苦了——每条服务都要手动映射不同本地端口,书签和开发配置还得跟着改,简直是重复劳动。针对你想要透明绕过企业代理、直接访问特定隔离域服务的需求,这里有几个更省心的方案,比折腾动态SOCKS代理或者手动维护隧道高效多了:

方案一:用sshuttle实现完全透明的域名/网段转发

这是我最推荐的方案,sshuttle是一款基于SSH的透明代理工具,能让指定域名或网段的流量自动通过SSH跳板传输,完全不用手动配置端口,也不用改任何应用设置。

操作步骤:

  1. 先安装sshuttle:
    • Linux发行版:sudo apt install sshuttle(Debian/Ubuntu系)或yum install sshuttle(RHEL/CentOS系)
    • macOS:用Homebrew安装brew install sshuttle
  2. 根据你的需求运行命令:
    如果是针对特定域名:
    sshuttle -r secretServer1 --dns super01.secret.host super02.secret.host super03.secret.host
    
    如果这些域名属于同一个内部网段,直接指定网段更方便:
    sshuttle -r secretServer1 --dns 192.168.100.0/24 # 替换成隔离网络的实际网段
    
  3. 命令运行后,你的本地系统会自动把这些域名/网段的流量通过secretServer1(或对应跳板)转发,不管是浏览器书签还是本地开发程序,直接用原域名+端口访问就行,比如super01.secret.host:3419,完全不用改localhost端口!

核心优势:

  • 完全透明,零应用配置修改
  • 自动处理DNS解析,避免企业大代理干扰
  • 支持域名、网段混合匹配,灵活度拉满

方案二:SSH动态转发+系统代理例外(无需额外工具)

如果公司环境不允许装第三方工具,这个方案也能解决问题——用SSH动态转发创建SOCKS代理,再让系统只把隔离域的流量导向这个SOCKS代理,其他流量继续走企业大代理。

操作步骤:

  1. 启动SSH动态转发:
    ssh -D 1080 secretServer1
    
    这条命令会在本地创建一个SOCKS 5代理,端口是1080。
  2. 配置系统代理例外:
    • Linux:可以用proxychains-ng,在/etc/proxychains.conf里添加localnet super*.secret.host,之后运行程序时用proxychains your-app;或者在GNOME/KDE的系统代理设置里,把SOCKS代理设为localhost:1080,并在“例外”列表添加*.secret.host。
    • macOS/Windows:在系统代理设置中,将SOCKS代理地址设为localhost:1080,然后在“不使用代理的地址”列表里添加*.secret.host。
  3. 完成后,访问super*.secret.host的流量会自动走SSH隧道,其他流量正常走企业代理,书签和开发配置直接用原域名即可。

方案三:autossh+本地Host映射(适合长期稳定隧道)

如果需要隧道长期保持在线,避免SSH断开后手动重启,可以用autossh配合本地Host映射来简化:

操作步骤:

  1. 安装autossh(大部分系统包管理器都能找到)
  2. 写一个批量启动隧道的脚本start-tunnels.sh:
    #!/bin/bash
    # 用autossh自动重启隧道,-M 0表示不监听监控端口
    autossh -M 0 -f -L 30001:super01.secret.host:3419 secretServer1
    autossh -M 0 -f -L 30002:super01.secret.host:8080 secretServer1
    autossh -M 0 -f -L 30011:super02.secret.host:8080 secretServer1
    autossh -M 0 -f -L 30021:super03.secret.host:4000 secretServer2
    
  3. 给脚本加执行权限:chmod +x start-tunnels.sh,运行一次就能让隧道后台保持,断开后自动重启。
  4. 编辑本地/etc/hosts(Linux/macOS)或C:\Windows\System32\drivers\etc\hosts(Windows),添加:
    127.0.0.1 super01.secret.host
    127.0.0.1 super02.secret.host
    127.0.0.1 super03.secret.host
    
    这样书签可以直接用super01.secret.host:30001,不用记localhost的端口号,更直观。

内容的提问来源于stack exchange,提问作者Uko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:17:05