2 个 KVM 主机之间的路由流量出现问题

2 个 KVM 主机之间的路由流量出现问题

我正在尝试创建联网的 KVM 设置,如以下指南所述:https://c3rb3ru5d3d53c.github.io/2022/06/kvm-malware-lab/

我的网络拓扑图如下:

  ┌────────┐
  │Internet│
  └───┬────┘
┌─────┴──────┐
│Host Machine│ Kernel Virtual Machine (KVM) on DMZ
└─────┬──────┘
    ┌─┴─┐
    │NAT│ (default)
    └─┬─┘
  ┌───┴───┐ ┌────────┐
  │PFSense├─┤Isolated│ LAN 10.0.1.1/24 (vmbr0)
  └───────┘ └───┬────┘
             ┌──┴───┐
             │Remnux│ Static Analysis and Interception
             └──┬───┘
            ┌───┴────┐
            │Isolated│ Analysis LAN 10.0.2.1/24 (vmbr1)
            └─┬──────┤
              │      │
      ┌───────┴───┐ ┌┴──────┐
      │Analysis VM│ │Windows│ Dynamic Analysis
      └───────────┘ └───────┘

我正在尝试配置网络,以便 LAN 10.0.2.1/24 (vmbr1) 仅在 LAN 10.0.1.1/24 (vmbr0) 使用 VPN 连接到互联网时才能访问互联网。我遇到的问题是 LAN 10.0.2.1/24 (vmbr1) 上的 Windows 计算机无法连接到互联网,即使启用了 VPN。

在尝试解决问题时,我发现了以下情况:

DNS 和 DHCP 在 LAN vmbr1 上正常工作 Windows 机器成功向 10.0.2.1 发送了一个 SYN 数据包,但未收到任何响应 vmbr0 上的某些设备可以 ping 通 10.0.2.1 10.0.1.1 无法 ping 通 10.0.2.1 由此可以确定问题与 10.0.2.1 和 10.0.1.1 之间的通信故障有关,但我不确定根本原因是什么。

以下是我的 Remnux 机器(10.0.1.1)的网络信息:

我的 etc/netplan/01-network-manager-all.yaml 是:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: yes
    enp7s0:
      addresses:
- 10.0.2.1/24

我的输出ip route是:

0.0.0.0/1 via 10.200.0.137 dev tun0 
default via 10.0.1.1 dev enp1s0 proto dhcp src 10.0.1.11 metric 100 
10.0.1.0/24 dev enp1s0 proto kernel scope link src 10.0.1.11 metric 100 
10.0.1.1 dev enp1s0 proto dhcp scope link src 10.0.1.11 metric 100 
10.0.2.0/24 dev enp7s0 proto kernel scope link src 10.0.2.1 
10.200.0.1 via 10.200.0.137 dev tun0 metric 1 
10.200.0.137 dev tun0 proto kernel scope link src 10.200.0.138 
<Redacted VPN IP> via 10.0.1.1 dev enp1s0 
128.0.0.0/1 via 10.200.0.137 dev tun0 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

我的输出iptables -t nat -L是:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere            !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  172.17.0.0/16        anywhere            
MASQUERADE  all  --  anywhere             anywhere            

Chain DOCKER (2 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere  

我是网络新手,所以不太清楚如何解决我的问题。如能得到任何帮助我将不胜感激。

相关内容