利用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
下面是安装的具体步骤:
下载源码到GO语言的编译环境:
git clone https://github.com/fatedier/frp.git $GOPATH/src/github.com/fatedier/frp
进入目录后make一下
cd conf
这里需要修改配置文件,内网主机修改
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.ini
或nohup ./frps -c ./frps.ini &
放在后台运行
外网机运行:./frps -c ./frps.ini
6. 连接时在外网机运行如下命令:ssh -oPort=6000 xxx@127.0.0.1
xxx是用户名。
P.S. 运行时需要关闭防火墙。
之后就可以愉快的以公网机为跳板连接内网机然后为所欲为了。。
当然这只是针对不需要图形界面的同学而言,如果要连接到图像界面啥的话还是装个teamviewer啥的来的实在