内网穿透系列十二:一款基于 HTTP 传输和 SSH 加密保护的内网穿透工具 Chisel ,具备抗干扰、稳定、安全特性

一、简介

  • Chisel 是一个易于使用、高效、稳定、安全的内网穿透工具
  • 可以穿透转发 TCP/UDP 协议相关的服务,通过 HTTP 传输,并通过 SSH 进行数据加密保护
  • 单一可执行程序,支持多种操作系统快速安装,也提供Docker镜像
  • 开源地址参考:https://github.com/jpillora/chisel
  • C/S架构,需要公网服务器,工作原理与相关架构可参考下图

二、安装

1. Linux、Mac等环境可以使用命令行快速安装

curl https://i.jpillora.com/chisel! | bash

2. window环境可以直接下载可执行程序,下载地址:https://github.com/jpillora/chisel/releases

3. 使用Docker安装(推荐)

  • 服务端和客户端都需要提前安装好Docker、docker-compose环境

  • 服务端启动,可新建docker-compose.yml配置文件,内容如下

    services:
      chisel:
        image: jpillora/chisel
        #network_mode: host
        #服务端运行模式,指定服务端口12345
        command: server --port 12345 --reverse --auth admin:123456
        ports:
          - "12345:12345" #暴露服务端口
          - "9000:9000" #暴露可以转发到内网服务的端口
          - "3306:3306" #暴露服务端口

    在服务器运行服务启动命令

    docker-compose up -d

  • 客户端启动,在客户端的机器上新建docker-compose.yml配置文件,内容如下

    services:
      chisel:
        image: jpillora/chisel
        # 指定授权和服务端ip与端口,设置服务端9000、3306端口转发到本机的portainer、mysql服务
        command: |
            client
            --auth admin:123456
            公网服务ip:12345
            R:9000:172.17.0.1:9000
            R:3306:172.17.0.1:3306

    同样在客户端主机上运行服务启动命令

    docker-compose up -d

三、使用示例

  • 上面Docker示例启动成功之后,可以通过公网服务器间接访问到内网服务

  • 访问内网中的portainer容器管理服务,如下:

  • 访问内网中的 mysql 服务,如下:

四、总结

  • chisel 是一个安装、配置、使用都简单方便的内网穿透工具,便于一键安装使用
  • 除了简单的内网穿透功能(反向端口转发),还可以让 Chisel 作为一个 SOCKS5 代理(类似正向代理),更多玩法自行探索
  • 特点就是基于http(s)的长连接的Websocket传输隧道,让流量看起来就像正常的网站流量,加上ssh数据加密,实现稳定安全抗干扰审查的内网穿透服务
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容