用一台阿里云服务器实现frp内网穿透

前言

这段时间实验室的一台内网主机上的代码需要经常进行调试,工作日还好,能直接在机器上改代码,一到周末在家的我,发现主机的程序发生异常就束手无策了,用VPN又觉得太麻烦了,突然想起利用frp的反向代理能来帮我实现内网穿透,只要有一个外网主机,在家也能实现对内网主机的操作啦。


提示:以下是本篇文章正文内容,下面案例可供参考

一、环境介绍

  1. 一台拥有公网IP的主机(小R买了一台阿里云的服务器,操作系统为ubuntu20.04。IP:139.196.xx.xx/)
  2. 一台内网的主机(操作系统:ubuntu18.04,IP:192.168.3.8,必需能连通外网)

二、安装frp并对服务器和客户端进行配置

1.安装并解压frp

$ wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
$ tar -xzvf frp_0.21.0_linux_amd64.tar.gz

2.服务器配置

服务器端为阿里云的这台服务器
进入解压后的frp目录下,修改frps.ini配置文件

[common]
#与客户端进行通信的端口
bind_port = 7070

#http端口
vhost_http_port = 8080

#https端口
vhost_https_port = 443

#管理后台使用的端口及用户信息(后台可查看各端口使用信息,配置可选)
dashboard_port = 7500
dashboard_user = rdrug
dashboard_pwd = rdrug

#token
token = 

token的值自己设置,而且要记住,用于客户端和服务端直接的身份认证。

3.客户端配置

内网的主机打开,'frpc.ini’配置文件,进行配置修改。

[common]
#公网的frp服务器IP
server_addr = 139.196.xx.xx
#服务器的连接端口号
server_port = 7070
#token用于身份验证(必填)
token = 

[ssh]
#ssh连接使用的协议
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

4.运行frp

  1. 服务器端在frp目录下执行命令:./frps -c ./frps.ini
    或者nohup ./frps -c ./frps.ini &后台执行。

  2. 客户端在frp目录下执行命令:./frpc -c ./frpc.ini
    或者nohup ./frpc -c ./frpc.ini &后台执行。

5.端口是否被限制

正确配置且满足网络条件的前提下,运行frp后会显示蓝色字体的信息,如果出现黄色或者红色的信息,(后台运行可以打开目录下‘nohup.out’查看运行信息),说明配置或连接出现了错误。
用一台阿里云服务器实现frp内网穿透_第1张图片

注意:阿里云服务器入方向默认只开放了2个常用端口(3389,22),需要自己到对应服务器管理的“安全组规则”中手动添加允许进入的端口,才能确保正常连接。
用一台阿里云服务器实现frp内网穿透_第2张图片

6.建立连接

现在用ssh连接frp服务器上的6000端口就实现了对客户端上22端口的反向代理,即实现内网穿透。
用一台阿里云服务器实现frp内网穿透_第3张图片

总结

  • 连接失败时,要注意配置是否正确,特定端口号是否被允许放行。
  • 更多的配置方法可以自行查找配置文档或者查看目录下frps_full.inifrpc_full.ini来进行参考。

你可能感兴趣的:(内网安全,网络,阿里云,proxy,ubuntu)