1.
概述:为何在服务器/主机环境使用台湾原生IP卡
- 应用场景:备用链路、远端采集、IoT网关回传、边缘缓存节点与CDN源站备份。
- 优势:快速部署、移动网络覆盖、5G低延迟在局部可用时提高可用性。
- 局限:多数移动运营商默认CGNAT,无法直接暴露公网IPv4,需用反向隧道或静态公网IP付费方案。
- 与主机/域名/CDN的关系:用作源站上行链路或主动旁路时,应配置路由优先级与出站绑定,避免路由冲突影响域名解析与CDN回源。
- 安全含义:移动链路常被滥用用于DDoS,建议在VPS/主机端做访问控制与流量整形以降低风险。
2.
准备工作:运营商、硬件与帐号项选择
- 常见运营商与APN示例:中華電信 APN=internet、台灣大哥大 APN=internet、遠傳 APN=internet。
- 是否可申請公网IP:中華電信与業務專線可申请静态公网IP(付费),一般移动SIM为CGNAT。
- 推荐硬件:支援QMI/MBIM的4G/5G USB modem(如Quectel EC25/EM06)或带串口的路由器(MikroTik、Ubiquiti)。
- 驱动/工具:Linux常用ModemManager、libqmi、libmbim、usb_modeswitch。
- 帐号与流量计划:若用于源站备援,优选不限速且延迟稳定的企业方案,避免被封或流量限速。
3.
安装与系统配置步骤(示例以Ubuntu 22.04为例)
- 插卡并识别设备:lsusb与dmesg查看,例如dmesg显示: "cdc_mbim 1-1:1.0: MBIM device detected"。
- 安装依赖:apt update && apt install modemmanager libqmi-utils libmbim-utils usb-modeswitch -y。
- 启动并绑定:mmcli -L列出Modem,mmcli -m 0 --simple-connect="apn=internet"完成连接。
- QMI示例命令:qmicli -d /dev/cdc-wdm0 --wds-start="apn=internet" --client-no-release-cid,返回IP如: 100.125.34.56(示例CGNAT地址)。
- 网络接口示例(netplan):networkd网段绑定metric: {ethernets: {wwan0: {dhcp4: true, optional: true, dhcp4-overrides: {route-metric: 200}}}}。
4.
APN与网络优先策略(路由/策略路由/多路径)
- APN影响:不同APN可能决定是否直连公网或走核心網路(carrier-grade NAT),设置前确认运营商文档。
- 设置优先级示例:ip route replace default via 10.64.0.1 dev eth0 metric 100; ip route replace default via 100.125.34.1 dev wwan0 metric 200。
- 策略路由示例:ip rule add from 192.168.10.0/24 table 100; ip route add default via 100.125.34.1 table 100。
- 绑定进程出口IP:使用iptables MARK + ip rule基于标记走特定表,或用SO_BINDTODEVICE在应用层绑定。
- 健康检查与切换:定期用curl --interface wwan0 --max-time 5 http://1.1.1.1检测链路,失败则动态修改默认路由并报警。
5.
CDN/服务器部署与DDoS防护建议
- 用作CDN回源:若SIM在CGNAT后,建议通过反向隧道或Cloudflare Tunnel将源站暴露到CDN,避免公网端口直接依赖SIM公网。
- 服务器配置示例:VPS(ubuntu22.04) 2vCPU 4GB RAM, nginx 1.18作反向代理,后端绑定127.0.0.1:8080并由ssh tunnel转发。
- 防护规则(iptables示例):iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 10 -j REJECT。
- 限速与流量整形:tc qdisc add dev wwan0 root tbf rate 10mbit burst 32kbit latency 400ms,用于控制上行突发,减小被放大流量风险。
- 日志与监控:结合Prometheus node_exporter与Grafana监控流量、丢包与延时,异常时触发切换回主链路。
6.
真实案例:客户使用中華電信SIM做备用链路(含配置数据)
- 背景:某边缘缓存节点主链路偶发故障,部署一张中華電信5G企业SIM作为二线回源。
- 硬件与系统:Quectel EM06, Ubuntu 22.04, ModemManager 1.24, netplan配置优先级如上。
- 观测数据:主链路丢包峰值2.3%,SIM链路平稳丢包<0.5%,延迟(ping to 8.8.8.8)主链路平均18ms,SIM平均38ms。
- 隧道方案:使用ssh -N -R 22022:localhost:22 user@public-vps,public-vps作为中介实现远程管理与反向访问。
- 成效:故障切换0.5分钟内完成,业务可用率提高3.2个百分点,且无额外公网IP费用。
7.
运营商对比与数据示例表
此表展示三家运营商APN与公网可达性与典型吞吐量(示例值):
| 运营商 | 示例APN | 公网类型 | 典型下行 |
| 中華電信 | internet | 可能CGNAT/付费公网 | 100-400 Mbps(5G) |
| 台灣大哥大 | internet | 多为CGNAT | 80-300 Mbps(5G) |
| 遠傳 | internet | CGNAT/企業可申請 | 50-250 Mbps(5G) |
8.
故障排查常用命令与示例输出解析
- 查看调制解调器状态:mmcli -m 0 输出含state: 'connected'与ip-interfaces。
- QMI调试:qmicli -d /dev/cdc-wdm0 --wds-get-current-settings 可见APN与IP。
- 路由与接口:ip a; ip route show; 常见问题是metric错误导致流量走错接口。
- 外网检测:curl --interface wwan0 -s https://ifconfig.me 返回当前出口IP,用以判断是否为CGNAT(若地址在100.64.0.0/10或10.0.0.0/8则为私有)。
- 日志检查:journalctl -u ModemManager -f 与 dmesg | tail -n 50可定位USB掉线与驱动问题。
9.
结论与最佳实践建议
- 若需要入站公网访问:优先申请运营商静态公网IP或采用反向隧道+公网VPS做跳板。
- 出站绑定与优先级:用ip rule/ip route与iptables MARK结合,确保特定服务走指定链路。
- 安全防护:所有移动链路入口处必须有访问控制、速率限制与监控以降低DDoS影响。
- 自动切换策略:实现链路健康检测脚本(ping/http)并自动调整路由,实现0.5-1分钟内故障切换。
- 文档与演练:记录APN、SIM号、资费与路由配置,定期演练切换流程确保在紧急时能快速恢复。
来源:台湾原生ip卡安装调试指南 包括网络优先与APN设置技巧