本文最后更新于:2020-08-22 15:38
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
上一篇文章 利用 OpenVPN 加速饥荒服务器 讲解了如何利用 OpenVPN 加速饥荒服务器,但是还是遗留了两个问题:
连接 OpenVPN 后,如何再用 SSH 访问物理主机
无法通过 IP 直连进入我们的饥荒服务器
frp 可以帮我们解决这两个问题
下载 frp 分别在物理主机和云服务器上下载 frp,代码如下
1 2 3 4 cd ~ wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm64.tar.gz tar xzf frp_0.33.0_linux_arm64.tar.gzmv frp_0.33.0_linux_arm64 frp
修改云服务器上的配置文件
删除里面的内容,修改为下面的内容
1 2 3 4 5 6 7 8 9 10 [common] bind_port = 3380 bind_udp_port = 3381 vhost_http_port = 3382 vhost_https_port = 3383 dashboard_port = 3333 dashboard_user = admindashboard_pwd = adminprivilege_token = 123456789
运行云服务器上的 frp 1 2 3 screen -S frpcd ~/frp ./frps -c ./frps.ini
然后按 Ctrl
+ A
,再按 D
退出 screen 即可
修改云服务器上的配置文件
删除里面的内容,修改为下面的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [common] server_addr = 1.1 .1.1 server_port = 3380 privilege_token = 123456789 login_fail_exit = false [ssh] type = tcplocal_ip = 127.0 .0.1 local_port = 22 remote_port = 4022 [dst1] type = udplocal_ip = 127.0 .0.1 local_port = 10999 remote_port = 10999 [dst2] type = udplocal_ip = 127.0 .0.1 local_port = 10998 remote_port = 10998
如果是多层世界的话,根据具体情况酌情添加配置
运行物理主机上的 frp 1 2 3 screen -S frpcd ~/frp ./frpc -c ./frpc.ini
然后按 Ctrl
+ A
,再按 D
退出 screen 即可
用 SSH 连接你的物理主机
注意,这里 IP 是云服务器的 IP,即通过云服务器的 IP 连接物理主机。因为上面我们将物理主机的 22 端口转发的云服务器上的 4022 端口了。
查看 frp 状态 浏览器打开 1.1.1.1:3333
即可参看 frp 状态
将 1.1.1.1
改为云服务器的公网 IP 即可
参考文献 fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.