我正在尝试创建联网的 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
我是网络新手,所以不太清楚如何解决我的问题。如能得到任何帮助我将不胜感激。