- 问清楚:20M 是带宽上限(Mbps)还是单连接限速?是否有峰值限制或峰值抑制;流量是否按月计费或超流量降速/计费。
- 验证方法:在 VPS 上运行 speedtest-cli(安装:sudo apt update && sudo apt install -y speedtest-cli),多时段测三次:speedtest-cli --server SERVER_ID。
- 如果发现速率不足:询问是否有端口限速或上游过滤,要求提供路由器/交换机侧的 QoS 配置截图或更换端口/机房。
- 必问:给的是独立公网 IPv4、共享 NAT 后的公网还是 CGNAT?是否支持静态公网 IP / 异地绑定。
- 检查命令:curl -s ifconfig.me && ip addr show。若返回私有地址(10./172.16./192.168.),即为 NAT/CGNAT。
- 若为 CGNAT:若需外部访问(对等链接、映射端口),要求提供独立公网 IP 或使用 IPv6/端口转发服务。
- 要求:提供 BGP 路由 ASN、上游 ISP、到主要节点(韩国国内、亚太交换点)的 traceroute 数据。
- 本地测试:在 VPS 上运行 mtr -rw TARGET(例如 mtr -rw 8.8.8.8)或 traceroute -n TARGET,观察丢包与跳数。
- 优化建议:若跳数多或丢包高,考虑更换机房、供应商或使用加速/中继(如 CDN、专线、SD-WAN)。
- 问清楚:是否需要 PPPoE 拨号(拨号 VPS),如果是 MTU 通常需降为 1492 或更低(常见 1460)。
- 临时测试命令:ping -M do -s 1472 8.8.8.8(逐步减小直到不分片,找到合适 MTU = payload+28)。
- 永久设置(以 eth0 为例):sudo ip link set dev eth0 mtu 1460 或编辑 /etc/network/interfaces 或 netplan 配置并重启网络。
- 推荐先确认:供应商默认是否开放 22 端口,是否允许用户名/密码登录。
- 安全配置步骤:创建非 root 用户并加入 sudo:sudo adduser deployer && sudo usermod -aG sudo deployer;禁用密码登录并启用公钥:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no、PasswordAuthentication no、Port 22(可改)。重启 ssh:sudo systemctl restart sshd。
- 把公钥追加到 ~deployer/.ssh/authorized_keys,权限设置:chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys。
- 基本规则:只允许必要端口(SSH、应用端口、监控端口)。示例 ufw:sudo apt install ufw && sudo ufw default deny incoming && sudo ufw default allow outgoing && sudo ufw allow 22/tcp && sudo ufw enable。
- 对高并发/拒绝服务防护:设置 conntrack 限制和 SYN 保护,编辑 /etc/sysctl.conf 并应用:sudo sysctl -w net.netfilter.nf_conntrack_max=131072 && sudo sysctl -w net.ipv4.tcp_syncookies=1。
- 保存规则:iptables-save > /etc/iptables/rules.v4(Debian/Ubuntu 使用 iptables-persistent)。
- 日志策略:确认供应商是否提供主机控制台日志,自己应启用 rsyslog 或 journalctl 持久化并定期收集。
- 部署监控:安装 node_exporter、Prometheus 或简单的 uptime 检查脚本;可结合外部服务(例如 UptimeRobot)检测端口/HTTP。
- 告警与备份:配置邮件/钉钉/Slack 告警并每天备份关键配置(/etc、ssh keys、应用数据)到异地(S3 或 FTP)。
- 上线前操作:更新系统并打补丁:sudo apt update && sudo apt full-upgrade -y。检查内核版本与已知漏洞。
- 禁用不必要服务:使用 sudo systemctl list-unit-files --state=enabled 检查并停用不必要服务(例:ftp、telnet)。
- 安全强化:安装 fail2ban:sudo apt install -y fail2ban 并配置 /etc/fail2ban/jail.local 保护 ssh、nginx 等。
- DNS 要求:询问是否支持自定义 A/AAAA 记录和反向 PTR(反向解析常用于邮件)。
- 检查方法:dig +short A your.vps.domain 和 dig -x IP,确认反向解析正确指向域名。
- 合规性:确认数据存放地点、可否用于某些业务(金融、医疗)以及是否需要备案或特殊许可(依目标业务而定)。
- 问清楚:供应商是否提供自动快照、备份频率、恢复时长、费用。是否提供 ISO 挂载或救援模式以便脱困。
- 本地备份建议:使用 rsync + cron 将 /etc、/home、数据库导出到远端存储;示例脚本(每日)rsync -a --delete /var/www/ backup@remote:/backups/vps/。
- 恢复演练:上线前做一次完整恢复演练,记录步骤并计时,确保 SLA 符合业务需求。
答:首要明确公网 IP 是否独立及是否需 PPPoE 调整 MTU,然后在接入后立刻更新系统、创建非 root 用户并设置 SSH 公钥登录、启用防火墙与 fail2ban。按顺序:确认 IP → 更新系统 → 用户与 SSH → 防火墙 → 监控/备份。
答:在不同时间段做多次 speedtest-cli 测试并记录,同时使用 iperf3 与外部服务器进行双向测试(在另一台可控服务器上运行 iperf3 -s,然后 VPS 上 iperf3 -c SERVER_IP)。结合 traceroute 分析瓶颈是否在机房侧或上游。
答:立即限流与封禁:使用 iptables/nft 设置速率限制(例如 iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -j REJECT),启用 SYN cookies(sysctl net.ipv4.tcp_syncookies=1),并联系供应商请求上游清洗或临时切换到清洗带宽;同时启用备份恢复与快照以防数据损坏。