我对linux并不陌生,但我不太熟悉网络。
我有一台主机(服务器),它使用 systemd-networkd 分配接口名称和静态 IP 地址。
连接到 VM 的是两个独立的虚拟化网卡 - 代表不同的 VLAN。一张网卡位于 10.0.40.0/255 范围内,另一张网卡位于 10.0.1.0/255 范围内。
我最初可以通过 systemd 网络文件为每个网卡分配一个静态地址:
网卡eth0
[Match]
MACAddress=02:c0:1f:2b:12:8d
[Network]
Address=10.0.40.115/24
DNS=10.0.40.1
[Route]
Destination=0.0.0.0/0
Metric=1025
网卡eth1
Match]
MACAddress=ee:95:e5:28:21:4c
[Network]
Address=10.0.1.117/24
DNS=10.0.1.1
[Route]
Destination=0.0.0.0/0
Gateway=10.0.1.1
Metric=1024
路由表如下所示:
ip route show
default via 10.0.1.1 dev eth1 proto static metric 1024
default dev eth0 proto static scope link metric 1025
10.0.1.0/24 dev eth1 proto kernel scope link src 10.0.1.117
10.0.40.0/24 dev eth0 proto kernel scope link src 10.0.40.115
最初重新启动时,我可以通过 ssh 在 10.0.40.115 和 10.0.1.117 访问计算机,但是大约 30 秒后,我收到 10.0.40.115 连接 client_loop: send disconnect: Broken pipe
我可能做了一些不该做的事情,但我只是想知道这种设置是否可行。我假设从 ssh 主机发送回客户端的数据包会丢失,因为它们不知道要从哪个接口传回。
感谢您对这个问题的任何见解。