数据包准备

frp数据包v0.61.0

变更ssh端口

 vim /etc/ssh/sshd_config
 ##yy p
 #将Port 22放开注释,并将22修改为需要的端口
 systemctl restart sshd
 #ufw添加对应配置

用户创建

用户创建

It's not recommended to use the root user for daily tasks. You should create a new user and give it sudo permission. For example:

Create a new user

sudo adduser your-username
Enter the password and other information as prompted.

Then add the user to the sudo group:

Add the user to the sudo group

sudo usermod -aG sudo your-username
Now you can test the new user's root permission:

Test the new user's root permission

su - your-username
whoami
sudo ls

安装sz命令

在终端中输入 which sz,如果没有输出任何信息,说明sz命令尚未安装。

sudo apt-get install lrzsz

ufw using

ufw防火墙使用教程

功能

简化防火墙配置管理 提供基本的防火墙功能,如允许或拒绝某些端口的流量 提供日志记录功能 支持 IPv4 和 IPv6

作用

保护系统免受未经授权的访问 控制入站和出站网络流量 通过定义规则集来管理哪些服务可以被访问

ufw 的安装

sudo apt-get update
sudo apt-get install ufw

ufw 的基本操作命令

启用 ufw:
sudo ufw enable
禁用 UFW:
sudo ufw disable

检查 ufw 状态及其规则:
sudo ufw status
获取详细状态信息:
sudo ufw status verbose

允许指定端口的连接:
sudo ufw allow [port_number]
例如,允许 SSH 连接(默认端口 22):
sudo ufw allow 22
拒绝指定端口的连接:
sudo ufw deny [port_number]
例如,拒绝 HTTP 连接(默认端口 80):
sudo ufw deny 80

删除规则
删除允许的规则:
sudo ufw delete allow [port_number]
删除拒绝的规则:
sudo ufw delete deny [port_number]

管理服务
UFW 允许使用服务名而不是端口号来管理规则。例如:
允许 OpenSSH 服务:
sudo ufw allow OpenSSH
拒绝 HTTP 服务:
sudo ufw deny http

允许和拒绝特定 IP 地址的连接
允许来自特定 IP 地址的连接:
sudo ufw allow from [ip_address]
例如,允许来自 192.168.1.100 的连接:
sudo ufw allow from 192.168.1.100
拒绝来自特定 IP 地址的连接:
sudo ufw deny from [ip_address]
例如,拒绝来自 192.168.1.100 的连接:
sudo ufw deny from 192.168.1.100

日志记录
启用日志记录:
sudo ufw logging on
禁用日志记录:
sudo ufw logging off
设置日志级别(可选值有:off, low, medium, high, full):
sudo ufw logging [level]
例如,将日志级别设置为 medium:
sudo ufw logging medium

重置 UFW
重置 UFW 将删除所有规则并禁用防火墙:
sudo ufw reset

frp设施安置

云服务器

cd /opt/frps
将  frps frps.toml 拷贝到服务端
vim ./frps.toml
[common]
bind_addr = "0.0.0.0"
bind_port = xxxxx

auth.method = "token"
auth.token = "token信息"

# 设置 HTTP 和 HTTPS 端口(可选,与frpc中使用的remote_port对应)
#vhost_http_port = 80

· bind_port需要在ufw中放行

配置frps开机启动

创建 Systemd 服务文件
打开或创建服务文件:

bash
复制代码
sudo vim /etc/systemd/system/frps.service
在文件中添加以下内容:

ini
复制代码
[Unit]
Description=FRP Server Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/frps/frps -c /opt/frps/frps.toml
#StandardOutput=journal
#StandardError=journal
Restart=on-failure

[Install]
WantedBy=multi-user.target

解释:

StandardOutput=journal 和 StandardError=journal:这两行配置会将标准输出和标准错误输出都发送到 systemd 的日志系统,也就是说,你可以通过 journalctl 查看它们。 Restart=on-failure:如果 frps 因为错误停止,它会自动重启。

启动服务
重新加载 systemd 守护进程以识别新服务:

bash
复制代码
sudo systemctl daemon-reload
启用服务(开机自动启动):

bash
复制代码
sudo systemctl enable frps.service
手动启动服务:

bash
复制代码
sudo systemctl start frps.service
检查服务状态:

bash
复制代码
sudo systemctl status frps.service
4. 验证服务是否正常运行
如果服务状态显示为 active (running),说明已成功启动。
可以查看日志确认:
bash
复制代码
sudo journalctl -u frps.service
查看日志

重新启动后,你可以使用以下命令查看 frps 服务的输出日志

journalctl -u frps.service -f

客户服务器

cd /opt/frpc
将  frpc frpc.toml 拷贝到客户端
[common]
server_addr = "服务器ip"
server_port = 服务器中配置的bind_port,用于通信
auth.method = "token"
auth.token = "token信息"

#对于http的处理
[proxies]
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains = home.xxx.cn


 

[tcp]
#纯tcp代理
type = tcp
remote_port = 443
local_ip = 127.0.0.1
local_port = 443
#custom_domains = www.xxx.cn域名
# if not empty, frpc will use proxy protocol to transfer connection info to your local service
# v1 or v2 or empty#
#transport.proxy_protocol_version = "v1"
#transport.tls.force = true
#下面不用看,暂仅tcp
#plugin = https2http
# 转换成 http 后,发送到本机的 10000 端口
#plugin_local_addr = 127.0.0.1:8080
# 可能是 frp 的 Bug?这里必须写成 127.0.0.1,稍后解释
#plugin_host_header_rewrite = 127.0.0.1
# 指定代理方式为 frp
#plugin_header_X-From-Where = frp

配置frpc开机启动


bash
复制代码
sudo vim /etc/systemd/system/frpc.service
在文件中添加以下内容:

ini
复制代码
[Unit]
Description=FRP Client Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/home/rdf/Desktop/frpc/frpc -c /home/rdf/Desktop/frpc/frpc.toml
#StandardOutput=journal
#StandardError=journal
Restart=on-failure

[Install]
WantedBy=multi-user.target

解释:

StandardOutput=journal 和 StandardError=journal:这两行配置会将标准输出和标准错误输出都发送到 systemd 的日志系统,也就是说,你可以通过 journalctl 查看它们。 Restart=on-failure:如果 frps 因为错误停止,它会自动重启。

启动服务
重新加载 systemd 守护进程以识别新服务:

bash
复制代码
sudo systemctl daemon-reload
启用服务(开机自动启动):

bash
复制代码
sudo systemctl enable frpc.service
手动启动服务:

bash
复制代码
sudo systemctl start frpc.service
检查服务状态:

bash
复制代码
sudo systemctl status frpc.service
4. 验证服务是否正常运行
如果服务状态显示为 active (running),说明已成功启动。
可以查看日志确认:
bash
复制代码
sudo journalctl -u frps.service
查看日志

重新启动后,你可以使用以下命令查看 frps 服务的输出日志

journalctl -u frps.service -f

配置校验域名解析,准备证书文件, nginx中

     server {
    listen 443 ssl;
    server_name www.xxx.cn;

    ssl_certificate /etc/nginx/conf.d/xxx.crt;
    ssl_certificate_key /etc/nginx/conf.d/xxx.key;

    # Recommended SSL settings
    #ssl_protocols TLSv1.2 TLSv1.3;
    #ssl_ciphers HIGH:!aNULL:!MD5;
    #ssl_prefer_server_ciphers on;

    location / {
        root /usr/share/nginx/html/react;
        try_files $uri $uri/ /index.html;
        index index.html index.htm;
    }
}