首页/云/云网络与负载均衡速查/自建 NAT 出口(iptables)
本包目录(247 条)
VPC 与子网36 条
公网接入46 条
负载均衡54 条云 DNS 与 CDN49 条连接与专线41 条云网络排障21 条

自建 NAT 出口(iptables)

没有托管 NAT 网关时,可以用一台带 EIP 的实例做出口:开启内核转发、配置 MASQUERADE 源地址转换,内网实例把默认路由指向该机器。灵活且成本可控,但高可用与吞吐上限需要自己承担。

出口机配置(Linux)

出口机配置(Linux)
# 1) 开启转发(临时生效)
sudo sysctl -w net.ipv4.ip_forward=1
# 持久化:/etc/sysctl.d/99-nat.conf 写入 net.ipv4.ip_forward = 1
# 2) 源地址转换(eth0 为公网网卡)
sudo iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o eth0 -j MASQUERADE
# 3) 放行转发流量
sudo iptables -A FORWARD -s 10.10.0.0/16 -j ACCEPT
sudo iptables -A FORWARD -d 10.10.0.0/16 -j ACCEPT
客户端侧默认路由指向出口机的内网地址
出口机侧ip_forward + MASQUERADE + FORWARD 放行
持久化sysctl 与 iptables 规则都要做开机恢复
自建出口的吞吐上限取决于出口机规格,扩容需要换规格或做多机分流。

易错点

  • 规则未持久化,出口机重启后整个环境断开外网
  • 只开启转发未放行 FORWARD 链,回包会被 iptables 丢弃

数据来源与参考

  • iptables 官方文档(MASQUERADE)
  • Linux 内核文档(ip_forward)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌