FRP搭建内网穿透及答疑

Q&A

Q:为什么要用内网穿透
A:因为没有公网IP,现在的公网IP申请异常困难,甚至申请不到(工信部投诉中国移动也是一样的)

Q:内网穿透的工具有哪些
A:内网穿透的工具中比较有名的就是花生壳和FRP两种

Q:为什么不使用花生壳进行穿透
A:花生壳的免费版本只有1Mbps的带宽,而且只有两条映射。需要提高带宽或者映射就需要付费

Q:映射是什么
A:映射就是链接的线路,正常情况下SSH需要一条链路,部署一个项目需要一条,那么就没有映射了,而“物理服务器”肯定不只是部署一个项目,所以要么付费购买,要么另寻他路

Q:为什么使用FRP搭建内网穿透
A:FRP是免费的,而且没有映射线路的限制,虽然搭建的时候比花生壳麻烦,但是优点也很明显

Q:听说使用FRP需要使用域名+端口或者IP+端口
A:在不使用Nginx的时候确实需要,但是如果使用了Nginx的话,就可以直接使用域名进行访问了,如果没有域名,那确实是只能使用IP+端口的方式访问

Q:为什么需要云服务器
A:因为是自己搭建的FRP内网穿透,那么就需要一台拥有公网IP的服务器作为中转站

Q:云服务器的配置要什么要求
A:由于云服务器只是一个中转的服务器,因此CPU和内存方面没有太多的要求,可以使用现有的云服务器也可以开一台轻量服务器,因为轻量服务器性能和价格偏低,但是带宽会比ECS服务器高很多,所以轻量服务器会更划算

服务端

服务端也就是云服务器,FRP需要下载的版本是最新版本的Linux版本,不要最新版的话也可以自行下载,x86_64的处理器记得选择amd64.tar.gz版本
1、在Linux的/usr中新建文件夹frp,通过ftp将下载好的frp传入该文件夹内并且解压,然后删除frpc、frpc.ini、frpc_full.ini三个文件,会用到命令分别是:

(1)wget下载命令:

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz 

(2)解压命令:

tar -zxvf frp_0.44.0_linux_amd64.tar.gz 

(3)进入frp文件夹

cd frp_0.44.0_linux_amd64 

(4) 删除客户端配置文件

rm -rf frpc rm -rf frpc.ini rm -rf frpc_full.ini 

2、修改、补充frps.ini配置文件

vi frps.ini 

按下i键将下面信息根据自己需求进行修改

 bind_port = 7000  dashboard_port = 7500  subdomain_host = xxxxx.com  token = 123456  dashboard_user = xxxx  dashboard_pwd = xxxx --------------------------------   vhost_http_port = 8083  vhost_https_port = 8084 ---------------------------------  log_level = info  log_max_days = 999  heartbeat_timeout = 90  max_pool_count = 15 

3、启动frps

./frps -c frps.ini 

4、登录面板,使用ip+7500端口。输入账号密码,就可以看到面板了
5、这样的启动在不关闭ssh窗口的时候,是可以访问到的,但是一旦关闭了窗口就会关闭进程,所以要用Screen来运行
6、服务端的开机自启动可以不做也可以做,做的话参考客户端的开机自启动方法,我的建议是不做,因为云服务器重启后也是可以ssh连接上去的。

客户端

客户端就是家里的物理服务器,下载建议使用在线下载的方式,步骤跟服务端的1、2、3步一样的,第4步不一样,具体看
4、删除服务端的配置文件

rm -rf frps rm -rf frps.ini rm -rf frps_full.ini 

5、添加、修改frpc.ini配置文件

vi frpc.ini 

具体配置如下:

[common]  server_addr = xx.xx.xx.xx  server_port = 7000  token = 123456 [ssh] type = tcp local_port = 22 local_ip = 127.0.0.1 remote_port = 8885 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001 [smb] type = tcp local_ip = 127.0.0.1 local_port = 445 remote_port = 7002 [yi] type = http local_port = 9050 subdomain = yi [bt] type = http local_port = 8880 subdomain = bt [tuh] type = http local_port = 10088 subdomain = tuh [tu] type = http local_port = 10089 subdomain = tu 

[ssh]:这个就是项目服务的名称,不能重复
type:链接的协议,web服务就是http、https,ssh就是tcp,还有udp等
local_port:项目部署在客户端上使用的端口,不是外网访问的端口 local_ip:本地的ip,可以直接写127.0.0.1
subdomain:二级域名的前面部分,主域名我们在服务端已经设置好了
根据自己的需求添加或删除这些项目和端口

6、启动frp客户端

./frpc -c frpc.ini 

到这里就完成了FRP的内网穿透的基本设置。
但是会遇到断电的问题或者重启的情况,那么这时候就需要设置FRP开机自启动
7、设置开机自启动
(1)使用pwd查看路径
(2)将frpc.ini文件复制到/etc/frpc文件夹里,如果没有这个文件夹,就使用mkdir新建一个

sudo cp frpc.ini /etc/frpc/frpc.ini 

(3)将frpc复制到/usr/local/bin/bin/frpc下,没有的就新建一个

sudo cp frpc /usr/local/bin/frpc 

(4)写入内容,输入的时候会自动新建文本

sudo vi /usr/lib/systemd/system/frpc.service 

内容如下

[unit] Description=frpc After=multi-user.targe [Service] TimeoutStartSec=30  ExecStart=/usr/local/bin/frpc -c /etc/frpc/frpc.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target 

(5)设置自动启动

sudo systemctl enable frpc 

(6)启动frpc

sudo systemctl start frpc 

(7)查看运行状态

sudo systemctl list-units |grep frpc 
sudo systemctl status frpc 

FRP内网穿透就到此为止啦,请看后续:内网穿透之Nginx配置

原文链接:https://blog.csdn.net/qq_41946289/article/details/126243252

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享