四步实现内网穿透

作者: 思考问题的熊 | 来源:发表于2018-01-11 21:13 被阅读4838次

    想要做数据分析,一个配置说的过去的服务器必不可少,在自己的笔记本跑数据总有一些说不出的痛。如果能把实验室配备的高性能服务器搬回宿舍,就可以在宿舍里愉快地工作了。

    达成这一愿望一共只需要四步:

    • 下班后趁机潜入机房
    • 拔掉服务器电源,对服务器进行简单拆解
    • 低调地将服务器各零件搬回宿舍
    • 在宿舍对服务器进行组装并调试

    以上步骤实施过程中,如果出现意外概不负责!

    如果对于上述方法不满意,那按照下面四步进行操作是完全可以成功且几乎没有风险的。

    本文将讲解如何通过四步实现内网穿透,解决实验室等内网服务器在宿舍等外网无法连接使用的难题。

    假设你已经有一个具有公网IP的服务器(比如谷歌云、亚马逊或者阿里云等云服务器),并且实验室配有高性能内网IP服务器。

    第一步

    通过链接:https://github.com/fatedier/frp/releases/download/v0.14.1/frp_0.14.1_linux_amd64.tar.gz 下载 frp 安装包。

    将下载好的安装包frp_0.14.1_linux_amd64.tar.gz 分别保存到你的公网IP服务器和内网服务器,并分别解压缩。

    tar zxvf ./frp_0.14.1_linux_amd64.tar.gz
    cd frp_0.14.1_linux_amd64/
    
    # 目录内容如下
    # frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE
    

    第二步

    公网IP服务器 中修改目录中的frps.ini配置文件, 将bind_port改为自己喜欢的可用端口

    [common]
    bind_port = 7000
    

    内网IP服务器 中修改frpc.ini配置文件,server_port 改为和上一步bind_port 相同的端口,remote_port设置为内网可用的一个端口,server_addr 改为你的公网可用服务器IP地址。

    
    [common]
    server_addr = 123.123.123.123
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
    

    第三步

    分别启动公网服务器和内网服务器对应服务。

    首先在公网服务器中启动frps

    cd frp_0.14.1_linux_amd64/
    ./frps -c ./frps.ini
    
    # 链接成功会出现如下内容
    #2017/12/21 20:23:25 [I] [service.go:88] frps tcp listen on 0.0.0.0:7000
    #2017/12/21 20:23:25 [I] [main.go:112] Start frps success
    #2017/12/21 20:23:25 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues
    
    # 以上命令用于测试,在实际使用中可使用如下命令在后台运行
    nohup ./frps -c ./frps.ini > /dev/null 2>&1 &
    
    

    公网服务器启动成功后,在内网服务器中启动frpc

    cd frp_0.14.1_linux_amd64/
    ./frpc -c ./frpc.ini
    
    # 链接成功会出现如下内容
    # 2017/12/21 20:18:13 [I] [control.go:277] [fabbf33cfb85d5bd] login to server success, get run id [fabbf33cfb85d5bd], server udp port [0]
    # 2017/12/21 20:18:13 [I] [control.go:412] [fabbf33cfb85d5bd] [ssh] start proxy success
    
    # 以上命令用于测试,在实际使用中请使用如下命令在后台运行
    nohup ./frpc -c ./frpc.ini > /dev/null 2>&1 &
    

    第四步

    在Linux中或者 Windows 内置 linux 子系统中直接通过SSH 访问内网服务器。其中 username 是内网服务器用户名,后面的IP地址则是公网服务器的IP地址。

    ssh -oPort=6000 username@123.123.123.123
    

    更加方便的是配置自己电脑中的Xshell 或类似软件,以Xshell 为例

    首先点击新建会话,主机 为自己的公网IP地址,端口号 为第二步中的内网remote_port端口号。

    image.png

    然后点击登陆,此时的登陆名为内网服务器用户名,登陆密码为内网服务器登陆密码,然后保存该会话,以后就可以在宿舍等外网环境下 一键登录 实验室的高性能内网服务器。

    在配置的过程中,如果出现无法连接等问题,可以查看log文件,更加详细的介绍和其它丰富功能可以参考frp 官网 https://github.com/fatedier/frp

    从此以后再也没有理由不在宿舍工作了!

    相关文章

      网友评论

      • blues_key:内网穿透工具关键是好用,配置简单,这点frp做的不错。发现一个新穿透工具,测试版,试用了一下,还不错。https://github.com/lazy-luo/smarGate
      • aaf3d611867f:有个问题。假设说我做了个下载站,外面访问下载走的流量还是计算在公网IP的服务器上吗
        aaf3d611867f:@思考问题的熊 刚看到,原来还是国产货,好意外
        思考问题的熊:@前路难走有你还有狗 这是官方这对这一问题的一些讨论 https://github.com/fatedier/frp/issues/110

      本文标题:四步实现内网穿透

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