【发布时间】:2017-01-03 06:39:54
【问题描述】:
我想在谷歌计算平台上创建一个专用网络,我只能使用 vpn 进入。 所以,我在 GCE 中创建了一台机器并安装了 openvpn。这台机器有一个静态 IP、开放的 ssh 端口和来自 GCE 的默认网络配置。 然后,我在同一网络中创建了第二台机器(称为 MachineA),但没有外部 IP。 然后我创建路由规则,以便将流量从 vpn 机器重定向到另一个内部实例。
我可以从我的机器连接到 vpn。 我可以ping到vpn机器。 我可以 ping 通到 MachineA。 我可以通过 ssh 连接到 vpn 机器。 我可以通过 ssh 连接到 MachineA。
但是... 当我连接到 ssh vpn 机器并运行 gsutil 时,它可以工作,也可以 ping 到 8.8.8.8 当我连接到 ssh MachineA 并运行 gstult 或 ping 8.8.8.8 时不起作用。
知道我做错了什么吗?
一些信息
来自 VPN 机器
xxx@dev-vpn:~$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.240.10.1 0.0.0.0 UG 0 0 0 eth0
10.16.0.0 10.16.0.2 255.255.255.0 UG 0 0 0 tun0
10.16.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.240.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
xxx@dev-vpn:~$ traceroute 10.240.10.3
traceroute to 10.240.10.3 (10.240.10.3), 30 hops max, 60 byte packets
1 * * instance-1.c.project.internal (10.240.10.3) 1.188 ms
来自 MachineA
traceroute to 10.240.10.2 (10.240.10.2), 30 hops max, 60 byte packets
1 * * *
2 * * dev-vpn.c.project.internal (10.240.10.2) 0.899 ms
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.240.10.1 0.0.0.0 UG 0 0 0 eth0
10.240.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
在谷歌网络中我添加了这个规则 vpn-routing 10.16.0.0/24 1001 无 dev-vpn (Zone us-central1-a)
【问题讨论】:
-
“然后我创建了路由规则,以便将流量从 vpn 机器重定向到另一个内部实例”,你是怎么做到的? “我添加这条规则 vpn-routing 10.16.0.0/24 1001 None dev-vpn”,对我来说看起来毫无意义,你想用它来实现什么?您的失败是关于从 machineA 访问外部 IP,它与 VPN 通信无关。
-
嗨,我的问题是命令行工具gsutil在MachineA中不起作用,如果我删除规则vpn-routing 10.16.0.0/24,命令开始工作,但我没有能够从我的本地机器 ping/ssh MachineA。
-
我猜gsutil访问的地址恰好落在10.16.0.0/24空间?你能把你的 ip 空间更改为另一个私有 IP 范围,例如 192.168.0.0/16?
标签: networking google-compute-engine google-cloud-platform