潍坊做网站维护费用,网站制作设计机构,网站后台域名解析怎么做,网站 默认页摘要#xff1a;之前使用的 nps 目前没有维护更新了#xff0c;和在使用的过程中做内网穿透的的网速应该有限制#xff0c;不论云服务器带宽是多少#xff0c;下载速度都比较慢。这里切换到 frp 试试#xff0c;对安装和使用简单记录#xff0c;其和 nps 有很大的操作配置… 摘要之前使用的 nps 目前没有维护更新了和在使用的过程中做内网穿透的的网速应该有限制不论云服务器带宽是多少下载速度都比较慢。这里切换到 frp 试试对安装和使用简单记录其和 nps 有很大的操作配置不同之处。 相关文章
内网穿透工具frp安装使用内网穿透工具NPS安装使用xftp5 连接 centos7.8 一、frp 官方概览 frp 是什么 frp 是一款高性能的反向代理应用专注于内网穿透。它支持多种协议包括 TCP、UDP、HTTP、HTTPS 等并且具备 P2P 通信功能。使用 frp您可以安全、便捷地将内网服务暴露到公网通过拥有公网 IP 的节点进行中转。 为什么选择 frp 通过在具有公网 IP 的节点上部署 frp 服务端您可以轻松地将内网服务穿透到公网并享受以下专业特性
多种协议支持客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。TCP 连接流式复用在单个连接上承载多个请求减少连接建立时间降低请求延迟。代理组间的负载均衡。端口复用多个服务可以通过同一个服务端端口暴露。P2P 通信流量不必经过服务器中转充分利用带宽资源。客户端插件提供多个原生支持的客户端插件如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等以便满足各种需求。服务端插件系统高度可扩展的服务端插件系统便于根据自身需求进行功能扩展。用户友好的 UI 页面提供服务端和客户端的用户界面使配置和监控变得更加方便。
frp链接地址 在进行安装前可以自行细读官网教程教程很详细 frp下载地址
https://github.com/fatedier/frp/releases frp 使用教程
https://gofrp.org/zh-cn/docs/overview/ 二、工作电脑上网环境测试 测试环境共计 3 台电脑如果电脑不足可采用虚拟机网络环境为内网。采用 windows11 系统作为 frp 服务器端win7系统做客服端。将客服端的远程桌面3389端口代理到服务器端口的 6000端口。 注测试环境为内网环境将服务端和客服端防火墙直接设置为关闭。和测试文件配置最要为验证是否部署成功同正式环境配置文件有差异
1.1 服务端Windows 11
1、服务端配置文件如下其 # 为注释说明
#frps服务监听的本机端口
#bindAddr 127.0.0.1
bindPort 7000#frps服务web界面配置
webServer.addr 127.0.0.1
webServer.port 7500
webServer.user cikkod
webServer.password cikkod123#鉴权配置
auth.method token
auth.token cikkod#日志配置
#log.to console
log.to ./log
log.level info
log.maxDays 7注意如果配置日志为文件形式则运行后会将相关日志记录写入文件不会在控制台显示打开成功的信息会直接写入到配置的 log 文件中。
2、配置校验
frps verify -c ./frps.toml如果正常则是提示如下信息如果异常则会提示对应信息
D:\software\frp\frp_0.53.0_windows_amd64frps verify -c ./frps.toml
frps: the configuration file ./frps.toml syntax is ok3、启动程序
如果配置文件检验没有问题即可启动程序后续会提到配置文件虽然检验正常但是不一定能正常启动经验应该只是针对格式检查下面 2 中指令都可以正常启动。
启动成功后需要注意事启动成功应该是 2 个端口。其中 7000 是 frp 的绑定端口7500是 frp 的后台面板端口。可能会遇到只有 7000 端口成功这个时候要检查配置文件是否正确。
方式一
frps.exe -c frps.tomlD:\software\frp\frp_0.53.0_windows_amd64frps.exe -c frps.toml
2023/12/18 11:24:57 [I] [root.go:104] frps uses config file: frps.toml
2023/12/18 11:24:57 [I] [service.go:225] frps tcp listen on 127.0.0.1:7000
2023/12/18 11:24:57 [I] [root.go:113] frps started successfully
2023/12/18 11:24:57 [I] [service.go:338] dashboard listen on 127.0.0.1:7500方式二
frps.exe -c ./frps.tomlD:\software\frp\frp_0.53.0_windows_amd64frps.exe -c ./frps.toml
2023/12/18 11:32:46 [I] [root.go:104] frps uses config file: ./frps.toml
2023/12/18 11:32:46 [I] [service.go:225] frps tcp listen on 0.0.0.0:7000
2023/12/18 11:32:46 [I] [root.go:113] frps started successfully
2023/12/18 11:32:46 [I] [service.go:338] dashboard listen on 127.0.0.1:7500
2023/12/18 11:33:06 [I] [dashboard_api.go:106] Http request: [/api/serverinfo]
2023/12/18 11:33:06 [I] [dashboard_api.go:99] Http response [/api/serverinfo]: code [200]启动后在浏览器中输入 127.0.0.1:7500 就可以打开后台面板
1.2 客服端Windows7
1、服务端配置文件如下其 # 为注释说明
#token需要与服务端的token一致
auth.method token
auth.token cikkod# 服务端的公网ip
serverAddr 10.131.27.1
serverPort 7000[[proxies]]
# 名称 需要唯一
name test-tcp
# 类型tcp
type tcp
localIP 127.0.0.1
localPort 3389
#访问服务端被转到本机当前配置的对应端口
#比如此处是57002那外网访问服务端公网ip:57002则会被转发访问本配置127.0.0.1:22端口
remotePort 60002、配置校验
frpc verify -c ./frpc.toml3、启动程序
frpc.exe -c frpc.toml或
frpc.exe -c ./frpc.toml1.3 验证
在同事电脑上打开桌面远程mtsc输入访部署服务器的 IP 和 客服端远程代理端口 10.131.27.1:6000就能成功的连接到安装客户端的电脑。输入计算中账号后进入成功进入系统。 三、正式云服务器环境部署
正式环境采用一台华为云 ESC 服务器同时服务器为公司门户网站客户端目前部署2台一台 centos7 的 gitlab 代码仓库一台window7 的 提供公司常用软件下载
注正式环境为华为云公网环境服务器主要用于公司门户网站搭建采用 nginx 将多个门户网站和 frp 共用。云服务器需要在安全组的入项规则中添加各个代理客户端设置的远端服务器端口。测试文件配置最要为验证是否部署成功同正式环境配置文件有差异
3.1 服务端华为云 centos7.9
1、查看系统版本
[rootecs-396a frp]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
[rootecs-396a frp]# 如果没有安装插件进行安装插件。具体根据系统而来我这里是centos7
[rootecs-396a frp]# lsb_release -a
-bash: lsb_release: command not found不同系统其下载安装有差异一般来说著名的 Linux 系统基本上分两大类 RedHat 系列Redhat、Centos、Fedora 等 Debian 系列Debian、Ubuntu 等
yum install -y redhat-lsb对比项rpmyumdpkgapt系列RedHat系RedHat系Debian系Debian系区别包安装工具依赖管理工具包安装工具依赖管理工具查询已安装rpm -qayum list installeddkpg -lapt list –installed安装rpm -i package.rpm 或 rpm –ivh http://www.xxx.net/package.rpmyum install -ydpkg -i package.debapt-get install package更新rpm –U software.rpmyum updateapt upgrade移除软件包rpm -e [module1][module2]…yum -removedpkg -r packageapt remove package移除软件包及配置dpkg -Papt purge package下载的包存放位置/var/cache/apt/archives软件安装默认位置rpm -ql/usr/share可执行文件位置/usr/bin/usr/bin配置文件位置/etc/etclib文件位置/usr/lib/usr/lib使用手册/usr/share/doc帮助文档/usr/share/man更新
2、服务端配置文件如下其 # 为注释说明 可以利用 xFTP 的方式将 frp 文件拷贝并进行配置文件修改。
[rootecs-396a frp]# cat frps.toml
#frps服务监听的本机端口
#bindAddr 127.0.0.1
bindPort 8001#frps服务web界面配置
webServer.addr 0.0.0.0
webServer.port 8101
webServer.user cikkod
webServer.password jdxy123#鉴权配置
auth.method token
auth.token cikkod#日志配置
#log.to console
log.to ./log
log.level info
log.maxDays 7#端口白名单
allowPorts [{ start 8000, end 8500 },{ single 8765 }
]#二级域名后缀
subDomainHost cikkod.com3、配置校验
./frps verify -c ./frps.toml如果正常则是提示如下信息如果异常则会提示对应信息
[rootecs-396a frp]# ./frps verify -c ./frps.toml
frps: the configuration file ./frps.toml syntax is ok本次遇到权限问题问题明细和解决办法如下
[rootecs-396a frp]# ./frps verify -c ./frps.toml
-bash: ./frps: Permission denied查看当前用户
[rootecs-396a frp]# who
root pts/2 2023-12-15 17:48 (118.116.12.165)查看文件权限
[rootecs-396a local]# ls -l frp
total 17636
-rw-r--r-- 1 root root 18042880 Dec 18 17:48 frps
-rwxrwxrwx 1 root root 356 Dec 18 17:51 frps.toml
-rwxrwxrwx 1 root root 11358 Dec 18 17:47 LICENSE发现 frps 文件不可执行分别将 frps 和 frps.toml文件权限设置为 777后校验成功。
4、启动程序
因为配置了log 所以不会在控制台打印日志
[rootecs-396a frp]# ./frps -c ./frps.toml
如果启动异常则会提示相关的信息本次遇到的问题如下
[rootecs-396a frp]# ./frps -c ./frps.toml
listen tcp 116.63.139.233:8101: bind: cannot assign requested address因为我在设置 webServer.addr xxx.xxx.xxx.xxx 时直接设置为了公网的IP地址正确的设置为 webServer.addr 0.0.0.0 。
启动后在浏览器中输入 IP:PORT 就可以打开后台面板后台面板端口不需要在安全组中添加。
3.2 客服端
通过开篇 frp 的概览我们知道支持很多种方式包含TCP UDP HTTP HTTPSSTCP SUDPXTCPTCPMUX不同方式其配置文件有所差异。
3.2.1 TCP UDP
个人目主要部署了 TCP UDP 方式刚好为一个centos7 系统一个为 windows7 系统成功启用后在 frp 的后台面板会显示信息 3.2.1.1 客户端centos7.9
2、服务端配置文件如下其 # 为注释说明
可以利用 xFTP 的方式将 frp 文件拷贝并进行配置文件修改。
[rootlocalhost frp]# cat frpc.toml
#token需要与服务端的token一致
auth.method token
auth.token cikkod# 服务端的公网ip和frp绑定端口填写自己的服务IP地址和端口
serverAddr xxx.xxx.xxx.xxx
serverPort 8001#代理配置
[[proxies]]
# 名称 需要唯一
name gitlab
# 类型tcp, udp, http, https, tcpmux, stcp, sudp, xtcp。
type tcp
#本地IP和端口
localIP 127.0.0.1
localPort 80
#访问服务端被转到本机当前配置的对应端口
#比如此处是57002那外网访问服务端公网ip:57002则会被转发访问本配置127.0.0.1:22端口
remotePort 8166
#自定义域名列表[]string
#customDomains []
#子域名
#subdomain gitlab
[rootlocalhost frp]# 2、配置校验
./frpc verify -c ./frpc.toml3、启动程序
[rootlocalhost frp]# ./frpc -c ./frpc.toml
2023/12/19 10:19:43 [I] [root.go:141] start frpc service for config file [./frpc.toml]
2023/12/19 10:19:43 [I] [service.go:288] try to connect to server...
2023/12/19 10:19:43 [I] [service.go:279] [5685ed2bec39a57d] login to server success, get run id [5685ed2bec39a57d]
2023/12/19 10:19:43 [I] [proxy_manager.go:173] [5685ed2bec39a57d] proxy added: [gitlab]
2023/12/19 10:19:43 [I] [control.go:169] [5685ed2bec39a57d] [gitlab] start proxy success如果启动异常则会提示相关的信息本次遇到的问题如下
[rootlocalhost frp]# ./frpc -c ./frpc.toml
2023/12/19 10:13:42 [I] [root.go:141] start frpc service for config file [./frpc.toml]
2023/12/19 10:13:42 [I] [service.go:288] try to connect to server...
2023/12/19 10:13:52 [W] [service.go:291] connect to server error: dial tcp 116.63.139.233:8001: i/o timeout
2023/12/19 10:13:52 [I] [service.go:288] try to connect to server...
2023/12/19 10:13:52 [W] [service.go:291] connect to server error: dial tcp 116.63.139.233:8001: operation was canceled
2023/12/19 10:13:52 [I] [root.go:159] frpc service for config file [./frpc.toml] stopped
login to the server failed: dial tcp 116.63.139.233:8001: i/o timeout. With loginFailExit enabled, no additional retries will be attempted
[rootlocalhost frp]# 超时原因是因为在云服务的安全配置没有放开绑定端口云服务器的安全组的入方向规则中添加好frp 的 bindPort端口。注意非面板端口 webServer.port面板端口不用打开也可以访问
3.2.1.2 客户端windows7
其配置
1、服务端配置文件如下其 # 为注释说明
#token需要与服务端的token一致
auth.method token
auth.token cikkod# 服务端的公网ip填写自己的服务IP地址和端口
serverAddr xxx.xxx.xxx.xxx
serverPort 8001[[proxies]]
name download
type tcp
localIP 127.0.0.1
localPort 80
remotePort 81002、配置校验
frpc verify -c ./frpc.toml3、启动程序
frpc.exe -c frpc.toml或
frpc.exe -c ./frpc.toml四、nginx配置域名
绑定域名主要有2步
在域名平台绑定域名在nginx中配置
1、域名绑定 2、nginx配置
#frp
server {listen 80;server_name ***t.cikkod.com;location / {proxy_pass http://127.0.0.1:8101;proxy_set_header Host $host:80;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_hide_header X-Powered-By;}
}server {listen 80;server_name ***d.cikkod.com;location / {proxy_pass http://127.0.0.1:8100;proxy_set_header Host $host:80;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_hide_header X-Powered-By;}
}server {listen 80;server_name ***b.cikkod.com;location / {proxy_pass http://127.0.0.1:8166;proxy_set_header Host $host:80;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_hide_header X-Powered-By;}
}
配置后重启 nginx 就可以通过域名访问
lnmp restart五、设置后台运行
我们通过 Xshell 连接云服务器如果我们关闭 Xshell 时同时会关闭服务器这里按照 centos7 系统 和 windows7 系统记录如何设置为后台服务其 frps 和 frpc 设置同理。
5.1 centos7系统
在目录 /etc/systemd/system 下新建文件名为 frps.service 的文件vi 可以编辑或新建文件 如果文件名称错误时可以通过以下命令修改将 frpc.sevice 修改为 frpc.service。
[rootlocalhost system]# mv frpc.sevice frpc.service
[rootlocalhost system]# 说明 ExecStart frps.exe所在的目录/frps -c frps.ini所在的目录/frps.ini
[Unit]
DescriptionFrp Server Service
Afternetwork.target[Service]
Typesimple
Usernobody
Restarton-failure
RestartSec5s
ExecStart/usr/local/frp/frps -c /usr/local/frp/frps.toml[Install]
WantedBymulti-user.target创建成功后启动服务和设置为自启动
[rootecs-396a system]# systemctl start frps
[rootecs-396a system]# systemctl enable frps
Created symlink from /etc/systemd/system/multi-user.target.wants/frps.service to /etc/systemd/system/frps.service.
[rootecs-396a system]# 文件新建好后用以下命令控制
#设置开机启动
systemctl enable frps
#启动
systemctl start frps
#停止
systemctl stop frps
#状态
systemctl status frps 5.2 windows7系统
winsw 和 nssm 都可将 exe 转成服务尴尬的时候目前都没有更新了本次采用 winsw 使用为旧版本新版本v3.0.0-alpha.11 和 2.12 都遇到报错情况。 这里也不具体说明怎么使用WinSW感兴趣可以查看这篇文章Windows Server 2012 通过winSW注册服务后服务被系统强制中断的服务属性设置问题
WinSW配置文件
configuration!-- 该服务的唯一标识 --idfrpc/id!-- 该服务的名称 --namecikkod_frpc/name!-- 该服务的描述 --descriptionfrpc客户端 这个服务用 frpc 实现内网穿透/description!-- 要运行的程序路径 --executableD:\frp\frp_0.53.0_windows_amd64\frpc.exe/executable!-- 携带的参数 --arguments-c frpc.toml/arguments!-- 第一次启动失败 60秒重启 --onfailure actionrestart delay60 sec/ !-- 第二次启动失败 120秒后重启 --onfailure actionrestart delay120 sec/!-- 日志模式 --logmodeappend/logmode!-- 指定日志文件目录(相对于executable配置的路径) --logpathlogs/logpath
/configuration运行成功后可以在服务里面进行查看到服务。也可以参考链接章节的 计划任务方式未测试之前用于设置定时关机 六、参考链接 配置 Nginx 和 frps 共存 80/443 端口及泛域名支持教程 frp 官方文档 yum与apt的区别 云服务器搭建frp服务超详细 Frp后台自动启动的几个方法 frp内网穿透windows配置开机启动 Windows Server 2012 通过winSW注册服务后服务被系统强制中断的服务属性设置问题