阿里云服务器实现内网穿透(frp方式)

注意

笔者的云服务器和内网服务器安装的均为Ubuntu18.04系统,以下步骤命令也基于此系统所写。

下载和安装frp

用户可以通过 frp 的github源选择合适的版本下载这里我们选择的是v0.34.0版本(可以根据需要自由选择),然后上传至云服务器和内网服务器,也可以在两个机器输入如下命令直接下载:

wget https://github.com/fatedier/frp/releases/tag/v0.34.0/frp_0.34.0_linux_amd64.tar.gz

下载完毕,可以将下载好的压缩文件移动到自己选定的安装目录,笔者选择的是/usr/local/frp文件夹,命令为:

mv frp_0.34.0_linux_amd64.tar.gz -t /usr/local/frp/

然后使用cd命令进入/usr/local/frp文件夹下将压缩包解压,命令为:

cd /usr/local/frp
tar -xzvf frp_0.34.0_linux_amd64.tar.gz

以上操作在云服务器和内网服务器通用,读者注意:从以下步骤开始,命令有所不同。

配置frp文件

进入解压后的文件夹:

cd /frp_0.34.0_linux_amd64

其中frps开头的文件均为服务器端配置文件,frpc开头的均为客户端配置文件。我们需要在阿里云服务器上将frpc相关文件全部删除,在内网服务器上将frps文件全部删除,具体命令为:

(阿里云服务器端命令)

sudo rm -f frpc.ini
sudo rm -f frpc_full.ini
sudo rm -f frpc

(内网服务器端命令)

sudo rm -f frps.ini
sudo rm -f frps_full.ini
sudo rm -f frps

下一步是修改配置文件,我们首先查看云服务器的配置文件:

vim frps.ini

云服务器端配置内容为:

[common]
bind_port = 7000

我们无需修改。然后查看内网服务器端的配置文件:

vim frpc.ini

我们需要将内容修改为:

[common]
server_addr = xx.xx.xx.xx # 修改为阿里云服务器公网ip
server_port = 7000	# 与阿里云服务器中所开端口相同

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000	# 通过ssh连接的开放端口

[web]
type = http
local_port = 80
custom_domains = xx.xx.xx	# 解析到云服务器ip的域名

两端都修改完毕后,分别运行配置文件:

(阿里云服务器端)

./frps -c ./frps.ini

(内网服务器端)

./frpc -c ./frpc.ini

注意!!! 此步骤中云服务器端基本不会出现问题,但内网服务器大概率会出现connection failed提示,解决方案:进入阿里云服务器控制台,查看云服务器实例,依次选择"更多"->“网络和安全组”->“安全组配置”,如下图:

在这里插入图片描述
进入安全组后,查看安全组列表,点击配置规则开始修改:

在这里插入图片描述
进入安全组规则编辑界面后,在"入方向"列表下添加新规则,由于阿里云服务器端frps.ini文件中的默认开放端口设置为7000,所以我们需要将7000端口添加到允许外部访问的端口列表中(笔者为了方便,顺便将6000端口外部访问也开启了),如下:

在这里插入图片描述
其中,授权对象的源设为0.0.0.0/0代表此端口接收任意ip地址的访问,将新规则保存后,就可以关闭控制台,然后再次尝试启动内网服务器端的frpc服务,命令同上。

结语

通过上述步骤,我们已经完成了内网服务器到阿里云服务器的frp穿透,用户通过阿里云服务器连接内网服务器的配置为:

remote host: xx.xx.xx.xx	# 阿里云服务器的ip地址,或者解析到此ip地址的域名
username:xxxx	# 用户在内网服务器的用户名
port: 6000	# 端口号为内网服务器端frpc.ini文件中设置的remote_port

以上为笔者在使用阿里云服务器通过frp进行校园网内网穿透的过程,希望可以帮助有类似需求的读者,文中有不足之处,还请各位读者不吝赐教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值