1.1 概述:本文基于真实案例,针对“香港 CN2 NAT 主机”从购买、初始访问、端口映射、网站部署到常见问题排查做逐步详细说明,适合有一定 Linux 基础的运维或开发人员参考。
1.2 准备工作:确认已在服务商面板购买 CN2 NAT 主机(含私有内网 IP),准备好域名、SSH 密钥(或初始密码)、本地终端(Windows 使用 PuTTY 或 Windows Terminal,macOS/Linux 直接终端),并记录公网 NAT 映射或端口转发规则。
2.1 登录服务商控制面板,找到该实例的“网络”或“NAT/端口转发”项,查看是否存在公网 IP(通常为共享/弹性公网 IP)以及对应的端口映射规则。
2.2 如果没有端口映射,添加规则:示例将公网 2222 映射到主机内网 22(SSH)、80->80、443->443。填写协议 TCP、外部端口、内部 IP(主机内网 IP)与端口,保存并等待生效(有时需要几分钟)。
3.1 使用 SSH 登录:若映射为 2222,则在本地终端执行 ssh root@公网IP -p 2222,或 Windows 下配置 PuTTY 连接对应端口。首次登录会提示更改密码或接受指纹。
3.2 基本安全设置:创建新用户并授权 sudo:adduser deploy; usermod -aG sudo deploy;配置公钥登录:在 ~/.ssh/authorized_keys 放入本地 id_rsa.pub;禁用密码登录:编辑 /etc/ssh/sshd_config 将 PasswordAuthentication no,Restart SSH 服务(systemctl restart sshd)。
4.1 更新系统:Ubuntu/Debian 执行 apt update && apt upgrade -y;CentOS 执行 yum update -y。
4.2 安装常用软件:安装 Nginx、certbot、ufw、git、mtr、traceroute:Ubuntu 示例 apt install nginx certbot python3-certbot-nginx ufw git mtr traceroute -y。
5.1 在域名提供商处添加 A 记录:将域名指向控制面板提供的公网 IP(即 NAT 公网 IP)。注意某些 CN2 NAT 环境需把 TTL 设置低以便快速修改。
5.2 创建 Nginx 虚拟主机配置:在 /etc/nginx/sites-available/yourdomain.conf 中写入 server 块:server_name yourdomain.com; root /var/www/yourdomain; index index.html index.php; 然后 ln -s 到 sites-enabled 并 nginx -t && systemctl reload nginx。
5.3 若使用反向代理或多个端口映射,确认映射端口与 Nginx 监听端口一致(80/443 一般为外部映射)。
6.1 使用 certbot 获取证书(Nginx 插件):certbot --nginx -d yourdomain.com;按提示自动修改 Nginx 配置并生成 /etc/letsencrypt 下的证书。
6.2 验证并设置自动续期:执行 certbot renew --dry-run 检查;通常系统自带 cron/ systemd timer 已自动续期,无需手动干预。
7.1 网络检测:使用 mtr yourdomain.com 或 mtr -r -c 100 yourdomain.com 检查到中国的路由是否走 CN2;观察是否经过电信 CN2 的链路节点(带有 CN2 标识或较低丢包率与延迟)。
7.2 内核与 TCP 调优:启用 BBR(可提高 TCP 性能):检查内核支持后 echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf; echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf; sysctl -p。
7.3 使用 CDN 与静态资源分离:即使 CN2 速度好,使用 CDN(如腾讯云/阿里云/Cloudflare 的中国节点)可以进一步稳定访问并降低主机负载。
问:SSH 无法连接,提示连接超时,我该如何排查?
答:先在面板确认端口映射规则是否生效(公网端口映射到内网 22);在控制台尝试“远程终端/串口控制台”登录检查 sshd 是否运行(systemctl status sshd);检查防火墙规则(ufw status 或 iptables -L),若 ufw 启用,执行 ufw allow 2222/tcp(对应公网端口);若仍不通,联系服务商确认 NAT 网络是否正常或是否存在黑名单限制。
问:网站在国内偶尔访问慢或丢包,如何定位是否为 CN2 路由问题?
答:使用 mtr 或 traceroute 从不同国内节点(如阿里云/腾讯云香港内网或本地机器)对域名或公网 IP 进行路由跟踪,观察是否存在跳数异常或丢包发生在某一段链路;若确认非主机自身资源瓶颈(CPU、内存、I/O),且路由不走 CN2,联系服务商申请走 CN2 GIA 路由或升级线路,或使用国内 CDN 覆盖不稳定段。
问:如何在 CN2 NAT 环境下部署需要多个公网端口的应用(如 22、80、443、8080)?
答:在服务商面板为该实例逐一添加端口映射规则,将每个外部端口映射到内网对应端口;注意有些供应商会限制可映射端口范围或每实例映射数量,必要时申请独立弹性公网 IP;在主机内确认服务监听的端口与映射一致,并开放防火墙端口(ufw allow 8080/tcp 等)。