我在谷歌云平台上创建了两个虚拟机,都位于同一个 VPC 10.164.0.0/20 上。
一台机器配置静态IP 10.164.0.2,另一台机器配置静态IP 10.164.0.4
我已确保创建防火墙以允许该子网中的所有流量,以便更轻松地进行故障排除。
当我登录到机器时,我尝试互相 ping 通,然后它失败。
第一台虚拟机
主机是 Debian 10 buster,使用 GCP 提供的现有映像进行映像。
打印出 ip -a 给出:
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UP group default qlen 1000
link/ether 42:01:0a:a4:00:04 brd ff:ff:ff:ff:ff:ff
inet 10.164.0.4/32 brd 10.164.0.4 scope global dynamic ens4
valid_lft 3384sec preferred_lft 3384sec
inet6 fe80::4001:aff:fea4:4/64 scope link
valid_lft forever preferred_lft forever
猫 /etc/网络/接口
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# Cloud images dynamically generate config fragments for newly
# attached interfaces. See /etc/udev/rules.d/75-cloud-ifupdown.rules
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
# configuration fragments are stored in /run:
source-directory /run/network/interfaces.d
第二台虚拟机
主机正在运行 FreeBSD 12.2,使用我上传的 iso 镜像进行镜像。
打印出 ip -a (实际上是 ifconfig,因为它运行 FreeBSD):
vtnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1460
description: WAN
options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE>
ether 42:01:0a:a4:00:02
inet6 fe80::4001:aff:fea4:2%vtnet0 prefixlen 64 scopeid 0x1
inet 10.164.0.2 netmask 0xffffff00 broadcast 10.164.0.255
media: Ethernet 10Gbase-T <full-duplex>
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
所以,到目前为止的结论是:
两个虚拟机位于同一子网 10.164.0.0/20 上
第一台机器有 10.164.0.4/32
第二台机器有 10.164.0.2/24
对我来说,问题似乎出在第一台机器上,因为它具有 /32 网络掩码,因此无法访问较大子网 /24 的其余部分。
尝试通过编辑 /etc/network/interface 文件直接配置静态 IP 地址,但加载接口失败。看来接口配置是在创建vm时由google云平台完成的。
如何从 GPC Web UI 更改为静态 IP 地址或更改网络掩码?
如何使两台机器在同一子网上互相看到?