美文网首页linux
frp实现内网穿透

frp实现内网穿透

作者: theache | 来源:发表于2018-11-26 00:06 被阅读0次

    因为有在外面访问家里 NAS 的需求,群晖自带的动态域名解析访问又太慢。所以需要用内网穿透技术来实现通过其他公网 IP 来访问家里的 NAS 设备的需求。

    frp的github地址 点击这里
    frp的下载地址 点击这里

    1 客户端部署

    ##下载对应版本的Frp
    wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
    ##解压
    tar -xzvf frp_0.21.0_linux_amd64.tar.gz
    ##进入目录
    cd frp_0.21.0_linux_amd64
    ##删除服务端相关的文件
    rm -rf frps*
    

    编辑客户端的配置文件frpc.ini

    [common]
    server_addr = x.x.x.x   //服务端的IP地址
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
    [nas]
    type = http
    local_ip = 192.168.0.100   //nas的局域网ip
    local_port = 5000
    custom_domains = nas.example.com
    

    运行客户端frp

    nohup ./frpc -c ./frpc.ini > info.log 2>&1 & echo $! > tpid
    

    2 服务端部署

    ##下载对应版本的Frp
    wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
    ##解压
    tar -xzvf frp_0.21.0_linux_amd64.tar.gz
    ##进入目录
    cd frp_0.21.0_linux_amd64
    ##删除服务端相关的文件
    rm -rf frpc*
    

    编辑服务端配置文件frps.ini

    [common]
    dashboard_port = 7500      //Dashboard端口
    dashboard_user = admin    //账号
    dashboard_pwd = admin    //密码
    bind_port = 7000
    vhost_http_port = 8080
    server_addr = x.x.x.x          //服务器id
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    

    运行服务端frp

    nohup ./frps -c ./frps.ini > info.log 2>&1 & echo $! > tpid
    

    3 查看效果&&隐藏端口号

    访问http://nas.example.com:8080

    端口号访问

    这时候我们使用网址访问的时候是会带端口号的。看着很烦。这里使用nginx转发的方式可以去掉8080。nginx添加conf如下:

    server
    {
            listen 80;
            server_name nas.example.com ;
            location / {
                    proxy_redirect off;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_pass http://127.0.0.1:8080;
            }
    }
    
    不带端口号访问

    成功!!!

    相关文章

      网友评论

        本文标题:frp实现内网穿透

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