KSWEB No-IP 动态域名绑定 家庭宽带 IP 变了也不怕
解决什么问题
家庭宽带的公网 IP 一般是动态的——重启路由器、运营商强制重连时 IP 会变。如果你在路由器上做了端口转发(把外网 8080 端口转手机内网 IP 的 8080),IP 一变外面就访问不到了。
DDNS(动态 DNS)服务的作用就是:
- 给你一个固定主机名(比如
ksweb-test.ddns.net) - 有个客户端在路由器或手机上跑,定期把当前的公网 IP 更新到这个主机名的 DNS 记录
- 外面访问
ksweb-test.ddns.net:8080→ DNS 解析到当前的公网 IP → 路由器转发到手机 → 站点可达
KSWEB 内置 No-IP 支持
KSWEB SETTINGS 里有一个 No-IP 集成开关——填好 No-IP 账号、主机名、密码,服务器启动时自动更新 DNS 解析:
- 到 noip.com(或 duckdns.org / dynu.com 等免费 DDNS)注册账号
- 创建一个主机名(比如
ksweb-test.ddns.net) - 在 KSWEB SETTINGS → No-IP 里填:
- Hostname:刚才的主机名
- Username:No-IP 账号
- Password:No-IP 密码(或 API token,取决于 DDNS 服务)
- 开启"服务器启动时自动更新"
- 保存
重启 Web 服务器后 KSWEB 会自动拉取当前公网 IP 并更新到 DDNS 服务。
路由器端口转发
光有 DDNS 还不够——还得让路由器把外网的端口请求转发到手机的内网 IP:
- 登录路由器管理页面(通常是
192.168.1.1或192.168.0.1) - 找到"端口转发 / NAT / 虚拟服务器"配置项
- 新增一条规则:
- 外部端口:8080(或你想对外暴露的端口)
- 内部 IP:手机的内网 IP(如 172.20.10.11)
- 内部端口:KSWEB Web 服务器端口(8080 / 8000 / 9090)
- 协议:TCP
- 保存
路由器重启后这条规则可能需要重新配置(内网 IP 变了)。所以给手机设一个静态内网 IP 更稳。
验证
浏览器访问 http://你的主机名:8080/:
| 结果 | 含义 |
|---|---|
| 能打开 CMS | ✅ DDNS + 端口转发全部正常 |
| DNS 解析到但连接超时 | 路由器端口转发没生效,或运营商做了端口封禁 |
| DNS 解析不到 | KSWEB 的 No-IP 更新失败,检查账号密码和主机名 |
| 有时能有时不能 | 手机内网 IP 变了但路由器端口转发还指向旧 IP,给手机设静态 IP |
运营商封端口怎么办
国内运营商经常封锁 80 / 8080 这些常见端口,外网连不上。解决办法:
- 用非常用端口 — 比如 8888、16666、30000 这类随机高位端口
- 换穿透工具 — 见 端口路由与内网穿透
- 确认是真公网 IP — 有些运营商给的是 CGNAT(共享公网 IP),路由器根本没有独立的公网 IP,端口转发没用,必须走穿透
免费 DDNS 服务推荐
| 服务 | 特点 |
|---|---|
| No-IP | KSWEB 原生支持,免费版有过期周期 |
| DuckDNS | 免费,简单,不需要邮箱验证主机名 |
| Dynu | 免费,支持多个主机名 |
| Cloudflare Dynamic DNS | 有 Cloudflare 域名就能用,完全免费 |