zoukankan      html  css  js  c++  java
  • 实现内网穿透

    实现内网穿透

    由于 ipv4 地址的数量不足,大部分中国地区的家庭 ip 地址均是由 ISP 转发,无法实现搭建个人服务器的目标。而如果采用 ddns 服务商如花生壳等,在价格昂贵的同时配置极为复杂且不稳定。为解决这样的问题,localtunnel 出现了。
    localtunnel 是一个基于 nodejs 的内网穿透工具。通过简单的安装可以实现将内网里的设备的某个端口暴露在公网中以提供服务

     

    npm install -g localtunnel 


    lt --port PORT_OF_YOUR_SERVICE // 创建一个请求到 localtunnel.me 来获取一个 URL 指向你的服务
    // 输出:your url is: https://RANDOM.localtunnel.me

    // Advanced
    // 使用 subdomain 参数和 local-host 参数
    lt --port PORT_OF_YOUR_SERVICE --subdomain test --local-host HOSTNAME
    // 请求将 HOSTNAME:PORT_OF_YOUR_SERVICE 暴露在 test.localtunnel.me 上

    localtunnel.me 只适用于开发测试之类的活动,不适合搭载生产环境 (使用自己搭建的localltunnel-server服务端来负载生产环境)
    localtunnel.me 服务器在国外,可能造成访问缓慢(使用自己搭建的localltunnel-server服务端来避免)。

    localtunnel-server
    负责 localtunnel 请求并建立链接

    预先要求
    一台具有公网 ip 的服务器
    服务器需要开放 1000-65535 的 tcp 端口
    一个顶级域名 (localtunnel-server master branch 不支持子域名)
    将域名 example.com 和 *.example.com 解析到你的服务器上


    安装与运行
    # pick a place where the files will live
    git clone git://github.com/defunctzombie/localtunnel-server.git
    cd localtunnel-server
    npm install

    # server set to run on port 1234
    bin/server --port 1234
    bin/server --port 80
    lt --host http://116.62.78.172:80 --port 8080

    npm config set registry http://registry.npm.taobao.org

    docker安装

    yum install -y yum-utils device-mapper-persistent-data lvm2

    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    yum makecache fast
    yum -y install docker-ce
    service docker start
    docker version

     

    docker加速

    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://19b12x6i.mirror.aliyuncs.com"]
    }
    EOF
    systemctl daemon-reload
    systemctl restart docker

    docker安装localtunne

    docker run -d 
      --restart always
      --name localtunnel
      --net host
      defunctzombie/localtunnel-server:latest --port 80

    docker pull defunctzombie/localtunnel-server:latest
    docker login --username=15088694571 registry.cn-hangzhou.aliyuncs.com
    docker tag defunctzombie/localtunnel-server registry.cn-hangzhou.aliyuncs.com/lzj123/docker:localtunnel-server

    docker push registry.cn-hangzhou.aliyuncs.com/lzj123/docker:localtunnel-server


    C:Usersl>lt --port 8080
    your url is: https://empty-emu-72.loca.lt

    https://empty-emu-72.loca.lt/blog/

    image-20201221163350629

     

    C:Usersl>lt --help
    Usage: lt --port [num] <options>

    Options:
    -p, --port           Internal HTTP server port                     [required]
    -h, --host           Upstream server providing forwarding
                                                [default: "https://localtunnel.me"]
    -s, --subdomain       Request this subdomain
    -l, --local-host     Tunnel traffic to this host instead of localhost,
                          override Host header to this host
    --local-https         Tunnel traffic to a local HTTPS server         [boolean]
    --local-cert         Path to certificate PEM file for local HTTPS server
    --local-key           Path to certificate key file for local HTTPS server
    --local-ca           Path to certificate authority file for self-signed
                          certificates
    --allow-invalid-cert Disable certificate checks for your local HTTPS server
                          (ignore cert/key/ca options)                   [boolean]
    -o, --open           Opens the tunnel URL in your browser
    --print-requests     Print basic request info                       [boolean]
    --help               Show this help and exit                       [boolean]
    --version             Show version number                           [boolean]
     
     

    由于我的服务器没有域名绑定,不知道该怎么将本地映射到我的服务器

    lt --port 8080
    猜测:应该走的是https://localtunnel.me
    而不是我的http:116.62.78.172

    Upstream server providing forwarding
    提供转发的上游服务器
    [default: "https://localtunnel.me"]

     

    菜鸟的自白
  • 相关阅读:
    forever让nodejs应用后台执行
    CentOS 程序开机自启动方法总结
    Centos7下配置Redis开机自启动
    Centos 关闭后台进程 .sh 等
    unity htc vive使用
    Linux登录验证机制、SSH Bruteforce Login学习
    Aho-Corasick算法、多模正则匹配、Snort入门学习
    The Honeynet ProjectThe Honeynet Project
    DEDECMS数据库执行原理、CMS代码层SQL注入防御思路
    PHP内核源代码、PHP Zend扩展、API Hook学习笔记
  • 原文地址:https://www.cnblogs.com/lzjloveit/p/14168728.html
Copyright © 2011-2022 走看看