云服务器frp内网穿透,包括防火墙如何设置
云服务器frp内网穿透,包括防火墙如何设置
本文将详细介绍如何使用frp实现内网穿透,包括云服务器的选择、FRP工具的下载与配置、防火墙设置以及最终的服务启动。通过本文,你将能够掌握如何通过云服务器实现内网穿透,从而远程访问内网中的设备和服务。
1. 需要一台云服务器
云服务器可以选择腾讯云或阿里云,价格基本是新用户99元/年。安装你需要的系统,如果没有别的需求,安装CentOS或Ubuntu都可以,安装好后能访问系统即可。之后该云服务器会有一个公网IP,比如123.123.123.123。
2. FRP工具下载
访问GitHub上的FRP项目页面(https://github.com/fatedier/frp/releases/tag/v0.48.0)下载所需版本。注意:下载到Windows下,frpc会被当病毒干掉,要么把杀毒的暂时关了,要么放到服务器里解压。
3. 云服务器文件配置
下载后解压会得到frps和frps.ini等文件。将frps和frps.ini复制到云服务器的/usr/local/frp文件夹下(参考大佬的位置),也可以直接放在用户home文件夹下。
在云服务器端,清空frps.ini,再复制下面内容:
[common]
bind_port = 7001
dashboard_port = 7501
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
内容都可以改成你想要的,比如token,记得和frpc.ini一致即可,dashboard_user和dashboard_pwd是远端管理网页,可以改成自己需要的。
4. 被穿透设备配置
清空frpc.ini的内容,之后复制下面的内容:
[common]
server_addr = 公网IP
server_port = 7001
token = 12345678
[被穿透设备的名字]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 端口号
server_addr = 公网IP 把这里的内容改成你的云服务器的IP,比如123.123.123.123
[被穿透设备的名字] 如果你有很多被穿透的服务器,避免记不住,就给每个服务器都取个名字
remote_port = 端口号 端口号往大了设置,比如59999
如果你有第二个,或者更多,那就同样的方法把文件复制到相应的设备中,需要修改的是[名字]和端口号。
5. 防火墙设置
云服务器和云服务器平台有两道防火墙,最外层是平台设的防火墙,到云服务器本身还有一道防护墙
5.1 云服务器平台防火墙设置
简而言之,云服务器有两道防火墙包裹,如果想访问里面的数据,就必须两道墙全开,首先登录云服务器平台,打开防火墙
点击添加规则
端口号填写:
frps.ini下的
bind_port = 7001
dashboard_port = 7501
还有frpc.ini下的
remote_port = 端口号
如果你有多个,那就填写多个端口号
我的设置就是7001,7501,59999 逗号隔开
5.2 云服务器防火墙设置
之后连接云服务器,输入下面命令
sudo ufw allow 7001,7501,59999/tcp
sudo ufw status #查看开启状态
这样之后,两层防火墙就都对我们需要的端口放行了
6. 启动frp
云服务器端:
cd 到 frp文件夹
sudo nohup ./frps -c ./frps.ini & #其中&符号表示后台运行
#如果上面的没成功,按照下面的调试
ps aux | grep frps # 查看frpc进程
sudo pkill -f frps # 杀死所有frpc进程
sudo ./frps -c ./frps.ini & #调试用的
被穿透设备端:
cd 到 frp文件夹
sudo nohup ./frpc -c ./frpc.ini & #其中&符号表示后台运行
#如果上面的没成功,按照下面的调试
ps aux | grep frpc # 查看frpc进程
sudo pkill -f frpc # 杀死所有frpc进程
sudo ./frpc -c ./frpc.ini & #调试用的
两个指令基本一致,区别是frpc和frps
7. frp管理界面(可选)
我们开放dashboard_port = 7501的目的就是进入到frp提供的管理界面,访问方式也非常简单,直接浏览器访问
云服务器IP地址:7501
之后输入设置的用户名和密码,默认都是admin。