You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2 Amazon Linux搭建网关遇问题:Worker节点丢SSH连接求助

AWS EC2 Amazon Linux 网关配置问题解决

方案可行性确认

这个方案完全可行,问题出在Worker机器的路由配置逻辑上,和AWS单网卡架构本身无关。

网关机器正确配置步骤

  • 启用IPv4转发:
    • 临时生效:echo 1 > /proc/sys/net/ipv4/ip_forward
    • 永久生效:编辑/etc/sysctl.conf,设置net.ipv4.ip_forward = 1,执行sysctl -p加载配置
  • 添加iptables NAT伪装规则:
    • 假设网关主网卡为eth0,执行:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    • 永久保存规则:service iptables save(若未安装iptables服务,先执行yum install iptables-services)
  • 无需重启网络服务,配置立即生效

Worker机器SSH断开问题根源

当设置默认网关为网关机器后,Worker的所有出站流量(包括返回本地电脑的SSH回包)都会发往网关机器。但AWS EC2的源IP校验机制会导致:Worker私网IP的流量经网关伪装后以网关公网IP出站,返回的SSH流量只会回到网关,无法正确路由回Worker的原有SSH会话,最终导致连接断开。

Worker机器修复配置

临时生效(测试用)

  1. 记录Worker原默认网关(设置新网关前执行):ip route show default,假设原网关为10.0.0.1
  2. 添加本地IP的静态路由(确保SSH返回流量走原路径):
    ip route add YOUR_LOCAL_IP/32 via 10.0.0.1
  3. 设置默认网关到网关机器:
    ip route add default via GATEWAY_MACHINE_IP

永久生效

  1. 编辑网卡配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),添加/修改:
    GATEWAY=GATEWAY_MACHINE_IP
    
  2. 创建静态路由文件/etc/sysconfig/network-scripts/route-eth0,写入:
    YOUR_LOCAL_IP/32 via ORIGINAL_DEFAULT_GATEWAY dev eth0
    
  3. 重启网络服务:service network restart

安全组补充检查

  • 网关机器安全组:允许Worker所在私网IP段的所有入站流量,允许所有出站流量
  • Worker机器安全组:允许与网关机器的双向所有流量,允许本地电脑的SSH入站流量

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:10:16