为什么选择私网地址搭建服务器
在家庭或小型办公网络中,很多人想搭个服务器放点资料、跑个网站或者做个开发测试环境,但公网IP不好申请,还可能被扫到有安全风险。这时候,用私网地址就成了更实际的选择。比如你家路由器分配的 192.168.1.x 或者 10.0.0.x 这类地址,就是典型的私网IP。
常见的私网地址范围
IANA 规定了三段专用于私有网络的IP地址,不会在公网上路由,适合内部使用:
- 10.0.0.0 ~ 10.255.255.255(/8)
- 172.16.0.0 ~ 172.31.255.255(/12)
- 192.168.0.0 ~ 192.168.255.255(/16)
你可以从这些范围内选一个合适的地址给你的服务器用,比如把一台老旧笔记本改成服务器,固定分配个 192.168.1.100。
为服务器设置静态IP
动态获取的IP可能会变,导致服务中断。建议在路由器里给服务器的MAC地址绑定一个固定的私网IP,或者直接在系统里手动配置。
以 Linux 为例,在 Ubuntu 的 netplan 配置中可以这样写:
network:
version: 2
ethernets:
enp3s0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
通过NAT实现外网访问
虽然服务器在私网里,但如果你希望从外面也能访问,比如用手机连上公司的自建Git服务,可以在路由器上做端口转发。比如把外网访问的 8080 端口映射到 192.168.1.100 的 80 端口。
假设你公网IP是 203.0.113.45,别人访问 http://203.0.113.45:8080 实际上就到了你内网的服务器。
使用内网穿透工具
没有固定公网IP也没关系,可以用 frp、ngrok 这类工具做内网穿透。它们的工作原理是让服务器主动连接公网中转机,建立一条反向隧道。
比如用 frpc 客户端配置:
[common]
server_addr = your-frps-server.com
server_port = 7000
[web]
type = http
local_port = 80
custom_domains = myserver.example.com
这样即使你的宽带是动态IP,别人也能通过域名访问到你私网里的服务。
注意安全别裸奔
私网不代表绝对安全。局域网里也可能有恶意设备,建议开启防火墙,关闭不用的端口。比如用 ufw 只允许特定端口:
sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw enable
同时定期更新系统和软件,避免已知漏洞被利用。
适用场景举例
我朋友老李在家搭了个Nextcloud存照片,用的就是 192.168.1.101 这个私网地址。全家人的手机连上WiFi后都能快速同步,不走外网,速度快还省流量。他顺手做了端口转发,出差时用手机也能看家里照片。
另一个例子是开发团队用私网搭 Jenkins 做持续集成,代码提交后自动构建测试,整个流程都在内网完成,效率高又安全。