我有 3 个系统 -
- 禁用防火墙的 Windows 10 系统
- 禁用防火墙的 CentOs 8 系统(防火墙状态为非活动状态)
- 上述 CentOs 8 机器上的 Windows 10 VM 已禁用防火墙
出于某种原因,我无法在单个网络上连接这 3 个。所有 3 台机器都被赋予了静态 IP,因为 -
静态IP -
192.168.1.10, 192.168.1.125, 192.168.1.25
子网掩码 -
255.255.255.0
默认网关 -
192.168.1.1
Linux 系统和托管在其上的 Windows 10VM
连接良好(通过主机适配器VirtualBox
,适配器IPv4
值为 192.168.1.11),甚至可以通过 ssh 连接。
但是,Windows 10
独立系统无法定位,ping
甚至无法定位ssh
到这些系统中的任何一个。在dynamic IP
我的提供商提供的情况下,它们能够很好地连接,但是当我通过以太网电缆在一个独立的 p2p 网络中连接 2 个系统(Windows 10 和 Linux 系统)时,它们就是找不到彼此。
IPv6
在每个网络配置中被禁用。我唯一能想到的是机器没有指定相同的workgroup
,因为我的 Windows 10 系统已登录到域,而我的 Linux 系统(带有 Windows 10 VM)没有,但在上述场景中,有没有域活动,因为机器是通过 LAN 电缆连接的,并且不在任何其他网络上。
更新 -
ip地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:04:5f:9e:94:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute enp1s0
valid_lft forever preferred_lft forever
inet6 fe80::204:5fff:fe9e:9443/64 scope link
valid_lft forever preferred_lft forever
3: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 00:04:5f:9e:94:42 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:31:3c:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:31:3c:a5 brd ff:ff:ff:ff:ff:ff
6: br-c91ce55ad4d6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:e6:4e:bd:04 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-c91ce55ad4d6
valid_lft forever preferred_lft forever
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:ca:60:cc:f5 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
8: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.11/24 brd 192.168.1.255 scope global vboxnet0
valid_lft forever preferred_lft forever
inet6 fe80::800:27ff:fe00:0/64 scope link
valid_lft forever preferred_lft forever
ip路由
default via 192.168.1.1 dev enp1s0 proto static metric 100 linkdown
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-c91ce55ad4d6 proto kernel scope link src 172.18.0.1 linkdown
192.168.1.0/24 dev vboxnet0 proto kernel scope link src 192.168.1.11
192.168.1.0/24 dev enp1s0 proto kernel scope link src 192.168.1.10 metric 100 linkdown
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
你的问题就在这里。你有两个物理上独立的网络,它们恰好
192.168.1.x
在两边都有编号。但是,它们仍然是独立的网络。数据包不会自动从主机 Linux 系统上的一个接口流向另一个接口。您的虚拟机可能仍然可以访问 Internet,因为您或您的虚拟机软件可能已将 Linux 主机配置为充当路由器/网关,并配有 NAT。(NAT 是用于网络的胶带。)
但是,由于两边的网络号相同,您的虚拟机认为每个 192.168.1.x 地址都是本地地址(这是子网掩码告诉它们的!),因此它们不使用网关来访问它们。因此,在正常配置下,两侧无法相互接触。
Linux 主机也不能很好地处理同一子网上的两个接口。您可以看到
ip route
同一目的地有两个条目;只使用其中之一。操作系统不会跟踪哪些单独的主机位于哪一侧。您有四个选择:
继续使用路由,但将 VirtualBox“主机适配器”(vboxnet0) IP 地址更改为不同的网络,例如 192.168.2.x 就可以了。
使用 Linux 桥接合并两个网络:在主机上创建一个网桥(ip link add br0 类型网桥),然后将您的真实以太网和 VirtualBox 虚拟接口都放入网桥(ip link set eth0 master br0)。从两个接口中删除 IP 地址,并改为在 br0(网桥)上配置 192.168.1.11/24。
使用 VirtualBox 桥接合并两个网络:将 VM 配置更改为使用“桥接网络”并选择物理以太网接口。这仅在您配置了以太网时才有效。
在 VM 中创建两个接口:一个用于像现在这样的主机网络,一个用于与物理以太网的桥接网络。
完全无关。实际上,“工作组”所做的唯一一件事就是限制哪些机器出现在网络计算机列表中。(NetBIOS“计算机浏览”机制是在 1980 年代设计的,工作组被用来限制每台 LAN 计算机必须保存的数据量。)它不会影响 IP 或 TCP 级别的通信,甚至不会影响直接 Windows SMB 文件共享连接。