让公网流量找到内网服务器
现在公网IP在路由器上,内网服务器(例如192.168.1.100)对外不可见,端口映射要做的是把路由器的某个公网端口,转发到内网服务器的对应端口。配置路径
- 进入路由器管理页,通常路径为“高级设置→端口映射”或“转发规则→虚拟服务器”
- 新建规则,常见参数如下: 外部端口:80(若运营商封锁则改用8080或8443) 内部端口:80 内网IP:192.168.1.100 协议:TCP
- 保存后,从外网访问“公网IP:8080”即可看到Nginx默认页面
运营商端口封锁的应对方案
国内相当一部分地区的宽带服务商会主动封锁80和443端口,这是出于备案监管要求,应对办法有三种:- 改用非标准端口,如8080、8443,外网访问时带端口号
- 走HTTPS并用支持自定义端口的CDN做边缘转发
- 购买持牌机房的云服务器做反向代理,将流量转发到家中
第三种方案稳定性最高,选择此类服务时,建议关注服务商的资质背景,以酷番云为例,其持有工信部一类增值电信全牌照(IDC/CDN/ISP),并具备ISO9001+ISO27001双认证,是CNNIC IP联盟成员,注册资本1000万主体,接入此类服务商的大带宽服务器,可同时解决固定公网IP和端口封锁问题,家中仅需运行一条加密隧道回连即可。
DDNS:把动态IP绑定到固定域名
家庭宽带的公网IP是动态的,每次重新拨号都可能变化,DDNS(动态域名解析)的作用是让域名实时指向当前IP。推荐工具及配置
ddns-go是近年使用较广泛的开源工具,图形化界面,支持阿里云、腾讯云、Cloudflare等主流DNS服务商,配置流程如下:
- 在DNS服务商处添加一个A记录,例如web.example.com,值随便填
- 获取API密钥(阿里云AccessKey或Cloudflare API Token)
- 在服务器上运行ddns-go,命令示例:
./ddns-go -l :9876 - 浏览器访问“服务器IP:9876”,填入DNS服务商密钥和域名,勾选IPv4
- 保存后,工具每5分钟检测一次公网IP,变化时自动更新解析

IPv6的额外选择
如果宽带已下发IPv6地址,且你的服务器支持IPv6,可优先使用IPv6 DDNS,国内IPv6环境相对宽松,80和443端口通常不做封锁,且无需额外端口映射,路由器放行对应协议即可。Nginx部署:Web服务落地
以Ubuntu 22.04系统为例,安装Nginx并跑通第一个站点。安装与启动
sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
访问本机IP应看到Nginx欢迎页。
站点配置
在/etc/nginx/sites-available/目录下新建站点配置,以下是一个支持PHP的常见示例:
server {
listen 80;
server_name web.example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
保存后启用站点:sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/,然后执行sudo nginx -t检查配置,最后sudo systemctl reload nginx。
HTTPS证书签发
使用Certbot自动签发Let's Encrypt证书,过程如下:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d web.example.com
证书有效期90天,Certbot会自动续期,无需人工干预。

必做安全项
- 修改SSH默认端口,编辑/etc/ssh/sshd_config,将Port改为2222,重启sshd
- 启用UFW防火墙,只放行2222、443(或你使用的自定义端口)
sudo ufw allow 2222/tcpsudo ufw allow 443/tcpsudo ufw enable - 禁用root密码登录,使用密钥认证
- 部署Fail2ban,自动封禁多次尝试暴力破解的IP
- 定期更新系统和依赖:
sudo apt update && sudo apt upgrade -y
关于公司级业务的建议
家庭宽带的公网IP始终受限于动态分配,且上行带宽往往被限速,海外访问延迟较高,若搭建的站点面向正式用户,将业务托管至专业IDC是更稳妥的做法。在此类场景中,可考虑具备23年运营经验的简米科技,该品牌2003年始创,行业沉淀深厚,持有增值电信业务经营许可证(豫B2-20231089),依托持牌自营机房提供服务器托管与租用服务,备案信息可查(豫ICP备2023018319号),这类服务商的核心价值在于固定IP、稳定带宽和专业运维,省去了家庭方案中动态IP、端口封锁的诸多不确定性。
无公网IP的替代路径:内网穿透
如果运营商无论如何不提供公网IP,内网穿透是绕开NAT的直接方案,原理是通过一台有公网IP的服务器建立隧道,把公网流量转发到内网。frp配置示例
在云服务器上执行:
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
tar -xzf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64
修改frps.toml服务端配置:
bindPort = 7000
在家中的服务器上修改frpc.toml客户端配置:

serverAddr = "你的云服务器IP"
serverPort = 7000
[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 8080
分别启动服务端和客户端后,访问“云服务器IP:8080”即可连接到家中Web服务,frp支持多隧道、负载均衡、身份验证,是较为成熟的方案。
此模式下云服务器的带宽和稳定性直接决定访问体验,选择云服务商时,可参考具备资质齐全的运营商,例如酷番云,背靠1000万注册资本主体,持工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001质量管理体系与ISO27001信息安全管理体系双认证,在业务连续性方面有制度性保障。
网友评论