前言
前段时间因为应为一些技术验证和测试的原因入手了一个雨云服务器,但是在我搞完所需要的内容之后,就一直有一些空虚,一直想让其在发挥一些热量。所以我进行了一些尝试。
第一个玩法就是内网传统服务器,随着ipv4池的ip枯竭,许多人没有了公网ip,但是又有公网访问的需求,内网穿透成为了一种选择。
本次我选择了frp进行内网穿透。
注:本次教程中的有些命令可能需要你根据自身情况补充完整。
一、装备阶段
1.拥有一台服务器
首先需要一台云服务器,要有公网IP的,可以通过雨云购买:
雨云优惠注册地址:雨云服务器优惠链接
优惠码:NDI0NDU2
使用优惠码注册后可以享受优惠
注册完账号后进到雨云控制台,云服务器入口可以在后台的 总览 和 云产品 部分找到:
点击云服务器后点击购买云服务器,服务器选择2核2g,带宽高一些的就可以了,如果流量大,可以选择不限流量套餐。
国内用户可选择内地机房,一方面访问速度快,另一方面大部分大带宽配置选择完毕后,开始选择系统
预装系统选择debian,ubuntu等都可以,本次以debian为例
预装软件选择docker环境
下单后自动跳转我的云服务器界面。
等待服务器启动成功
当创建成功后,也就是创建中变为运行中时,你就拥有一个雨云云服务器。
2.配置防火墙
对于一个服务器来说防火墙是必须的,所以先进行配置。
首先点击上方管理按钮
进入服务器管理界面,点击防火墙规则
点击之后出现这个界面内
现在一共配置两条规则
第一条 ——>动作丢弃 ipv4——>0.0.0.0/0 端口与协议不变
第二条 ——>动作允许 ipv4 ——>0.0.0.0/0 端口——>22,7000,7081,7080,7500 协议 ——>tcp
单解释一下,第一条是将所有的ip和端口加入黑名
第二条是允许22端口和7000,7081,7080,7500进行访问,22是ssh端口7500,7000,7081,7080是frp端口,当然你也可以将第二条换成自己的公用ipv4地址。注意不是192.168.开头的内网ip地址
最终的结果
一定要注意顺序,两条规则的顺序,顺序反了可能出现无法链接的问题。
3.获取服务器ip地址以及链接密码
点击信息与监控
依次复制ip,远程用户名,远程密码备用
二、开始安装frp服务端
1.连接服务器
远程ssh链接服务器,本次使用windows的powershell进行远程链接,当然也可以选择其他远程链接软件。
powershell要进行远程连接需要进行一些openssh配置,具体过程可以参考一下微软官方openssh
打开powershell输入以下命令,然后输入yes,在输入密码。注意密码输入过程不可见
ssh root@你的ip -p 22
出现这个界面就算连接成功了
2.准备配置文件
首先输入第一条命令创建一个配置文件保存位置
# 创建frp文件夹
sudo mkdir /etc/frp
# 创建编辑配置文件
nano /etc/frp/frps.toml
键入以下以下内容
# 监听端口
bindAddr = "0.0.0.0"
bindPort = 7000
#kcpBindPort = 7000
quicBindPort = 7000
# http 和https 配置
vhostHTTPPort = 7080
vhostHTTPSPort = 7081
# 管理界面
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
webServer.pprofEnable = false
# 日志
log.to = "./frps.log"
log.level = "info"
log.maxDays = 3
log.disablePrintColor = false
# 连接token
auth.method = "token"
auth.token = "123456789"
#端口限制
allowPorts = [
{ start = 10001, end = 50000 }
]
maxPortsPerClient = 8
udpPacketSize = 1500
natholeAnalysisDataReserveHours = 168
webserver.user webserver.password 这是管理面板的账号和密码,管理面板端口是7500
在这些配置中是可以进行一定的修改的,如果修改了一定记住自己的配置内容,应为后面要用,注意,如果你细心的话,你会发现7000,7500,7080,7081这四个端口是在开始时在防火墙中配置放行的,所以如果,你要修改则必须进行配置放行。
还有,在我写这篇文章的时候控制面板貌似无法使用了,所以想要使用控制面板的可以安装低版本的。
然后同时安装ctrl+x 点击y,然后回车完成配置
3.通过docker安装
最开始选择的docker开始发挥作用了
下面开始通过docker安装frp服务端,键入以下命令
docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps
如果报错可以在前面加一个sudo 形成sudo docker run ~~~~这样的内容
但出现以下以下界面时说明安装完成
三、开始配置本地端frpc
1.配置文件
如果你是给本地的nas进行内网穿透的话,那么可以通过docker安装本地frpc端,如果是windows的话可以安装软件进行穿透。
最先的配置依旧是重要的。
首先创建一个文件名为frpc.toml,可以在需要穿透设备中创建,也可以在windows创建。区别就是在windows中创建需要配合2进行传输文件到指定位置
# 复制配置时把中文注释啥删除掉最好
serverAddr = "你的ip地址服务器"
serverPort = 你的frps配置中bindPort
auth.method = 你的frps配置中相应内容
auth.token = 你的frps配置中相应内容
[[proxies]]
name = "这个服务的名称不可以重复"
type = "http"
localIP = "本地ip"
localPort = 本地端口
customDomains = ["服务器对应的ip或者域名"]
subdomain ="子域名" 有子域名可以是由
[[proxies]]
name = "这个服务的名称不可以重复"
type = "https"
localIP = "本地ip"
localPort = 本地端口
customDomains = ["服务器对应的ip或者域名"]
subdomain ="子域名" 有子域名可以是可以留存的,没有就删除掉
[[proxies]]
name = "这个服务的名称不可以重复"
type = "tcp"
localIP = "本地ip"
localPort = 本地端口
remotePort = 远程的端口,根据frps的配置来填写,要求在allowPorts范围内
[[proxies]]
name = "这个服务的名称不可以重复"
type = "udp"
localIP = "本地ip"
localPort = 本地端口
remotePort = 远程的端口,根据frps的配置来填写,要求在allowPorts范围内
2.传输文件到指定位置
2.1 本地linux系统
执行以下命令,也powershell为例,打开powershell
cd frpc.toml所在位置
ssh 用户名@本地服务ip -P ssh端口默认为22 mkdir /etc/frp/
scp frpc.toml -P ssh端口默认为22 用户名@本地服务ip:/etc/frp/
依次执行以上命令,如果你需要穿透的设备有图形化界面的话,可以直接上面创建/etc/frp文件夹并进行上传frpc.toml
2.2 本地windows系统
本地windows需要先进行下载编译后的软件,软件下载地址 github地址,点击show all 18 assets 之后找到 windows字样的文件下载。
也可以通过这个夸克网盘链接进行下载
下载完成之后需要解压,如果不会解压的话可以参考这个教程解压,足够解压这个文件,注意不要在网盘中进行解压
将文件复制到解压出来文件所在位置,注意选择替换文件
注意:windows端可能会报毒,如果想使用,请关闭杀毒软件,是否尝试运行只在看你。
3.开始运行
3.1linux系统
注意需要有docker环境,如果没有,其自行百度安装方法,各个设备安装可能不同,所以笔者不提供方法。
第一步ssh连接到本地服务器
命令如下
ssh 用户名@本地IP地址 -P 本地ssh端口
然后再次执行如下命令
docker run --restart=always --network host -d -v /etc/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc
等待完成即可,如果出现失败,可能docker镜像源的原因,请自行搜索解决办法。
3.2windows
widows 打开powershell,依次执行以下命令
cd 你解压出文件所在的文件夹
./frpc -c ./frpc.toml
就完成了运行
4 关于访问
如果type是http则通过frps配置的vhostHTTPPort端口访问,如果type是https则通过vhostHTTPSPort端口访问,type是tcp、udp则从frpc设置remotePort端口访问。
四、结语
内网穿透折腾到此位置,除了以上的自建frp服务器,其实还有很多的frp提供商,可以选择,如果不想自建服务器的话,可以选择这些服务商。后续可能会尝Zerotier进行连接。
标签:frps,ip,雨云,玩法,frp,端口,frpc,服务器 From: https://blog.csdn.net/zhangyu_0221/article/details/140672309