我在创建 GRE 隧道时遇到了一些问题,理论上很简单,我有 2 个云,一个有 DDoS 保护,另一个没有。在我的第一个云中,它有 DDoS,托管在 OVH 中,在我的第二个云中,它没有 DDoS,托管在 Scaleway 中,好吧,在 OVH VPS 中,我只有一个公共 IP,其中 venet0:0 包含公共 IP。但是,在 scaleway 中,我有一个本地 IP 和一个公共 IP,公共 IP 不在任何接口中,即:我在 OVH VPS 中使用了以下命令:
1.1.1.1 = Public OVH IP
2.2.2.2 = Public Scaleway IP
0.0.0.0 = Local Scaleway IP
iptunnel add gre1 mode gre local 1.1.1.1 remote 2.2.2.2 ttl 255
ip addr add 192.168.168.1/30 dev gre1
ip link set gre1 up
并在 scaleway 服务器中使用以下命令:
iptunnel add gre1 mode gre local 0.0.0.0 remote 1.1.1.1 ttl 255
ip addr add 192.168.168.2/30 dev gre1
ip link set gre1 up
我能够从 scaleway ping 到 192.168.168.1,从 ovh ping 到 192.168.168.1,显然,它可以正常工作,但是,当我尝试将流量从 OVH 转发到 sacaleway 时,却不起作用,我在这里做错了什么?
iptables -t nat -A PREROUTING -d 1.1.1.1 -j DNAT --to-destination 192.168.168.2
iptables -A FORWARD -d 192.168.168.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
答案1
确保您的 OWH VPS 中启用了 IP 转发:
echo "1" > /proc/sys/net/ipv4/ip_forward