首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
39 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
【N1安装飞牛优化四】关闭不必要服务优化记录
12 阅读
4
博客简介
11 阅读
5
SSH如何访问fe80开头的ipv6????
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
588
篇文章
累计收到
9
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
28
篇与
的结果
2026-05-20
NGINX 零停机平滑升级全流程实操指南
一、 概述在生产环境下,升级 NGINX 二进制文件通常面临一个挑战:如何升级而不需要停止服务(零停机)?NGINX 通过一套精巧的信号量(Signals)机制实现了平滑升级。其核心原理是:启动一个新的主进程(Master Process)接管监听端口,让旧进程在处理完现有请求后优雅退出,从而实现无缝切换。二、 升级前置准备与环境摸底在升级之前,必须确保新版本的编译参数与当前运行的版本完全一致,否则会导致启动失败或功能缺失。1. 查询当前版本及编译参数# 查看当前版本号 nginx -v # 查看详细编译参数 (极其重要,升级时必须使用相同的参数) nginx -V记录项: 重点记录 configure arguments 之后的所有内容(如 --prefix=/usr/local/nginx)。2. 确认二进制文件路径与 PID# 确认 nginx 可执行文件路径 which nginx # 确认当前运行的主进程 PID ps aux | grep nginx 记录项: 记录 master process 的 PID。3. 配置文件语法检查在任何操作前,确保当前配置文件没有语法错误。nginx -t三、 新版本编译准备核心原则:只编译→→不安装。 严禁直接执行 make install,因为这会覆盖您生产环境的配置文件。1. 下载并解压wget http://nginx.org/download/nginx-x.x.x.tar.gz tar -zxvf nginx-x.x.x.tar.gz cd nginx-x.x.x2. 配置与编译使用第一阶段记录的编译参数进行配置:# 使用之前 nginx -V 记录的参数 ./configure --prefix=/usr/local/nginx [其他参数...] # 编译生成二进制文件 make编译完成后,新的二进制文件位于 objs/nginx。四、 执行平滑升级(核心步骤)步骤 1:二进制文件替换由于 Linux 内核禁止覆盖正在运行的二进制文件(会报 Text file busy),我们必须使用 mv 命令通过改变 inode 的方式进行替换。 # 1. 备份旧文件 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak # 2. 使用 mv 替换新文件 (绕过 Text file busy) mv objs/nginx /usr/local/nginx/sbin/nginx # 3. (可选) 如果系统中有快捷路径 /usr/local/bin/nginx,请同步更新 cp /usr/local/nginx/sbin/nginx /usr/local/bin/nginx步骤 2:启动新主进程 (USR2)向旧主进程发送 USR2 信号,通知其启动新版本的二进制进程。 kill -USR2 <旧MasterPID> 状态: 此时,旧主进程和新主进程同时存在,它们共同监听端口,但新请求将开始分发给新进程。 步骤 3:优雅停止旧工作进程 (WINCH) 向旧主进程发送 WINCH 信号,通知旧的工作进程(Worker Processes)在处理完当前请求后立即退出。 code Bash kill -WINCH <旧MasterPID> 状态: 此时,所有新流量已全部由新版本进程处理。步骤 4:业务验证(关键环节) 在彻底删除旧版本前,必须进行全方位验证: 本地验证: curl -I http://127.0.0.1:端口 外部验证: telnet IP 端口 或 浏览器访问。 日志验证: tail -f /usr/local/nginx/logs/error.log 检查是否有 [emerg] 报错。 ### 步骤 5:彻底关闭旧主进程 (QUIT) 确认业务运行稳定后,关闭不再需要的旧主进程。 ```text kill -QUIT ``` 五、 异常处理与回滚方案 1. 怎么回滚? 如果在 步骤 3 之后发现新版本运行异常,可以通过以下指令将流量瞬间切回旧版本: code Bash # 向新主进程发送 WINCH 信号,让新 worker 退出 kill -WINCH # 此时流量会自动切回尚未关闭的旧 worker 进程 2. 常见坑点排查 ```text Text file busy: 不要用 cp 覆盖运行中的文件,必须用 mv。 版本显示不一致: 如果 nginx -v 显示旧版而 ps 显示新版,说明 /usr/local/bin/nginx 和 /usr/local/nginx/sbin/nginx 两者不一致,请同步覆盖。 Telnet 不通: 若 curl 内部通但外部不通,请检查防火墙(Firewalld/Security Group)策略,这通常与 NGINX 升级无关,而是网络层波动。 ``` 六、 总结流程图 备份→→编译→→mv替换→→USR2(启动新版)→→WINCH(切流量)→→验证→→QUIT(删旧版)
2026年05月20日
6 阅读
0 评论
0 点赞
2026-04-13
2026 最新实战:在单卡 48GB GPU 上部署 Qwen3.5-35B-A3B MoE 模型(vLLM + Open WebUI 完整指南)
一、为什么选择 Qwen3.5-35B-A3B?Qwen3.5-35B-A3B 是阿里通义千问团队于 2026 年初发布的 混合专家(MoE)模型,具备以下优势:小体积,大能力:总参数量 35B,但每次推理仅激活约 3B 参数,显存占用远低于同级别 Dense 模型。超长上下文:原生支持 262,144 tokens,轻松处理长文档、代码库。开源免费:采用 Apache 2.0 协议,可商用,权重已在 ModelScope 魔搭社区 公开。性能卓越:在多项基准测试中超越前代 Qwen3-235B-A22B,推理成本更低。对于拥有 单张 48GB GPU(如 A6000、RTX 6000 Ada)的用户,它是目前能本地部署的 最强 MoE 模型。二、环境配置(无需虚拟环境,全局安装即可)重要提示:经大量用户反馈,vLLM 与 Open WebUI 必须在同一 Python 环境中运行,否则会出现模块缺失或 API 不兼容问题。因此,直接使用全局环境是最简单可靠的方案。# 升级 pip(避免旧版 pip 的编译问题) pip install --upgrade pip #安装魔塔社区的包 pip install modelscope # 安装 vLLM(自动匹配 CUDA 版本) pip install vllm # 安装 FlashAttention(加速注意力计算) pip install flash-attn --no-build-isolation # 安装webui聊天界面 pip install open-webui三、单卡部署:Qwen3.5-35B-A3B 快速启动1. 下载模型(以 Qwen3.5-35B-A3B 为例)#模型下载 from modelscope import snapshot_download model_dir = snapshot_download('Qwen3.5-35B-A3B',cache_dir='./')四、单卡部署:启动 vLLM 服务vllm serve ./Qwen3.5-35B-A3B \ --dtype bfloat16 \ --port 5000 \ --max_model_len 262144 \ --gpu_memory_utilization 0.85参数详解(针对 MoE 模型优化):参数推荐值说明--dtypebfloat16MoE 模型必须用 bfloat16,auto 可能导致精度下降--port5000API 服务端口(可自定义)--max_model_len262144启用模型最大上下文长度(爆显存时可降至 131072)--gpu_memory_utilization0.8548GB 显存安全值(若爆显存,逐步降至 0.8 → 0.75)显存占用参考(48GB GPU):上下文 262K:~41GB上下文 131K:~38GB上下文 65K:~35GB五、集成 Open WebUI(图形化聊天界面)# 启用网络加速(AutoDL 用户必备) source /etc/network_turbo # 设置环境变量(关键!) export HF_ENDPOINT=https://hf-mirror.com # Hugging Face 镜像加速 export ENABLE_OLLAMA_API=False # 禁用 Ollama 兼容层 export OPENAI_API_BASE_URL=http://127.0.0.1:5000/v1 # 指向 vLLM API export DEFAULT_MODELS="Qwen3.5-35B-A3B" # 必须与模型文件夹名一致 # 启动 WebUI(默认端口 8080,此处改为 6006) open-webui serve --port 6006访问界面浏览器打开:👉 http://你的服务器IP:6006六、多卡部署(扩展参考)注意:Qwen3.5-35B-A3B 仅支持张量并行(Tensor Parallelism),不支持流水线并行。# 2 卡示例(如 2×A6000) vllm serve ./Qwen3.5-35B-A3B \ --dtype bfloat16 \ --port 5000 \ --tensor-parallel-size 2 \ --gpu_memory_utilization 0.8 \ --max_model_len 262144并行策略:--tensor-parallel-size N:必须等于 GPU 数量(如 2 卡设为 2)。不要设置 --pipeline-parallel-size:MoE 模型不兼容。七、OpenAI 格式 API 调用启动兼容 API 服务(等效于 vllm serve)python -m vllm.entrypoints.openai.api_server \ --served-model-name Qwen3.5-35B-A3B \ --model ./Qwen3.5-35B-A3B \ --dtype bfloat16 \ --port 5000 \ --max_model_len 262144 \ --gpu_memory_utilization 0.85Python 调用示例from openai import OpenAI client = OpenAI( base_url="http://localhost:5000/v1", api_key="not-needed" ) response = client.chat.completions.create( model="Qwen3.5-35B-A3B", messages=[{"role": "user", "content": "请用 262K 上下文分析以下代码库..."}], max_tokens=500 ) print(response.choices[0].message.content)
2026年04月13日
4 阅读
0 评论
0 点赞
2026-03-30
【N1安装飞牛之获取root】FNos飞牛NAS获取root密码详细教程
前言很多刚接触 FNos (飞牛私有云) 的小伙伴常会问:“系统的默认 root 密码是多少?”重要提示: 出于安全考虑,FNos 默认没有预设 root 密码,且禁止 root 直接远程登录。您需要使用首次创建的管理员账号通过 SSH 登录后,手动提权设置。本文将手把手教您如何在 3 分钟内完成设置。🛠️ 一、准备工作在开始之前,请确保您已具备以下条件:管理员账号:您初始化 FNos 时创建的第一个账号(拥有 sudo 权限)。SSH 客户端:Windows 用户:推荐使用 PuTTY、Xshell,或直接使用系统自带终端(Win10/11 按 Win+R 输入 cmd 或 powershell)。Mac/Linux 用户:直接使用系统自带的「终端」(Terminal)。网络环境:电脑与 FNos 设备处于同一局域网,且已知晓 FNos 的 IP 地址。🚀 二、操作步骤详解步骤 1:启动 SSH 连接图形化工具 (PuTTY/Xshell):双击打开软件。命令行工具 (CMD/Terminal):Win: 按 Win + R,输入 cmd 回车。Mac: 在“启动台” -> “其他”中打开“终端”。步骤 2:连接至 FNos 设备在终端中输入以下命令(将 <IP地址> 替换为您实际的 FNos IP):ssh <您的管理员用户名>@<FNos_IP地址> # 例如:ssh admin@192.168.1.100注:默认端口为 22,若未修改过无需额外指定。首次连接提示:若出现Are you sure you want to continue connecting (yes/no/[fingerprint])?请输入 yes 并回车。身份验证:输入管理员账号密码(⚠️ 注意:输入时屏幕不会显示任何字符,这是 Linux 的安全机制,并非键盘失灵,输完直接回车即可)。看到提示符变为 用户名@fnos:~$ 即表示连接成功。步骤 3:设置 Root 密码连接成功后,依次执行以下操作:输入提权命令:sudo passwd root(注意 sudo、passwd、root 之间有空格)验证管理员身份:设定新 Root 密码:成功标志:❓ 三、常见问题解答 (FAQ)Q1:为什么输入密码时屏幕上什么都没显示?A: 这是 Linux/Unix 系统的标准安全机制,防止旁人通过字符长度推测密码。请放心盲打,输完后直接按回车键即可。Q2:提示 user is not in the sudoers file 怎么办?A: 这通常意味着您当前登录的账号不是首次创建的管理员账号。请使用初始化时建立的第一个账号重新登录 SSH。Q3:忘记刚才设置的 Root 密码了?A: 无需重装系统!只需用管理员账号重新登录 SSH,再次执行 sudo passwd root 即可重置。Q4:设置完成后可以直接用 root 登录吗?A: 默认情况下,为了安全,FNos 可能仍禁止 root 直接远程 SSH 登录。建议日常使用普通管理员账号配合 sudo 操作。如确需开启 root 远程登录,需修改 /etc/ssh/sshd_config 文件(新手慎改)。💡 四、总结核心流程仅需三步:SSH 登录:使用管理员账号连接。执行命令:输入 sudo passwd root。双重确认:输入两次新密码。
2026年03月30日
3 阅读
0 评论
0 点赞
2025-09-04
【N1和Armbian】十一、在 docker 中使用 mihomo
须知本文默认您已经安装好了 docker 并了解 docker 的一些基本概念如果您是纯命令行环境,本文将默认你会命令行最基本的使用(如创建文件/文件夹、编辑文本等)mihomo 是 clash 的一个分支,也是目前使用最广泛的分支,各平台许多客户端使用的核心均为 mihomo,或者它曾经还有个可能更多人听过的名字叫 mihomo meta。需要说明的是 mihomo 与最原始的 clash 本身都是一个纯命令行程序,这意味着它本身没有图形界面,但本文会讲到如何配置 mihomo 的 webUI,以便日常使用。编写 mihomo 配置文件新建一个空文件夹命名为 mihomo,在其中新建文本文档 config.yaml可参考下方模板来创建您自己的配置文件,模板参考自官方文档,如果你希望了解配置文件的具体规则,同样请参考官方文档。(本文最后有链接)该模板中必须要修改的是第 19、20 行与 25 行,根据实际情况进行填写,修改模板后不含模板中的尖括号。其中节点提供者名称可自由填写,用于程序区分多个订阅;节点名称前缀会在显示节点信息时插入到原始节点名称前,便于自己区分不同订阅的节点。第 1 行为代理端口设置,第 6 行为外部控制端口设置(如使用 webUI 控制 mihomo)如有需要可自行更改。# =================== 基础设置 =================== mixed-port: 7890 allow-lan: true bind-address: '*' mode: rule log-level: warning external-controller: '0.0.0.0:9090' # =================== 连接优化与实验性功能 =================== tfo: true experimental: http2: true # 提升网页/YouTube加载速度 sniff-tls-sni: false # 更兼容,避免部分网站 TLS 握手失败 # =================== Profile 与连接优化 =================== profile: store-selected: true store-fake-ip: true unified-delay: true keep-alive-interval: 15 # 每15秒保活长连接 tcp-concurrent: true global-client-fingerprint: chrome # =================== 嗅探(新版,无警告)=================== sniff: enabled: true include: - tls - http parse-pure-ip: true override-destination: true force-dns-mapping: true skip-domain: - "+.local" - "+.lan" - "localhost" - "+.alipay.com" - "+.tenpay.com" - "mch.weixin.qq.com" # =================== 代理节点提供者 =================== proxy-providers: 自己: type: file path: ./subs-check/output/mihomo.yaml interval: 3600 health-check: enable: true url: "https://www.gstatic.com/generate_204" interval: 300 timeout: 3000 lazy: true method: GET disable-keepalive: true override: additional-prefix: "MY_" IKUUU: url: "https://rze57.no-mad-world.club/link/WM9j6NcfU4Odu20u?clash=3&extend=1" type: http interval: 3600 health-check: enable: true url: "https://www.gstatic.com/generate_204" interval: 300 timeout: 3000 lazy: true method: GET disable-keepalive: true override: additional-prefix: "IKUUU_" # =================== 本地代理 =================== proxies: - name: "🎯 直连" type: direct udp: true - name: "🛑 拒绝" type: reject udp: true # =================== Geo 数据源(使用 github.dpik.top 加速)=================== geodata-mode: true geox-url: geoip: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat" geosite: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat" mmdb: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/country-lite.mmdb" asn: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/GeoLite2-ASN.mmdb" # =================== DNS 设置 =================== dns: enable: true prefer-h3: true ipv6: false respect-rules: true enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 fake-ip-filter: - "+.lan" - "+.local" - "localhost" - "+.market.xiaomi.com" proxy-server-nameserver: - 223.5.5.5 - 119.29.29.29 - https://223.5.5.5/dns-query default-nameserver: - 223.5.5.5 - 119.29.29.29 namesater: - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - https://1.1.1.1/dns-query fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0.0.0/4 - 0.0.0.0/8 domain: - "+.google.com" - "+.gstatic.com" - "+.facebook.com" - "+.twitter.com" - "+.telegram.org" - "+.youtube.com" - "+.netflix.com" - "+.googleusercontent.com" nameserver-policy: "geosite:cn,private": - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query "geosite:geolocation-!cn": - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query # =================== 代理组 (移除AI和奈飞专用组) =================== proxy-groups: - name: "⚡ 超高速节点" type: url-test use: ["自己", "IKUUU"] url: "https://www.gstatic.com/generate_204" interval: 300 tolerance: 100 lazy: true max-failed-times: 3 - name: "🚀 高速节点" type: url-test use: ["自己", "IKUUU"] url: "https://www.gstatic.com/generate_204" interval: 300 tolerance: 50 timeout: 3000 lazy: true - name: "🚀 节点选择" type: select proxies: - "⚡ 超高速节点" - "🚀 高速节点" - "🚀 手动切换" - "🎯 直连" - name: "🚀 手动切换" type: select include-all: true - name: "📱 电报消息" type: select proxies: - "⚡ 超高速节点" - "🚀 高速节点" - "🚀 手动切换" - name: "📺 油管视频" type: select proxies: - "⚡ 超高速节点" - "🚀 高速节点" - "🚀 手动切换" - name: "📺 哔哩哔哩" type: select proxies: - "🎯 直连" - "🚀 节点选择" - name: "🇨🇳 国内媒体" type: select proxies: - "🎯 直连" - name: "🐟 漏网之鱼" type: select proxies: - "🚀 节点选择" - "🚀 手动切换" - "🎯 直连" # =================== 规则提供者 (移除 Telegram/YouTube/ProxyGFWlist 的外部文件) =================== rule-providers: LocalAreaNetwork: url: "https://testingcf.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/LocalAreaNetwork.list" path: ./ruleset/LocalAreaNetwork.list behavior: classical interval: 86400 format: text type: http UnBan: url: "https://testingcf.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/UnBan.list" path: ./ruleset/UnBan.list behavior: classical interval: 86400 format: text type: http # =================== 规则 =================== rules: - "PROCESS-NAME,subs-check.exe,🎯 直连" - "PROCESS-NAME,subs-check,🎯 直连" - "RULE-SET,LocalAreaNetwork,🎯 直连" - "RULE-SET,UnBan,🎯 直连" - "GEOSITE,private,🎯 直连" - "GEOSITE,telegram,📱 电报消息" - "GEOSITE,youtube,📺 油管视频" - "GEOSITE,gfw,🚀 节点选择" - "GEOSITE,cn,🎯 直连" - "GEOIP,CN,🎯 直连" - "MATCH,🐟 漏网之鱼"安装mihomo和webUI对于 metacubexd 服务:docker run -d \ --name metacubexd \ --restart always \ -p 9097:80 \ ghcr.io/metacubex/metacubexd对于 mihomo 服务:由于mihomo使用了host网络模式、添加了所有的Linux capabilities (cap_add: - ALL),并且挂载了一些特殊的卷(如/dev/net/tun),其docker run命令稍微复杂一些。请确保替换<config.yaml所在目录>为您实际的配置文件目录路径。docker run -d \ --name mihomo \ --restart always \ --pid host \ --ipc host \ --network host \ --cap-add ALL \ -v <config.yaml所在目录>:/root/.config/mihomo \ -v /dev/net/tun:/dev/net/tun \ docker.io/metacubex/mihomo:latest打开 webUI 并开始使用在局域网内任意设备浏览器中输入 设备IP:9097 即可访问 metacubexd 的界面,后端地址填写 http://设备IP:9090 ,密钥留空即可,如图所示,点击添加便可管理 mihomo 的各项配置。若在前文中修改了 webUI 访问端口和外部控制端口,请自行替换为自己设置的端口号。如果你使用 metacubexd 更改了一些设置,那将只会在 mihomo 的本次运行生效,重启 mihomo 会将所有设置重置为你第一步在 config.yaml 中所填写的配置至此已搭建完成,在需要使用网络代理的地方在代理选项内填入 设备IP:7890 即可使用。附上我的配置{cloud title="蓝奏云" type="lz" url="https://daimafengzi.lanzout.com/iDf3835ejsdi" password=""/}{cloud title="百度云" type="bd" url="https://pan.baidu.com/s/1r6gbtIhPDl0vuL45X6hn3w?pwd=2jff" password="2jff"/}{cloud title="123盘" type="default" url="https://www.123912.com/s/0ztiVv-K7Yod" password=""/}{cloud title="天翼云(访问码:to8l)" type="default" url="https://cloud.189.cn/web/share?code=yQriea7NjEby" password=""/}
2025年09月04日
6 阅读
0 评论
0 点赞
2025-06-18
openvpn增加记录log的脚本,登录断开以及登录用户,登录IP等信息
一、前言在部署和维护 OpenVPN 服务的过程中,日志记录是非常重要的环节。它不仅可以帮助我们排查连接问题,还能在一定程度上了解用户的连接行为,甚至为后续的安全审计提供依据。本文将详细介绍如何配置 OpenVPN 的日志系统,包括客户端连接/断开日志记录、脚本调用方式、以及如何结合其他工具实现更深入的流量分析。二、OpenVPN 自带日志功能1. 启用基础日志记录在 OpenVPN 配置文件(如 /etc/openvpn/server.conf)中添加以下配置,即可启用日志记录功能:log-append /var/log/openvpn.log verb 3log-append:指定日志文件路径。verb:设置日志详细级别(0~11),推荐使用 3 或 4 级别,既包含必要信息又不会过于冗余。2. 查看日志内容示例tail -f /var/log/openvpn.log你可能会看到类似如下内容:Tue Jun 17 23:51:25 2025 mac/59.58.241.32:50307 TLS: Initial packet from [AF_INET]59.58.241.32:50307 Tue Jun 17 23:51:25 2025 mac/59.58.241.32:50307 VERIFY OK: depth=1, CN=cn_SbC48kvvDiZmgbNy Tue Jun 17 23:51:25 2025 mac/59.58.241.32:50307 VERIFY OK: depth=0, CN=mac这些信息显示了:客户端证书 Common Name(CN)客户端公网 IP 和端口连接时间认证状态等三、记录客户端连接/断开日志(使用脚本)为了更细粒度地记录每个客户端的连接和断开事件,我们可以使用 client-connect 和 client-disconnect 脚本。1. 启用脚本支持在 OpenVPN 配置文件中添加:(一般在/etc/openvpn/server.conf)script-security 2 client-connect /etc/openvpn/scripts/connect.sh client-disconnect /etc/openvpn/scripts/disconnect.sh2. 添加脚本:connect.sh(注意脚本存放路径为:/etc/openvpn/scripts/如果目录不存在则自行创建)#!/bin/bash LOGDIR="/etc/openvpn/log" LOGFILE="$LOGDIR/connect.log" DATE=$(date +"%Y-%m-%d %H:%M:%S") CN="${common_name:-UNKNOWN_CN}" IP="${trusted_ip:-0.0.0.0}" PORT="${trusted_port:-0}" if [ ! -d "$LOGDIR" ]; then mkdir -p "$LOGDIR" chown nobody:nobody "$LOGDIR" chmod 750 "$LOGDIR" fi echo "$DATE - 账户 '$CN' 来自 IP='$IP:$PORT' , 内网分配 IP='$ifconfig_pool_remote_ip' , 系统类型: $IV_PLAT" >> "$LOGFILE" exit 03. 添加脚本:disconnect.sh(注意脚本存放路径为:/etc/openvpn/scripts/如果目录不存在则自行创建)#!/bin/bash LOGDIR="/etc/openvpn/log" LOGFILE="$LOGDIR/disconnect.log" DATE=$(date +"%Y-%m-%d %H:%M:%S") CN="${common_name:-UNKNOWN_CN}" IP="${trusted_ip:-0.0.0.0}" PORT="${trusted_port:-0}" echo "$DATE - 账户 '$CN' 来自 IP='$IP:$PORT' , 内网分配 IP='$ifconfig_pool_remote_ip' , 系统类型: $IV_PLAT" >> "$LOGFILE" exit 04. 设置脚本权限chmod +x /etc/openvpn/scripts/*.sh chown nobody:nobody /etc/openvpn/scripts/*.sh chown -R nobody:nobody /etc/openvpn/log/重启服务后,你会在 /etc/openvpn/log/connect.log 和 /etc/openvpn/log/disconnect.log 中看到详细的连接记录。四、结语通过对 OpenVPN 的日志系统进行合理配置,结合脚本记录、环境变量提取和第三方工具分析,我们可以实现对客户端连接行为的有效追踪和管理。这不仅有助于运维排障,也能为网络安全提供有力支持。
2025年06月18日
2 阅读
0 评论
0 点赞
2025-02-25
frp 部署及使用(内网穿透)
前言FRP(Fast Reverse Proxy) 是一个开源的反向代理工具,主要用于内网穿透和远程访问。它可以通过映射网络服务(如 HTTP、TCP、UDP 等)到公网,实现内网服务的外网访问,特别适合在无公网 IP 或有防火墙限制的场景下使用。 下载地址:https://github.com/fatedier/frp/releases {cloud title="下载链接" type="default" url="https://github.com/fatedier/frp/releases" password=""/}详细使用文档:https://gofrp.org/zh-cn/docs/overview/核心功能内网穿透反向代理自定义域名跨网络访问安全性多种高级功能一、环境准备说明一下frp 分为: 1、frps 服务端(外网使用);2、frpc 客户端(内网使用)模拟环境:家用服务器没有公网 ip 云服务器有公网 ip 两服务器系统环境均为:Ubuntu 24.04 frp服务包: (两个环境版本一致) 二、安装包准备{cloud title="蓝奏云," type="lz" url="https://daimafengzi.lanzout.com/b01tp77j0f" password="2t25"/}{cloud title="天翼云盘,(访问码:kn18)" type="default" url="https://cloud.189.cn/web/share?code=ZZrEvm32iqiy" password=""/}{cloud title="123云盘" type="default" url="https://www.123684.com/s/0ztiVv-vUaod?" password="R14f"/}三、外网服务器部署 frps上传压缩包到任意目录然后解压,示例 /usr/local/ 目录# 解压到当前目录 unzip frps.zip # 移动并改名 mv frps /usr/local/frps # 创建 frp 用户 useradd -r -s /usr/sbin/nologin -M frp # 授权文件夹 chown -R frp:frp /usr/local/frp备份并修改 frps 配置文件 frps.toml (直接执行命令,不用手动编辑)# 备份配置文件 cp /usr/local/frp/frps.toml /usr/local/frp/frps.tomlbak# 直接执行覆盖原来的配置 /usr/local/frp/frps.toml > [common] # 服务端绑定的端口,用于客户端与服务端通信的核心端口。需要确保该端口对外网开放。 bind_port = 7000 # HTTP 代理的虚拟主机端口。用于通过域名访问客户端的 HTTP 服务,需配置 DNS。 vhost_http_port = 80 # HTTPS 代理的虚拟主机端口。用于通过域名访问客户端的 HTTPS 服务,需配置 DNS。 vhost_https_port = 443 # 密钥,是自定义的,想怎么填写就怎么填写,但客户端和服务端必须保持一致,确保安全通信。 token = "Frp20241129" # 仪表板端口,用于查看 frps 服务端的运行状态和管理客户端连接。访问地址:服务器IP:7500 dashboard_port = 7500加入系统服务并开机自启动 # 加入系统服务 /etc/systemd/system/frps.service [Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /etc/frpc/frps -c /etc/frpc/frps.toml [Install] WantedBy = multi-user.target # 重载配置使其生效 systemctl daemon-reload # 启动 frps 服务 systemctl start frps.service # 设置开机自启 systemctl enable frps.service四、内网服务器部署 frpc上传压缩包到任意目录然后解压,示例 /usr/local/ 目录# 解压到当前目录 unzip frpc.gz # 移动并改名 mv frpc /usr/local/frpc # 创建 frp 用户 useradd -r -s /usr/sbin/nologin -M frp # 授权文件夹 chown -R frp:frp /usr/local/frp备份并修改 frpc 配置文件 frpc.toml (直接执行命令,不用手动编辑)cp /usr/local/frp/frpc.toml /usr/local/frp/frpc.tomlbak# 直接执行覆盖原来的配置 /usr/local/frp/frpc.toml > [common] server_addr = "此处引号内填写外网服务器的公网IP" # 服务端口 server_port = 7000 # 密钥,需要和 frps 配置一致 token = "Frp20241129" # 配置每个内网服务 # 服务名称,随便写,自己能看懂就行 [ssh_test] type = "tcp" local_ip = "127.0.0.1" # 家用服务器上暴露的端口 local_port = 22 # 外网服务器上暴露的端口,ssh时候,使用外网 IP 和这个端口可以远程访问家里的服务器 remote_port = 2299 # 服务名称,随便写,自己能看懂就行 [web_server] type = "http" local_ip = "127.0.0.1" # 家用服务器上暴露的端口 local_port = 80 # 外网服务器上暴露的端口,使用外网 IP 和这个端口可以远程访问家里web服务,这个配置和域名 #remote_port = 6001 # 用于 HTTP 和 HTTPS 域名的代理。填写自己的域名,没有就注释这个配置,启用 remote_port 配置 custom_domains = "www.adbc.cn" #remote_port 和 custom_domains 配置冲突,只能使用一个 加入系统服务并开机自启动 # 加入系统服务 /etc/systemd/system/frpc.service [Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /etc/frpc/frps -c /etc/frpc/frps.toml [Install] WantedBy = multi-user.target # 重载配置使其生效 systemctl daemon-reload # 启动 frps 服务 systemctl start frpc.service # 设置开机自启 systemctl enable frpc.service五,查看 frpc 是否在 frps 内注册,并测试网页访问使用外网手机或者电脑访问域名,测试通过。域名记得配置 公网DNS解析 。
2025年02月25日
2 阅读
0 评论
0 点赞
2024-12-10
lnmp如何打开mysql远程访问
1、给mysql的数据库账户增加远程访问权限mysql; mysql>use mysql; mysql>grant all privileges on *.* to '账户'@'%或者ip' identified by '密码' with grant option; mysql>flush privileges; # 加载刚刚设置的配置 mysql>exit; #退出mysql lnmp restart # 重启lnmp2、通过iptables修改系统防火墙规则iptables -L -n --line-numbers # 查看已有的iptables规则 # 在iptables规则里有一行是DROP,末尾以3306结尾的,在lnmp1.5里面序号是6,不同版本可能会不一样,自行确认 iptables -D INPUT 6如果删掉drop 3306端口后,还是连接补上,就通过iptables添加上3306端口# 新增规则(-I表示插入在链的第一位置,-A 表示追加到链的末尾位置,防火墙规则是从上往下读取) iptables -I INPUT -p tcp --dport 3306 -j ACCEPT # 保存规则到默认文件/etc/sysconfig/iptables service iptables save # 重启 service iptables restart3、阿里云或者腾讯云,在控制端放开相关端口
2024年12月10日
1 阅读
0 评论
0 点赞
2024-09-09
aris常用命令收集
aris常用命令收集查看运行的服务状态list停止所有的服务stopall启动所有的服务startall启动单独某服务start xxxxx检查可运行程序使用的端口show node强制结束所有服务quick killall强制结束某服务list quick kill xxx1、进ARIS服务器看硬盘使用情况 2. 查看ads服务的资源配置 3. ACC命令:show instance adsadmin_l(保存截图) 4. reconfigure adsadmin_l +JAVA-Xmx="2048m" 5. **重启服务**:stop adsadmin_l,执行完后 start adsadmin_l
2024年09月09日
3 阅读
0 评论
0 点赞
1
2
...
4