通过frp实现内网穿透
2019-12-22 本文已影响0人
Jabes
为什么要用内网穿透就不说了,直接记录干货:
1. 准备工作
- 家里的ubuntu 18.04服务器
- 某云的EC2主机,带有公网IP地址,操作系统为windows 2008 server
- 下载frp,地址为:https://github.com/fatedier/frp/release,为EC2主机下载windows版本,家里的ubuntu下载Linux版本
2.安装frp
- 对于EC2我需要作为server,他是windows的机器,所以解压到某目录,然后编写frps.ini如下:
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 6081 #访问客户端web服务自定义的端口号
注意:最好把注释去掉
- 启动Server:
通过CMD进入frp目录,然后运行
frps -c frps.ini
- 安装家里ubuntu的客户端
解压tar.gz到相应的目录,并如下配置:
[common]
server_addr =x.x.x.x #EC2的公网IP地址
server_port =7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 8888
custom_domains = x.x.x.x #EC2的公网IP地址,因为我没有域名就直接用IP地址代替域名了e
- 启动客户端
./frpc -c ./frpc.ini
看到客户端和服务端界面有success字样就可以
3,验证SSH登录
我在服务端通过putty,链接x.x.x.x的6000端口就可以实现SSH远程连接家里的ubuntu命令行。
4,启动jupyter
前提是安装jupyter,然后配置jupyter
参考:https://www.jianshu.com/p/2f84e9fddf91
这里因为前面的frp客户端配置了http的端口为8888,这个端口就是我的Jupyter要对外访问的端口
5. 验证HTTP访问jupyter
通过在EC2主机登录http://x.x.x.x:6081就可以实现远程访问家里的Jupyter。这里的6081是服务器配置的vhost_http_port。
5. 家里ubuntu实现自启动jupyter与frp
打开gnome-session-properties
配置jupyter自启动:
jupyter notebook --allow-root
配置frp自启动:
/home/xxx/software/frp_0.30.0_linux_amd64/frpc -c /home/xxx/software/frp_0.30.0_linux_amd64/frpc.ini