随心玩玩(二)Frp内网穿透

随心玩玩系列竟然来到了第二篇。

可见得我是多么的不想学习啊喂…


有时我们希望将NAT网络后面的本地Web服务公开给其他人以使用自己的域名进行测试,但是无法将域名解析为本地IP。我们可以使用frp公开http或https服务。

当然也可以用来内网穿透一些在本地架设的游戏服务器。(

Frp内网穿透

外网映射有软件在做如natapp和花生壳,虽然natapp也很好用,但是我也想自己实现一下内网穿透服务器,于是乎就自己用FRP搞内网穿透玩玩吧…

内网穿透也是有前提的,首先你的路由器要支持内网穿透,另外,你就需要一台云服务器,腾讯云CVM或者阿里云ECS都可以,买个学生云就行,都很便宜。我买了腾讯云,毕竟一直再用用习惯了。最后就是还得有个实名验证的域名。(有人说没域名也可以,在域名配置那块填上公网ip就行,试验了一下确实可以)

我用的腾讯云CVM,操作系统是 CentOS 7.6 64bit
在这里插入图片描述
重置一下密码,用putty ssh登陆
在这里插入图片描述
官网有帮助文档,
https://cloud.tencent.com/document/product/1207/44578

连上后第一件事情,改自己好环境变量和常用别名,然后更新系统yum -y update
在这里插入图片描述
Centos的update时间比ub较长一些,耐心等即可。Update之后安装screen软件,因为centos7已经内置了wget,所以不需要安装wget。

输入yum -y install screen安装screen软件,当然可以选择不装,用nohup &命令就行。Screen的用处是ssh客户端断开后程序依旧运行。
在这里插入图片描述
screen的用法。选用吧,看自己需要
在这里插入图片描述

之后装frp程序,我搞半天不能用wget下载,还是自己用filezilla传文件吧…

先装vsftpd,vsftpd是FTP服务器软件
yum install vsftpd -y

启动vsftpd
systemctl start vsftpd

检查端口号开启
netstat -ano | grep ‘21’

安全组记得开启21端口
在这里插入图片描述
连filezilla
在这里插入图片描述
root登陆报错“530 Permission denied”

view /etc/vsftpd/user_list

注释user_list配置文件的root用户

[root@oracle-linux6 tmp]# view /etc/vsftpd/user_list
# vsftpd userlist# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
#root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

view /etc/vsftpd/ftpusers
注释配置文件ftpusers的root用户

[root@oracle-linux6 tmp]# view /etc/vsftpd/ftpusers 
# Users that are not allowed to login via ftp
#root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

传输设置改成主动
在这里插入图片描述
反正最后终于是连上

在这里插入图片描述

用电脑下载frp:https://github.com/fatedier/frp/releases/

我用的是0.25.0版本
https://github.com/fatedier/frp/releases/download/v0.25.0/frp_0.25.0_linux_amd64.tar.gz

0.25比较旧了,大家可以下新的0.34

打开filezilla,连自己的服务器,把frp_0.25.0_linux_amd64.tar.gz传过去

在这里插入图片描述
回到putty

解压压缩包
tar -zxvf frp_0.25.0_linux_amd64.tar.gz

进入文件cd frp_0.25.0_linux_amd64

修改frp服务器配置
vi frps.ini

[common]
bind_port = 7000
token = 999888777

vhost_http_port = 1551
vhost_https_port = 8088

dashboard_port = 81

dashboard_user = admin
dashboard_pwd = admin123

bind_port,frpc通信所使用的端口,一般默认7000即可.

token是连接密码

vhost_http_port是穿透后http所使用的端口,建议不要默认,我用的1551。

http下面的就是https端口,也不建议默认,我用的是8088,

dashboard_port就是控制台的端口,我设成了81。

而user是管理台用户名,默认是admin,建议自定,pwd就是控制台密码了,自定即可

保存好frps.ini后,启动frp服务器
nohup ./frps -c ./frps.ini &> /tmp/res.txt &

在这里插入图片描述

注意要开放防火墙和安全组开放指定的端口
请一定要记住,你需要设置服务器的系统防火墙,以及阿里云、腾讯云后台里找到“安全组策略”的相关配置。

在这里插入图片描述

这时候我们只要输入公网的IP地址+端口号就可以访问控制台了,比如我设的dashboard_port是81

输入user和pwd即可进入,如下图。
在这里插入图片描述
服务器端就是配好了

配置 Frp 客户端(frpc)

(安装在内网的机器上,一般是windows系统)

需要域名解析,我在腾讯云6块钱买了一年域名,刚好可以拿来试试。

将公网ip添加到解析
在这里插入图片描述

由于腾讯云网站一直在改动(基本上几个月后操作就变了),所以就自己看看腾讯云的文档吧…怎么解析域名就不好做演示操作了。

我这里用 Windows 电脑来安装 Frp 客户端(下载windows版本),因为 Frp 是绿色程序,下载软件包回来解压后,cmd 运行 frpc.exe 即可。但在启动前,我们需要先修改配置文件,我们来修改 frpc.ini 配置文件:

[common]
server_addr = 10.■■.■■■.249
server_port = 7000
token = 999888777


[WEB]
type = http
local_ip = 127.0.0.1
local_port = 8080
remote_port = 7001
custom_domains = ■■■■■■.ltd

稍微做了一下打码处理,server_addr 是你的公网ip,server_port是frps端口,token是密钥(注意frpc和frps应一致),type是http类型(http访问的端口直接用frps的vhost_http_port就行),local_port是你本地的服务器端口(这里我设成了tomcat的端口8080),remote_port 远程端口,custom_domains写你自己的域名

这样就在本地上新增了“WEB”这个个可供公网访问的服务了 (名称可以自己取)。如果你需要添加更多的设备和服务供外网访问,那么只需照样画葫芦,指定正确的 IP 地址和端口号即可。

注意放行端口
每个服务的 remote_port 是远程访问时要用到的端口号,注意这些端口号也要在服务器的防火墙和安全组里放行才能顺利访问的,如上面的 7001。

用命令开启frp客户端
.\frpc.exe -c .\frpc.ini

start proxy success就表示成功了
在这里插入图片描述
可以写一个.bat,方便我们直接开启
在这里插入图片描述

然后使用"域名:vhost_http_port/项目名" 访问您本地的Web服务
在这里插入图片描述

dashboard这里也能看到连接情况
在这里插入图片描述
(有人说没域名也可以,在域名配置那块填上公网ip就行,试验了一下确实可以)


如果想远程操控桌面,改一下frpc.ini加一个服务就行

也别忘了防火墙开启7002端口

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7002

开启window10自带的远程控制
在这里插入图片描述
用win10自带远程连接软件用公网IP+端口号连接即可。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值