利用frp做内网穿透

来源:互联网 发布:指南针2017软件骗局 编辑:程序博客网 时间:2024/04/30 11:25

利用frp做内网穿透

在学校做实验遇到了一些问题,校内网的远程主机只能在学校的机房里连接上,但是平时抢不到机房,而大作业马上要验收了肿么办,,,这里给大家推荐一个方式来做内网穿透,需要准备的只有一个静态的公网IP(可能还需要服务器)。
外网机器:centos 7,公网ip x.x.x.x
内网机器:centos 7,具体ip不重要

0x01安装前环境搭建

frp是一款开源软件,使用GO语言编写的,所以要装GO语言的编译环境,已经安装过的可以直接跳过0x01。
首先去下载GO语言的环境包:
wget https://studygolang.com/dl/golang/go1.8.5.linux-amd64.tar.gz

然后解压缩:tar -C /usr/local/ -zxvf go1.8.5.linux-amd64.tar.gz

之后添加环境变量:vim /etc/profile.d/go.sh

添加如下内容:export PATH=$PATH:/usr/local/go/bin

使之生效:source /etc/profile.d/go.sh

现在距离编译GO语言包还差一个编译的环境目录,我们需要创建一个GOPATH来在这个路径下编译GO语言

所以先创建一个文件夹:mkdir -p ~/dev/go

之后添加环境变量:vim /etc/profile.d/gopath.sh

写入:export GOPATH=/root/dev/go

使之生效:source /etc/profile.d/gopath.sh

可以查看下新添加的环境变量:echo $GOPATH

0x02安装使用frp

frp各种系统都支持,到时候无非是改在命令,其他是一样的。这里介绍下centos系统的安装方法。

https://github.com/fatedier/frp 这里是源码,其实frp有中文的安装和使用文档,以后扩展更多功能可以参考文档,这里也是无脑粘的文档的内容。
安装文档: https://github.com/fatedier/frp/blob/master/doc/quick_start_zh.md
使用文档:https://github.com/fatedier/frp/blob/master/README_zh.md

下面是安装的具体步骤:

  1. 下载源码到GO语言的编译环境:
    git clone https://github.com/fatedier/frp.git $GOPATH/src/github.com/fatedier/frp

  2. 进入目录后make一下

  3. cd conf

  4. 这里需要修改配置文件,内网主机修改frpc.ini,外网主机修
    frps.ini
    这里只是做ssh,所以外网端不需要修改,内网端做如下修改:

    # frpc.ini    [common]    server_addr = x.x.x.x    server_port = 7000    [ssh]    type = tcp    local_ip = 127.0.0.1    local_port = 22    remote_port = 6000

x.x.x.x部分填写公网ip
之后复制这两个文件到bin目录:cp frps.ini ../bin/ 另一个同上
5. 内网机运行:./frpc -c ./frpc.ininohup ./frps -c ./frps.ini & 放在后台运行
外网机运行:./frps -c ./frps.ini
6. 连接时在外网机运行如下命令:ssh -oPort=6000 xxx@127.0.0.1 xxx是用户名。
P.S. 运行时需要关闭防火墙。
之后就可以愉快的以公网机为跳板连接内网机然后为所欲为了。。
当然这只是针对不需要图形界面的同学而言,如果要连接到图像界面啥的话还是装个teamviewer啥的来的实在