美文网首页
内网穿透frp

内网穿透frp

作者: 某言 | 来源:发表于2018-08-15 20:03 被阅读0次

    内网穿透,不是很好理解。先来看看外网的情况:内网,局域网,通过NAT,能够访问到互联网上的服务。内网穿透,和其相反:

    内网穿透:通过互联网,反过来,访问内网的资源,访问外网的某个域名,能够代理到内网的某个资源。

    这里可以使用一个很不错的工具,叫做frp点此处下载),可实现内网穿透,我使用过后,感觉它的思路是:

    外网服务器一个tcp/udp服务运行,当我要准备穿透的时候,就本地启动一个tcp/udp的客户端,链接服务器的服务,两个之间就建立的通信,接下来的事情,通信既然已经建立了,那么,解析外网输入的网址的网站的内容,就是源源不断的,将外网想要访问的内容在内网得到之后,传输给外网展示

    由此思路,可以知道,实现这个需要:

    1. 一台外网linux服务器A,假设ip:119.23.28.222,假设域名:test.com,linux版本的frp
    2. 本地是windows,假设局域网ip:192.168.1.1,windows版本的frp,本地127.0.0.1:80运行有web服务

    在各个版本的frp中,都有client、server情景的,如图:


    linux64版本的frp目录
    window64版本的frp目录

    其中,c结尾的,是client端配置和应用,s结尾的,是server端的配置和应用,但是命令都一样,需要哪个端就去配置就行了,上传linux的frp到linux某目录下并解压(假设我在当前目录操作),下载windows的frp并且解压(假设在当前目录下)下面有个最简单的示例:

    #外网的配置,编辑frps.ini
    [common]
    # 服务器和客户端通信的接口
    bind_port = 7000
    # 向外暴露的端口,用户在服务器输入链接的端口
    vhost_http_port = 6081
    

    此时运行(先授权) ./frps -c frps.ini

    #本地局域网配置,编辑frpc.ini
    [common]
    # 服务器ip
    server_addr = 119.23.28.222
    # 服务器和客户端通信的接口
    server_port = 7000
    
    [ssh]
    # 通信类型
    type = tcp
    # 本地局域网ip
    local_ip = 192.168.1.1
    # 本地ssh的端口
    local_port = 22
    # server接受ssh的端口
    remote_port = 6000
    
    [web]
    type = http
    # 将server的请求映射到的端口
    local_port = 80
    # server的额域名
    custom_domains = test.com
    

    此时运行(先授权) ./frpc -c frpc.ini
    如果链接成功的话,那么,只要访问
    test.com:6081,那么,本地的80端口的网站就会展示。


    当然,这个是在web上的应用,在网络通信方面我相信也可以的,在研究补充喽。

    相关文章

      网友评论

          本文标题:内网穿透frp

          本文链接:https://www.haomeiwen.com/subject/lvvwbftx.html