chore: 同步知识库文档更新
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
67
.obsidian/workspace.json
vendored
67
.obsidian/workspace.json
vendored
@@ -11,10 +11,14 @@
|
||||
"id": "c1c9b81829eaeb44",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "docs/Obsidian笔记体系/Projects/个人知库/项目资料.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "新标签页"
|
||||
"title": "项目资料"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -49,7 +53,7 @@
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "腾讯云",
|
||||
"query": "宝塔",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
@@ -179,44 +183,41 @@
|
||||
"command-palette:打开命令面板": false
|
||||
}
|
||||
},
|
||||
"active": "5b497a77c6d68c73",
|
||||
"active": "c1c9b81829eaeb44",
|
||||
"lastOpenFiles": [
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/宝塔面板.md.tmp.16048.1779593050820",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/ssl证书申请.md.tmp.16048.1779593050693",
|
||||
"docs/Obsidian笔记体系/Projects/故障排除记录/2026-06-27-云服务器3001端口无法访问.md",
|
||||
"docs/Obsidian笔记体系/Projects/故障排除记录",
|
||||
"docs/Obsidian笔记体系/Projects/命令工作台.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/claude连接腾讯云服务器.md",
|
||||
"cloude连接腾讯云服务器.txt",
|
||||
"docs/assets/images/Pasted image 20260524111918.png",
|
||||
"docs/assets/images/Pasted image 20260524104329.png",
|
||||
"docs/assets/images",
|
||||
"docs/assets",
|
||||
"Pasted image 20260524111918.png",
|
||||
"Pasted image 20260524104539.png",
|
||||
"Pasted image 20260524104404.png",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/SSL证书续期_20260524.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/宝塔面板.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/ssl证书申请.md",
|
||||
"Pasted image 20260524104329.png",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/项目资料.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/后台检查报告_20260524.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/生长激素缺乏预测模型项目需求文档.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/使用系统nginx.md",
|
||||
"docs/Obsidian笔记体系/Projects/陪诊/瑞来健康项目资料.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/宝塔nginx和系统nginx对比分析.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/配置完成.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/项目目录位置.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/后台管理网址.md",
|
||||
"docs/Obsidian笔记体系/Projects/agent/未来规划.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/SSL证书续期_20260524.md",
|
||||
"docs/index.md",
|
||||
"docs/Obsidian笔记体系/Projects/女童生长激素项目/宝塔面板.md",
|
||||
"docs/Obsidian笔记体系/Projects/故障排除记录/2026-06-27-云服务器3001端口无法访问.md.tmp.11140.1782558433540",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/取消claude code频繁确认权限提示.md",
|
||||
"docs/龙虾openclaw/🦞 OpenClaw 龙虾助手 使用教程.md",
|
||||
"docs/龙虾openclaw/🦞🍊 多Agent系统使用指南.md",
|
||||
"docs/龙虾openclaw/🦞🍊 扩展Agent利用率的方法.md",
|
||||
"docs/龙虾openclaw/未命名 2.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/temp.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/claude-code启动.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/Claude 功能.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/自主agent改造计划方案.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/启动claude.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/模型上下文限制问题.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/更换云服务器.md",
|
||||
"docs/Obsidian笔记体系/Projects/agent/agent资料.md",
|
||||
"docs/Obsidian笔记体系/Projects/agent/未来规划.md",
|
||||
"docs/Obsidian笔记体系/Projects/agent/wk3.md",
|
||||
"docs/Obsidian笔记体系/Projects/agent/wk4.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/temp.md",
|
||||
"docs/Obsidian笔记体系/Projects/claude code/启动claude.md",
|
||||
"docs/Obsidian笔记体系/Projects/个人知库/项目资料.md",
|
||||
"docs/Obsidian笔记体系/Projects/陪诊/数据库配置.md",
|
||||
"docs/Obsidian笔记体系/Projects/陪诊/修复计划0512.md",
|
||||
"docs/Obsidian笔记体系/Projects/陪诊/蓝湖.md",
|
||||
"docs/Obsidian笔记体系/Projects/个人知库",
|
||||
"docs/Obsidian笔记体系/Projects/陪诊/后台管理系统访问和登录信息.md",
|
||||
"docs/学习笔记/honor工作资料.md",
|
||||
"docs/学习笔记/效率提升.md",
|
||||
"未命名 1.base",
|
||||
"未命名.base",
|
||||
"未命名 3.base",
|
||||
@@ -225,7 +226,9 @@
|
||||
"Pasted image 20260510095333.png",
|
||||
"Pasted image 20260510091232.png",
|
||||
"Pasted image 20260510133924.png",
|
||||
"docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/产品经理",
|
||||
"docs/Obsidian笔记体系/Projects/瑞来兹软件公司组织架构/测试"
|
||||
"Pasted image 20260510092432.png",
|
||||
"Pasted image 20260510083609.png",
|
||||
"Pasted image 20260129111501.png",
|
||||
"Pasted image 20260129111451.png"
|
||||
]
|
||||
}
|
||||
22
cloude连接腾讯云服务器.txt
Normal file
22
cloude连接腾讯云服务器.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
101.43.95.130 username:renjianbo port 22 密码123456
|
||||
|
||||
|
||||
|
||||
● 经历了以下步骤:
|
||||
|
||||
1. 直接用 ssh 命令 — 失败,因为缺少 sshpass 无法在命令行传入密码
|
||||
2. 检测到 Python 3.12 — WindowsApps 里的 python3 不可用,用了实际安装的 C:\Users\Administrator\AppData\Local\Programs\Python\Python312\python
|
||||
3. 安装 paramiko — pip install paramiko,Python 的 SSH 库 4. 用 paramiko 连接 — 脚本如下:
|
||||
|
||||
import paramiko
|
||||
|
||||
ssh = paramiko.SSHClient()
|
||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 自动接受主机密钥
|
||||
ssh.connect('101.43.95.130', port=22, username='renjianbo', password='123456', timeout=10)
|
||||
# 连接成功后执行命令
|
||||
stdin, stdout, stderr = ssh.exec_command('hostname && uname -a && uptime')
|
||||
print(stdout.read().decode())
|
||||
ssh.close()
|
||||
|
||||
关键点:paramiko 支持直接在代码里传入密码,绕过了 OpenSSH 客户端不支持命令行传密码的限制。
|
||||
22
docs/Obsidian笔记体系/Projects/claude code/claude连接腾讯云服务器.md
Normal file
22
docs/Obsidian笔记体系/Projects/claude code/claude连接腾讯云服务器.md
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
101.43.95.130 username:renjianbo port 22 密码123456
|
||||
|
||||
|
||||
|
||||
● 经历了以下步骤:
|
||||
|
||||
1. 直接用 ssh 命令 — 失败,因为缺少 sshpass 无法在命令行传入密码
|
||||
2. 检测到 Python 3.12 — WindowsApps 里的 python3 不可用,用了实际安装的 C:\Users\Administrator\AppData\Local\Programs\Python\Python312\python
|
||||
3. 安装 paramiko — pip install paramiko,Python 的 SSH 库 4. 用 paramiko 连接 — 脚本如下:
|
||||
|
||||
import paramiko
|
||||
|
||||
ssh = paramiko.SSHClient()
|
||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 自动接受主机密钥
|
||||
ssh.connect('101.43.95.130', port=22, username='renjianbo', password='123456', timeout=10)
|
||||
# 连接成功后执行命令
|
||||
stdin, stdout, stderr = ssh.exec_command('hostname && uname -a && uptime')
|
||||
print(stdout.read().decode())
|
||||
ssh.close()
|
||||
|
||||
关键点:paramiko 支持直接在代码里传入密码,绕过了 OpenSSH 客户端不支持命令行传密码的限制。
|
||||
@@ -2,3 +2,6 @@
|
||||
|
||||
知库项目D:\zhiku\mkdocs\docs 上传到git
|
||||
|
||||
|
||||
知库项目D:\workspace\mkdocs\docs上传到git
|
||||
|
||||
|
||||
8
docs/Obsidian笔记体系/Projects/命令工作台.md
Normal file
8
docs/Obsidian笔记体系/Projects/命令工作台.md
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
将问题修复的记录
|
||||
将记录输出到D:\workspace\mkdocs\docs\Obsidian笔记体系\Projects\故障排除记录
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
tags: [故障排除, 服务器, iptables, 网络]
|
||||
date: 2026-06-27
|
||||
server: 101.43.95.130
|
||||
---
|
||||
|
||||
# 云服务器 3001 端口无法访问
|
||||
|
||||
## 问题
|
||||
|
||||
浏览器无法访问 `http://101.43.95.130:3001/`(Gitea),腾讯云安全组已放行 3001 端口。
|
||||
|
||||
## 排查过程
|
||||
|
||||
### 1. 本地端口监听检查
|
||||
|
||||
```bash
|
||||
netstat -tlnp | grep 3001
|
||||
```
|
||||
|
||||
端口 3001 正常监听(docker-proxy),但 PID 需要 root 才能看到。
|
||||
|
||||
### 2. 服务可达性
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:3001/ # 返回 200 ✓
|
||||
curl http://10.0.4.13:3001/ # 返回 200 ✓
|
||||
```
|
||||
|
||||
服务器本地访问正常,Gitea 运行在 Docker 容器 `gitea` 中。
|
||||
|
||||
### 3. 防火墙检查
|
||||
|
||||
```bash
|
||||
firewall-cmd --list-ports # 3001/tcp 在列表中 ✓
|
||||
iptables -L INPUT -n # IN_public_allow 允许 3001 ✓
|
||||
iptables -t nat -L DOCKER -n # DNAT 规则正确 ✓
|
||||
```
|
||||
|
||||
firewalld 和 iptables filter/NAT 规则都正确。
|
||||
|
||||
### 4. tcpdump 抓包
|
||||
|
||||
```bash
|
||||
tcpdump -i any -n port 3001
|
||||
```
|
||||
|
||||
外网 SYN 包到达服务器 `10.0.4.13:3001`,但服务器**没有回复 SYN-ACK**。说明包在到达服务前被静默丢弃。
|
||||
|
||||
### 5. 关键发现
|
||||
|
||||
`iptables -t nat -L PREROUTING -n -v` 显示 DNAT 规则只有 1 个包命中(52 bytes),但 `iptables -L FORWARD -n -v` 中没有包到达 172.19.0.3:3000 的 ACCEPT 规则。说明包在 PREROUTING 和 FORWARD 之间丢失。
|
||||
|
||||
## 根因
|
||||
|
||||
检查 **raw 表** `PREROUTING_direct` 链,发现端口 3001 有 IP 白名单:
|
||||
|
||||
| 规则 | 来源 | 动作 |
|
||||
|------|------|------|
|
||||
| 1 | 123.139.40.30 | ACCEPT |
|
||||
| 2 | 127.0.0.1 | ACCEPT |
|
||||
| 3 | 172.0.0.0/8 (Docker) | ACCEPT |
|
||||
| 4 | 所有其他 IP | DROP |
|
||||
|
||||
当前外网 IP `123.139.39.4` 不在白名单内,所有对 3001 端口的外部请求在 raw 表就被静默丢弃,根本走不到后续的 NAT/DNAT 环节。
|
||||
|
||||
> **raw 表是 iptables 处理流程的第一环**,DROP 的包不会经过 conntrack、nat、filter 等后续处理。
|
||||
|
||||
## 修复
|
||||
|
||||
将当前外网 IP `123.139.39.4` 加入 raw 表 `PREROUTING_direct` 链的白名单。
|
||||
|
||||
## 注意事项
|
||||
|
||||
- raw 表规则很可能是主机安全软件(云镜/主机安全)自动配置的
|
||||
- 服务器重启后可能被重置
|
||||
- 如需永久生效,应在安全软件控制台添加 IP 白名单
|
||||
|
||||
## 经验教训
|
||||
|
||||
1. 排查外网无法访问问题时,如果 firewalld/iptables filter/NAT 都正确,一定要检查 **raw 表**
|
||||
2. 对比工作端口(3006)和故障端口(3001)的差异,可以缩小排查范围
|
||||
3. `tcpdump` 看到 SYN 但无 SYN-ACK → 包被静默丢弃,检查 iptables 最前端
|
||||
Reference in New Issue
Block a user