我想使用 WireGuard 配置 Amazon EC2 实例以建立虚拟专用网络 (VPN) 并允许访问我的 Amazon VPC 内的私有实例。
这是我的网络设置: 专有网络:10.50.0.0/16 公共子网: 10.50.10.0/24 私有子网: 10.50.40.0/24 WireGuard 网络: 192.168.100.0/24
我已成功在 WireGuard EC2 实例和我的 PC 之间建立连接。但是,我在尝试从 PC 访问私有子网中的 EC2 实例时遇到了问题。例如,当我尝试通过 SSH 连接到 10.50.40.60(专用网络中的 EC2)时,用于连接的 IP 地址来自托管 WireGuard 的公共子网(例如 10.50.10.189),而不是预期的我的客户端 WireGuard 网络 IP 192.68.100.2/24.
获取正确的WireGuard网络IP的目的是在安全组中利用这些IP,允许特定客户端访问,同时限制其他客户端访问。
以下是我当前的 WireGuard IP 表配置:
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o enX0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o enX0 -j MASQUERADE
我非常感谢任何有关如何解决该问题的指导,谢谢!
您需要删除这些行
PostUp = iptables -t nat -A POSTROUTING -o enX0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o enX0 -j MASQUERADE
还需要启用这个
net.ipv4.ip_forward = 1
顺便说一句,您需要禁用源/目的地检查 https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck 在实例的网络接口中