阿里云frp内网穿透配置
内网穿透简介:通过拥有公网IP的服务器(serverA)作为代理,达到让外网PC(即自己的开发电脑)拥有访问内网服务器(ServerB)的目的;
目前我们已经拥有了两台设备:PC和ServerB,我们还需要准备ServerA,这里我们选用的是阿里云服务器。
一、阿里云服务器相关
1.服务器的购买
如果是学生的话,可以去[阿里云官网](云服务器全面降价 (aliyun.com))进行学生认证,可以购买一个轻量级服务器,约100多块左右一年。
2.服务器实例的创建及基本配置
实例的创建很简单,这里需要注意的一点是操作系统的选择,该教程选用的是 CentOS7.9 的操作系统,大家不要选错了;
2.1 基本配置
实例创建好后,可以看到如下界面:
现在需要做两件事情:
- (1)重置root密码;
-
(2)开通ssh远程访问;
-
进入后台:
-
切换为root用户并登录
$su - -
开启外部root用户ssh访问权限:
(1)
#vim /etc/ssh/sshd_config
(2)将
PasswordAuthentication no修改为PasswordAuthentication yes -
(3)重启sshd服务:
#systemctl restart sshd -
二、frp内网穿透工具的配置
1.软件获取
- 进入frp项目网站后找到Releases:
然后下载一个软件包(linux系统64位即可):
2. frp的安装与配置
(1)ServerA服务端的配置
<1> frps服务配置
-
将‘frp_0.49.0_linux_amd64.tar.gz’上传至ServerA
-
解压:
tar -zxvf frp_0.49.0_linux_amd64.tar.gz’ -
进入frp文件夹:
cd frp_0.49.0_linux_amd64 -
将文件
frps.ini的内容修改为:[common] bind_port = 7000 -
启动frps服务:
nohup ./frps -c frps.ini >> frps.log &frps.log日志中有显示成功即可
<2> 对外开启端口
-
操作系统对外开放7000端口:
firewall-cmd --permanent --zone=public --add-port=7000/tcp -
重启防火墙
firewallsystemctl reload firewalld -
查看7000端口是否开启:
netstat -tuln
<3> 阿里云中开放7000端口
- 进入到安全组
- 进入【管理规则】
-
添加7000端口的配置
-
回到【实例】,将该实例添加至该安全组
(1)
(2)
(2)ServerB客户端的配置
<1> 配置
-
同理,将‘frp_0.49.0_linux_amd64.tar.gz’上传至ServerB并解压
-
进入frp文件夹:
cd frp_0.49.0_linux_amd64 -
将文件
frpc.ini的内容修改为:[common] server_addr = [ServerA的公网IP] server_port = 7000 [sshself] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # 需要映射的端口 -
启动客户端的frpc服务:
nohup ./frpc -c frpc.ini >> frpc.log & -
日志中有:信息说明启动成功
<2> 开启映射端口6000的访问权限
-
进入到ServerA,输入:
firewall-cmd --permanent --zone=public --add-port=6000/tcp -
重启防火墙
firewallsystemctl reload firewalld -
在阿里云【安全组】中添加6000端口的配置
3 验证
本机PC打开远程连接工具(如xshell)
输入:ssh [ServerB的用户名]@ServerA IP:6000 如果连接成功,则说明配置成功了!
PS:
重点:端口开放权限(ServerA端口配置和阿里云的安全组策略)