唐山网站制作服务公司,网站建设需求原型,店铺logo在线制作免费,品牌打造一、服务器的选择
有自己的本地的公网 IP 的请跳过此篇文章按需求选择一个云服务器#xff0c;目的就是为了进行 frp 的搭建#xff0c;完成内网穿透我选择的是腾讯云服务器#xff0c;我的配置如下#xff0c;仅供参考#xff1a; 4. 腾讯云服务器官网地址
二、服务器…一、服务器的选择
有自己的本地的公网 IP 的请跳过此篇文章按需求选择一个云服务器目的就是为了进行 frp 的搭建完成内网穿透我选择的是腾讯云服务器我的配置如下仅供参考 4. 腾讯云服务器官网地址
二、服务器的一些配置
1. 使用 root 权限登录
根据服务器提供的方式在网页上登录服务器进入命令终端终端输入sudo passwd root设置 root 密码输入 root 的密码按 Enter重复输入 root 的密码按 Enter返回如下信息即表示 root 密码设置成功 passwd: password updated successfully终端输入sudo vi /etc/ssh/sshd_config 打开 sshd_config 配置文件按/切换搜索模式输入Authentication并按 Enter 查找下文
# Authentication:#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10按i切换至编辑模式将PermitRootLogin参数修改为yes并删除#注释符修改后如下所示
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10按Esc输入:wq保存文件并返回执行命令sudo service ssh restart重启 ssh 服务
2. PuTTY
PuTTY 是一款Windows的一个免费的 SSH 和 Telnet 客户端用于远程登录和管理远程计算机PuTTY 官网地址下载安装过程略根据服务器提供的方式在网页上登录服务器进入命令终端root账户登录服务器中生成 SSH KEY执行命令ssh-keygen一路回车即可生成的 SSH KEY 保存在 /root/.ssh中安装 putty 工具执行命令apt-get install putty-tools将 SSH KEY 转化成 PUTTY KEY执行命令puttygen ~/.ssh/id_rsa -o ~/.ssh/id.ppk修改 authorized_keys执行命令cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys执行命令sudo service ssh restart重启 ssh 服务下载 id.ppk 到本地 Windows 电脑Windows 电脑上打开 PuTTY点击 Connection -- Seconds between keepalives 填写 10点击 Data -- Auto-login username 填写 root --双击 SSH --双击 Auth --点击 Credentials -- private key file for authentication 选择刚刚生成的id.ppk点击 Session -- Host Name 填写服务器的 IP 地址– Port 填写 22 -- Connection type 选择 SSH --其他配置默认即可 --点击 Save保存配置(下一次直接选择保存的配置点击 load就可以调出前面设置的所有配置)–点击 Open --这样就通过 SSH 连接了服务器
3. WinSCP
WinSCP 是一个免费的开源 SFTP、SCP 和 FTP 客户端用于在 Windows 操作系统上进行文件传输和管理WinSCP官网地址下载安装过程略Windows 电脑上打开 WinSCP主机名填写服务器地址用户名填写 root密码为上面设置的 root 的密码点击保存点击登录即可自由使自己的 Windows 电脑与服务器自由传输文件
4. VSCODE
VSCODE 安装步骤略安装插件 Remote - SSH点击侧边栏图标如下 点击侧边栏中的“”输入ssh root服务器地址根据弹出的提示即可连接到云服务器在本地的电脑上打开并方便的编辑云服务器上的文件
三、frp的搭建
1. Linux 服务器中服务端的搭建
FRP 官网地址FRP 的安装及使用文档FRP 的 GitHub 地址服务端我选择搭建在云服务器上因为它有公网 IP在 GitHub 的下载地址中下载相应的 FTP 安装包我选择的是 frp_0.51.2_linux_amd64.tar.gz 与 frp_0.51.2_windows_amd64.zip将 frp_0.51.2_linux_amd64.tar.gz 解压并通过 WinSCP 上传到服务器中通过 PuTTY 登录服务器将服务器中的 frp_0.51.2_linux_amd64 移动到 frp 文件夹中执行命令mv /root/frp_0.51.2_linux_amd64 /root/frp执行命令rm -rf /root/frp/frpc*删除客户端内容执行命令chmod ux /root/frp/*为 FRP 增加可执行权限通过 VSCODE 编辑 /root/frp/frps.ini内容如下
[common]
# 常用配置
# 服务端监听地址
bind_addr 0.0.0.0
# 服务端监听端口接收 frpc 的连接
bind_port 7000
# 日志文件地址 日志等级 日志文件保留天数
log_file ./frps.log
log_level info
log_max_days 7
# 服务端和客户端心跳连接的超时时间
heartbeat_timeout 90
# 鉴权方式
authentication_method token
# 鉴权使用的 token 值
token 123456789
# 最大连接池大小
max_pool_count 5
# 启用 Dashboard 监听的本地地址
dashboard_addr 0.0.0.0
# 启用 Dashboard 监听的本地端口
dashboard_port 7500
# HTTP BasicAuth 用户名
dashboard_user root
# HTTP BasicAuth 密码
dashboard_pwd 123456# 基础配置
# 服务端监听 KCP 协议端口
kcp_bind_port 0
# 服务端监听 QUIC 协议端口
quic_bind_port 0
# quic 协议 keepalive 间隔单位: 秒
quic_keepalive_period 10
# quic 协议的最大空闲超时时间单位: 秒
quic_max_idle_timeout 30
# quic 协议最大并发 stream 数
quic_max_incoming_streams 100000
# 代理监听地址
# proxy_bind_addr 0.0.0.0
# 禁用标准输出中的日志颜色
disable_log_color false
# 服务端返回详细错误信息给客户端
detailed_errors_to_client true
# tcp_mux 的心跳检查间隔时间
tcp_mux_keepalive_interval 60
# 和客户端底层 TCP 连接的 keepalive 间隔时间单位秒
tcp_keepalive 7200
# 用户建立连接后等待客户端响应的超时时间
user_conn_timeout 10
# 代理 UDP 服务时支持的最大包长度
udp_packet_size 1500
# TLS 服务端证书文件路径
# tls_cert_file
# TLS 服务端密钥文件路径
# tls_key_file
# TLS CA 证书路径
# tls_trusted_ca_file
# 打洞策略数据的保留时间
nat_hole_analysis_data_reserve_hours 168# 权限验证
# 开启心跳消息鉴权
authenticate_heartbeats false
# 开启建立工作连接的鉴权
authenticate_new_work_conns false# 管理配置
# 允许代理绑定的服务端端口
# allow_ports 1000-2000,2001,3000-4000
# 限制单个客户端最大同时存在的代理数 0 表示没有限制
max_ports_per_client 0
# 只接受启用了 TLS 的客户端连接
tls_only false# Dashboard, 监控
# 是否启用 TLS 模式
dashboard_tls_mode false
# TLS 证书文件路径
# dashboard_tls_cert_file
# TLS 密钥文件路径
# dashboard_tls_key_file
# 是否提供 Prometheus 监控接口 需要同时启用了 Dashboard 才会生效
enable_prometheus false
# 静态资源目录 Dashboard 使用的资源默认打包在二进制文件中通过指定此参数使用自定义的静态资源
# asserts_dir
# 启动 Go HTTP pprof 用于应用调试
pprof_enable false# HTTP HTTPS
# 为 HTTP 类型代理监听的端口 启用后才支持 HTTP 类型的代理默认不启用
vhost_http_port 0
# 为 HTTPS 类型代理监听的端口 启用后才支持 HTTPS 类型的代理默认不启用
vhost_https_port 0
# HTTP 类型代理在服务端的 ResponseHeader 超时时间
vhost_http_timeout 60
# 二级域名后缀
# subdomain_host
# 自定义 404 错误页面地址
# custom_404_page # TCPMUX
# 为 TCPMUX 类型代理监听的端口 启用后才支持 TCPMUX 类型的代理默认不启用
tcpmux_httpconnect_port 0
# 是否透传 CONNECT 请求 通常在本地服务是 HTTP Proxy 时使用
tcpmux_passthrough false执行命令./frps -c ./frps.ini启动 FRP 服务端 登录腾讯云服务器官网–点击控制台–点击我的资源中的云服务器–进入已有实例 点击安全组–点击出站规则–点击编辑规则 点击入站规则–点击添加规则 类型选择自定义–目标0.0.0.0/0 --协议端口填写TCP:7000,7500–策略选择允许–备注填写FRP–点击确定完成 FRP 监控面板端口开放配置如下所示 打开服务器地址:7500内容如下所示FRP 服务端配置成功
2. 服务端的 FRP 开机自启动
通过 VSCODE 创建/etc/systemd/system/frps.service内容如下
[Unit]
# 服务名称
Description frp_server
After network.target syslog.target
Wants network.target[Service]
Type simple
# 启动frps的命令
ExecStart /root/frp/frps -c /root/frp/frps.ini[Install]
WantedBy multi-user.target使用 systemd 命令管理 frps具体命令如下
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps配置 frps 开机自启具体命令如下
systemctl enable frps3. Windows 电脑中客户端的搭建
解压 Windows 版本 FRP 安装包 frp_0.51.2_windows_amd64.zip我将所有解压得到的内容移动到目录 D:\FRP中打开 CMD输入以下命令删除服务端内容
cd D:\FRP
rm frps*通过 VSCODE编辑D:\FRP\frpc.ini内容如下
[common]
# 常用配置
# 服务器 IP 地址
server_addr xxx.xxx.xxx.xxx
# 连接服务端的端口
server_port 7000
# 日志文件地址 日志等级 日志文件保留天数
log_file ./frpc.log
log_level info
log_max_days 7
# tcp_mux 的心跳检查间隔时间单位秒
tcp_mux_keepalive_interval 60
# 向服务端发送心跳包的间隔时间 建议启用 tcp_mux_keepalive_interval将此值设置为 -1
heartbeat_interval -1
# 和服务端心跳的超时时间
heartbeat_timeout 90
# 鉴权方式 需要和服务端一致
authentication_method token
# 鉴权使用的 token 值 需要和服务端设置一样的值才能鉴权通过
token 123456789
# 启用 AdminUI 监听的本地地址
admin_addr 0.0.0.0
# 启用 AdminUI 监听的本地端口
admin_port 7500
# HTTP BasicAuth 用户名
admin_user root
# HTTP BasicAuth 密码
admin_pwd 123456# 基础配置
# xtcp 打洞所需的 stun 服务器地址 stun.easyvoip.com:3478
# nat_hole_stun_server
# 连接服务端时所绑定的本地 IP
# connect_server_local_ip
# 连接服务端的超时时间
dial_server_timeout 10
# 和服务端底层 TCP 连接的 keepalive 间隔时间单位秒 负数不启用
dial_server_keepalive 7200
# 连接服务端使用的代理地址 格式为 {protocol}://user:passwd192.168.1.128:8080 protocol 目前支持 http、socks5、ntlm
# http_proxy
# 禁用标准输出中的日志颜色
disable_log_color false
# 连接池大小
pool_count 0
# 用户名 设置此参数后代理名称会被修改为 {user}.{proxyName}避免代理名称和其他用户冲突
# user Vaciller
# 使用 DNS 服务器地址 默认使用系统配置的 DNS 服务器指定此参数可以强制替换为自定义的 DNS 服务器地址
# dns_server
# 第一次登陆失败后是否退出
login_fail_exit true
# 连接服务端的通信协议
protocol tcp
# 协议 keepalive 间隔单位: 秒
quic_keepalive_period 10
# quic 协议的最大空闲超时时间单位: 秒
quic_max_idle_timeout 30
# quic 协议最大并发 stream 数
quic_max_incoming_streams 100000
# 启用 TLS 协议加密连接
tls_enable tool
# TLS 客户端证书文件路径
# tls_cert_file
# TLS 客户端密钥文件路径
# tls_key_file
# TLS CA 证书路径
# tls_trusted_ca_file
# TLS Server 名称 为空则使用 server_addr
# tls_server_name
# TLS 不发送 0x17 当为 true 时不能端口复用
disable_custom_tls_first_byte true
# 服务时支持的最大包长度 服务端和客户端的值需要一致
udp_packet_size 1500
# 指定启用部分代理 当配置了较多代理但是只希望启用其中部分时可以通过此参数指定默认为全部启用
# start
# 附加元数据 会传递给服务端插件提供附加能力
# meta_xxx # 权限验证
# 开启心跳消息鉴权 需要和服务端一致
authenticate_heartbeats false
# 开启建立工作连接的鉴权 需要和服务端一致
authenticate_new_work_conns false# UI
# 静态资源目录 AdminUI 使用的资源默认打包在二进制文件中通过指定此参数使用自定义的静态资源
# asserts_dir
# 启动 Go HTTP pprof 用于应用调试
pprof_enable false在 CMD 中执行命令./frpc -c ./frpc.ini启动客户端打开Windows IP:7500/内容如下所示FRP 客户端配置成功 具体需要详细进行内网穿透的内容与配置会在后文中进行详细说明
4. 客户端的 FRP 开机自启动
通过 VSCODE编辑D:\FRP\frp.bat内容如下
echo off
setlocalset appNameD:\FRP\frpc.exeecho Start %appName% ...
D:\FRP\frpc.exe -c D:\FRP\frpc.iniendlocal
Pause
exit按winr输入gpedit.msc打开本地组策略编辑器选择用户配置–双击 Windows 设置–选择脚本登录/注销–双击登录–选择添加–选择浏览–找到刚刚编辑的 frp.bat --选择打开–选择确定–选择确定此时重启 Windows 电脑FRP 客户端即可开机自启