Настройка сети между хостом и ВМ без интернета для KVM

Языки программирования, IDE, компиляторы, интерпретаторы, гипервизоры и виртуальные среды
Правила форума
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Версия ОС вместе с разрядностью. Пример: LM 18.1 x64, LM Sarah x32 2. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 3. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 4. Суть. Желательно с выводом консоли, логами. 5. Скрин. Просьба указывать 1, 2 и 3 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 24 фев 2020, 12:46

Есть виртуальная машина (ВМ) с Win7. Основная машина - KDE Neon 5.18. ВМ реализована через KVM + libvirt + virt-manager. Сейчас в ВМ интернет работает через NAT, хост и ВМ пингуются. Я хочу понять, как правильно сделать соединение с работающей локалкой, но без доступа в ВМ интернета?
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

WWolf
Сообщения: 2259
Зарегистрирован: 13 фев 2018, 21:51
Решено: 13
Откуда: Краснодар
Благодарил (а): 748 раз
Поблагодарили: 576 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение WWolf » 24 фев 2020, 13:51

Kurum, в вм шлюз и днс убери и не будет тебе тырнета...

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 24 фев 2020, 16:23

WWolf писал(а):
24 фев 2020, 13:51
в вм шлюз и днс убери и не будет тебе тырнета...
Так локалка перестаёт работать, пинга с хостом нет.
IP-адрес и маску прописывал вручную (какие ВМ получала автоматически), ну а шлюз и днс пустые.

=====
Вообще, я хочу сделать данную настройку на хосте, а не внутри ВМ.
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

WWolf
Сообщения: 2259
Зарегистрирован: 13 фев 2018, 21:51
Решено: 13
Откуда: Краснодар
Благодарил (а): 748 раз
Поблагодарили: 576 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение WWolf » 24 фев 2020, 16:36

Kurum, ну без прокси или iptables чисто на хосте хз как... а так можешь выбрать мост, а не нат - получишь сквозную адресацию на вм и очистка шлюза и днс будет работать как положено

Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 24 фев 2020, 17:13

Kurum писал(а):
24 фев 2020, 12:46
Я хочу понять, как правильно сделать соединение с работающей локалкой, но без доступа в ВМ интернета?
Проще всего из правильных решений - создать отдельную сеть в настройках virt-manager. При создании выбрать режим сети Isolated. Если у виртуальной машины будет подключение к этой сети - общаться она будет только с хостом и другими VM подключеными к этой же сети.

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 24 фев 2020, 17:16

WWolf писал(а):
24 фев 2020, 16:36
а так можешь выбрать мост
В virt-manager в списке сетевых интерфесов нет моста. Там:
1. NAT
2. Устройство хоста - сетевая карта 1
3. Устройство хоста - сетевая карта 2
4. Общее устройство.
Т.е. мост надо ручками создавать. Проблема ещё в том, что я не нашёл нормального мануала, как это вообще делается.
slant писал(а):
24 фев 2020, 17:13
Проще всего из правильных решений - создать отдельную сеть в настройках virt-manager. При создании выбрать режим сети Isolated. Если у виртуальной машины будет подключение к этой сети - общаться она будет только с хостом и другими VM подключеными к этой же сети.
Да, я как-раз ищу правильное решение. Можете посоветовать литературу, где описано, как сделать то, что Вы предлагаете?
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

WWolf
Сообщения: 2259
Зарегистрирован: 13 фев 2018, 21:51
Решено: 13
Откуда: Краснодар
Благодарил (а): 748 раз
Поблагодарили: 576 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение WWolf » 24 фев 2020, 17:21


Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 24 фев 2020, 17:23

Да там не надо никакой литературы. Просто через GUI мышекликами, с окна где список всех VM, для русской локали:
Правка -> Свойства подключения -> Виртуальные Сети -> (внизу слева) кнопка "+", всплывающая подсказка "создание виртуальной сети".

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 25 фев 2020, 04:06

slant писал(а):
24 фев 2020, 17:23
"создание виртуальной сети".

enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.102 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::c26f:3036:ec5a:a5df prefixlen 64 scopeid 0x20<link>
ether 00:1e:58:af:89:70 txqueuelen 1000 (Ethernet)
RX packets 10111 bytes 10982804 (10.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8303 bytes 1267555 (1.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.123.1 netmask 255.255.255.0 broadcast 192.168.123.255
ether 52:54:00:83:d4:f2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Выполнил по инструкции.
virt_man_24.png
В результате сеть в ВМ не работает вообще. Явообще не понимаю, как она может работать, когда с маской 255.255.255.0 и IP 192.168.123.1 в обычной сети нельзя выйти на IP 192.168.3.102.
WWolf писал(а):
24 фев 2020, 17:21
ну хз как ты искал
Первую ссылку я находил, но понятной для меня она не является. Создаётся код, что он делает каждая строчка - не ясно. А вот вторая ссылку - уже интересно, если через virt-manager не получится, то буду эту статью разбирать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 25 фев 2020, 10:29

У хоста теперь две сетевых карты и два адреса. Один 192.168.3.102 - это для обычной сети, он и раньше был. Второй 192.168.123.1 - это для изолированной локалки виртуальных машин. Если надо из этой локалки обратится к хосту - стучаться нужно именно на 192.168.123.1, адрес 192.168.3.102 просто так не доступен оттуда. Если надо сделать частичное нарушение изоляции и иметь доступ к каким-то машинами сети 192.168.3.0/255 из изолированной сети 192.168.123.0/255 - это уже через iptables надо форвардинг или NAT настраивать на хосте. Но тут уже проще использовать вариант сети с NAT который был раньше, и изоляцией там разумеется не пахнет.

А если ...
Kurum писал(а):
25 фев 2020, 04:06
сеть в ВМ не работает вообще
... имеется в виду что виртуальная машина подключенная к изолированной сети вообще никакой IP ардес не получает, и не может пинговать (и соответственно обращаться) к 192.168.123.1 - то где-то что-то не сработало в virt-manager.

P.S. Было бы проще что-то советовать, если бы задача была описана полностью. Возможно, она просто решается опять не с того бока. Чего именно нужно достичь отрезая машину с Win7 от интернета? Чтобы с нее нельзя было в интернет выйти вообще? Или чтобы на нее из интернета доступа не было (от атакующих "из вне")? А для локальной сети 192.168.3.0/255 - должны машины из нее видеть эту VM? И должна ли VM ходить в сеть 192.168.3.0/255?

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 25 фев 2020, 17:06

slant писал(а):
25 фев 2020, 10:29
... имеется в виду что виртуальная машина подключенная к изолированной сети вообще никакой IP ардес не получает, и не может пинговать (и соответственно обращаться) к 192.168.123.1 - то где-то что-то не сработало в virt-manager.
Пингую с ВМ: ping 192.168.123.1 - > получаю генеральный отказ, сбой передачи
Пингую с хоста: : ping 192.168.123.2 - > узел назначения недоступен.
Может мне нужно сделать вывод каких-то настроек?
slant писал(а):
25 фев 2020, 10:29
сли бы задача была описана полностью.
Я хочу полностью заблокировать все соединения из ВМ в интернет (дабы никакие пакеты не могли выскочить - для выполнения этой задачи самой винде я не доверяю), но мне нужна сеть с хостом для чтения/записи данных. Собственно всё.
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 25 фев 2020, 17:36

Kurum писал(а):
25 фев 2020, 17:06
Я хочу полностью заблокировать все соединения из ВМ в интернет (дабы никакие пакеты не могли выскочить - для выполнения этой задачи самой винде я не доверяю), но мне нужна сеть с хостом для чтения/записи данных. Собственно всё.
Это должно было работать сразу. Обращения к 192.168.123.1 должны быть доступны из VM сразу после запуска изолированной сети.

Покажите вывод команд ip a, ip r и sudo iptables -L у хоста, и ipconfig /all и route print -4 у VM (там же сейчас винда? Если нет - то вывод тех же команд как у хоста).

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 25 фев 2020, 19:55

slant писал(а):
25 фев 2020, 17:36
Покажите вывод команд
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: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether xxx brd ff:ff:ff:ff:ff:ff
inet 192.168.3.102/24 brd 192.168.3.255 scope global dynamic noprefixroute enp4s0
valid_lft 6779sec preferred_lft 6779sec
inet6 fe80::c26f:3036:ec5a:a5df/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether xxx brd ff:ff:ff:ff:ff:ff
4: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether xxx brd ff:ff:ff:ff:ff:ff
inet 192.168.123.1/24 brd 192.168.123.255 scope global virbr1
valid_lft forever preferred_lft forever
5: virbr1-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr1 state DOWN group default qlen 1000
link/ether xxx brd ff:ff:ff:ff:ff:ff
6: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether xxx 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
7: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether xxx brd ff:ff:ff:ff:ff:ff
8: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master virbr1 state UNKNOWN group default qlen 1000
link/ether xxx brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe70:fe94/64 scope link
valid_lft forever preferred_lft forever
default via 192.168.3.1 dev enp4s0 proto dhcp metric 100
169.254.0.0/16 dev enp4s0 scope link metric 1000
192.168.3.0/24 dev enp4s0 proto kernel scope link src 192.168.3.102 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
192.168.123.0/24 dev virbr1 proto kernel scope link src 192.168.123.1
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.122.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
ВМ:
ksnip_20200225-224332.png
Хм... В Винде нет ни одного сетевого подключения! :blink2:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 25 фев 2020, 22:43

Тип сетевого адаптера для VM какой выставлен (опция "Модель устройства")? Если virtio - надо guest tools ставить (там в комплекте драйвер для него), иначе винда с ним работать не сможет. Можно тип поменять на e1000 - будет эмулироваться реальная железка Intel e1000. Для нее у семерки драйвера должны быть собственные, рабочие.

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 26 фев 2020, 16:40

slant писал(а):
25 фев 2020, 22:43
надо guest tools ставить
Нет у меня такого.
Поставил e1000. Из ВМ стал пинговаться адрес 192.168.123.1, а вот из хоста 192.168.123.2 не пингуется.
ping 192.168.123.2
PING 192.168.123.2 (192.168.123.2) 56(84) bytes of data.
^C
--- 192.168.123.2 ping statistics ---
48 packets transmitted, 0 received, 100% packet loss, time 48128ms
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 26 фев 2020, 17:09

Kurum писал(а):
26 фев 2020, 16:40
а вот из хоста 192.168.123.2 не пингуется.
По умолчанию в Win7 фаервол включен на новом интерфейсе (который считается публичным) - не дает пинговать себя. Обмену файлами домашней сети это не мешает, тем более в процессе нужно будет поменять тип сети с публичной на домашнюю (это уже в самой семерке). Так что, скорее всего уже все работает.

В общем-то, при таком конфиге фаервол на семерке даром не нужен - можно спокойно отключать полностью.

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 27 фев 2020, 04:29

slant писал(а):
26 фев 2020, 17:09
поменять тип сети с публичной на домашнюю
Ну да. Поменял на домашнюю, теперь IP ВМ с хоста пингуется.
Теперь мой вопрос решён.
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Аватара пользователя

slant
Сообщения: 2651
Зарегистрирован: 21 июн 2017, 15:09
Решено: 47
Благодарил (а): 20 раз
Поблагодарили: 1105 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение slant » 27 фев 2020, 10:21

Теперь еще для полного счастья в винду было бы неплохо драйвера для паравируализированных устройств KVM добавить. Их два варианта - от Red Hat и от Fedora. Red Hat свой вариант больше открыто не раздает, а ссылка на вторые вот (пролистайте страницу вниз): https://docs.fedoraproject.org/en-US/qu ... index.html
С ними и сеть на адаптере virtio заведется (увеличится скорость и снизится нагрузка на CPU хоста), и видео будет лучше работать и интегрироваться с хостом.

Аватара пользователя

Автор темы
Kurum
Сообщения: 477
Зарегистрирован: 16 окт 2017, 18:32
Решено: 2
Благодарил (а): 188 раз
Поблагодарили: 35 раз

Настройка сети между хостом и ВМ без интернета для KVM

Сообщение Kurum » 28 фев 2020, 04:41

slant писал(а):
27 фев 2020, 10:21
в винду было бы неплохо драйвера для паравируализированных устройств KVM добавить
Гостевые драйвера от федоры ставил отсюда:

Код: Выделить всё

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Наверное, те же.
Только с этого образа я устанавливал только то, чего не хватало в диспетчере устройств.
Предлагаете переустановить сетевые драйвера?
Linux - это свобода... :tux:
Текущая:
KDE Neon 5.19.4
Предыдущая:
Linux Mint 19.1 Cinnamon
Железо:
Intel Core i3-6100 CPU @ 3.7 ГГц x2, 16Гб ОЗУ

Вернуться в «Программирование, скриптинг, виртуализация»