Networking
Linux路由 - 同一子網上的跳躍伺服器
我試圖讓一個非常簡單的設置工作,
我有 2 個 AWS ec2 實例(藍色),
實例 B 有一個 Ipsec VPN 進入我們的數據中心,並且可以 ping 這個數據中心的內部 IP,即伺服器 C (192.168.40.21)
我需要 ec2 A 實例能夠通過使用 B 作為躍點來 ping 並連接到伺服器 C。A和B都在同一個子網上。我嘗試在A上添加B的IP作為網關,
root@A> ip route add 192.168.40.0/24 via 172.25.25.200
並在 B 上設置防火牆規則以轉發流量(sysctl ip4 forwarding = 1),
root@B> iptables -A FORWARD -s 0/0 -d 172.25.25.0/24 -j ACCEPT iptables -A FORWARD -s 172.25.25.0/24 -d 0/0 -j ACCEPT iptables -t nat -A POSTROUTING -d 0/0 -s 172.25.25.0/24 -j MASQUERADE
但我無法從 A ping C。我錯過了什麼?
所有主機都是 Centos 7。
謝謝你。
預設情況下,EC2 實例在其網路介面上啟用源/目標檢查,這意味著除非您禁用它,否則它們將無法用作路由器。請參閱https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck
通常
iptables
有阻止轉發流量的標準規則。您應該刪除它以允許流量通過。您應該刪除規則:
-A FORWARD -j REJECT --reject-with icmp-host-prohibited