У меня есть домашняя сеть 192.168.1.0 за маршрутизатором 192.168.1.1. В этой сети есть набор существующих хостов Linux и Windows, большинство из которых подключены к проводному Ethernet. Я настраиваю новый сервер, на котором запущен гипервизор KVM и 3 гостевых компьютера Debian. Новый сервер использует Wi-Fi для сетевого подключения.
На гипервизоре я virsh
настраивал виртуальную сеть следующим образом:
<network>
<name>virtual</name>
<forward mode='route'/>
<ip address='192.168.2.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.2.2' end='192.168.2.255'/>
<host mac='52:54:00:00:00:01' ip='192.168.2.2'/>
<host mac='52:54:00:00:00:02' ip='192.168.2.3'/>
<host mac='52:54:00:00:00:03' ip='192.168.2.4'/>
</dhcp>
</ip>
</network>
Затем я создал статический маршрут в своем маршрутизаторе от 192.168.2.0/24 до IP-адреса гипервизора 192.168.1.41.
При создании гостевых систем Debian я указал имя виртуальной сети и MAC-адреса из virsh
виртуальной сети, например так:
--network network=virtual,mac=52:54:00:00:00:01
В результате /etc/network/interfaces
для каждого гостя получается следующее:
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
При такой конфигурации все в основном работает. Я могу:
- Подключитесь с хостов на 192.168.1.0 к обоим IP-адресам гипервизора (.2.1 и .1.41)
- Подключайтесь с хостов на 192.168.1.0 к каждому гостю
- Подключайтесь из гипервизора к каждому гостю
- Подключитесь из каждого гостя к гипервизору (.2.1) и к каждому другому гостю
- Подключение каждого гостя к публичному Интернету
- Переадресация внешних (интернет) подключений с маршрутизатора на отдельных гостей
Однако яне могуподключиться из гостевых систем к любому хосту в сети 192.168.1.0. Например, я не могу подключиться по ssh из 192.168.2.2 в 192.168.1.31.
А traceroute
показывает что-то вроде этого:
traceroute to 192.168.1.31 (192.168.1.31), 30 hops max, 60 byte packets
1 sol (192.168.2.1) 0.295 ms 0.252 ms 0.243 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
Я не уверен, является ли моя конфигурация неправильной или у меня возникла проблема с беспроводной точкой доступа.
Я попробовал добавить ebtables
конфигурацию (как обсуждалосьздесь) для трансляции MAC-адресов, но это не дало никаких результатов. Я попытался добавить отдельное сетевое устройство-мост за пределами virsh
, но существующие виртуальные устройства не могут быть подключены ни к каким другим мостам. Я рассматривал другие варианты, такие как virsh
фильтр или, возможно, некоторые правила iptables, но я хватаюсь за соломинку.
Может ли кто-нибудь подсказать, как правильно к этому подойти?