Доступ к веб-серверу виртуальной машины qemu извне с использование wifi (vlan0 интерфейс). Мост. Он же Bridge. Памятка.

Речь именно о доступе к сайту, который внутри гостевой машины,
т.е. с хоста.
Прим.: возможно, что в этом руководстве есть лишние действия (трудно проверить, так как виртуализация у меня сильно тормозит), но именно следующие действия привели к работоспособности (собрано из разных ресурсов в сети).

Памятка (может, кому-то пригодится),
Настройка осуществлялась: в Gentoo Linux на нетбуке hp mini (Atom n570).
Виртуальная машина: XP с веб-сервером AppServ 2.5.1.

1) Становимся root
su

2) Разрешаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

3) В ядре следует включить
CONFIG_BRIDGE=y
Если не включен, то идём
cd /usr/src/linux
nano .config

Находим CONFIG_BRIDGE и редактируем
Далее закрываем и сохраняем
make && make modules_installl

Не помню, надо ли копировать образ ядра, но монтируем boot и копируем в него:
mount /boot
cp arch/x86_64/boot/bzImage /boot/kernel-5.15.75-gentoo

4) Перезагрузка.
reboot

5) Ставим программы для работы с мостом
emerge net-misc/bridge-utils

6) Создаем мост:
brctl addbr br0

7) Для интерфейса wifi (vlan0 (у меня wlp1s0b1) можно добавить только в режиме точки доступа, вычитал в сети), поэтому:
ifconfig wlp1s0b1 down

8)
ifconfig wlp1s0b1 192.168.43.1/24
- если вай-фай, то переводим в режим точки доступа, иначе не заработает)

9) Добавляем в мост
brctl addif br0 wlp1s0b1

10) Разрешаем от пользователя доступ к мосту (я так понял):
mkdir -p /etc/qemu
echo "allow br0" >> /etc/qemu/bridge.conf

11) Запускаем qemu от пользователя (у меня так примерно) :
qemu-system-x86_64 -accel tcg -hda win.img -m 512 -netdev bridge,id=br0,br=br0 -device rtl8139,netdev=br0

12) В гостевой машине прописываем сетевому интефейсу адрес: 10.0.2.15;
маску подсети: 255.255.255.0; шлюз: 10.0.2.2

13) Смотрим от root, что получилось
ifconfig -a
У нас должны быть интерфейсы br0 и tap0 (после запуска qemu)

14) Далее я добавил для tap0 адрес
ifconfig tap0 10.0.2.3 up
и для br0
ifconfig br0 10.0.2.2 up

15) Добавил tap0 в мост, т.е. в br0
brctl addif br0 tap0

(Возможно, последние действия лишние)
После этого сайт виртуальной машины стал доступен
по адресу: 10.0.2.15

P.S.
Для создания моста, как мне подсказали, можно использовать ip ( iproute2)

Дополнение
Получить доступ к веб-серверу виртуальной машины можно, пробросив порт 80 через клиент ssh на ней.
На хосте запускается sshd
С клиентской машины используем reverse forwarding

ssh -N -R localhost:8181:localhost:80 -l user 10.0.2.2

Т.е. с хоста, набрав в браузере localhost:8181, должны попасть на веб-сервер виртуальной машины.
В putty для Windows идём в ssh -> tunnels -> source=8181, Destination=localhost:80
Ставим галку на Remote.

Чуть выше ставим "ставим птичку" возле: Local ports accept connections from other hosts.

Ты пошто тишину нарушаешь, из

Ты пошто тишину нарушаешь, из удобной домовины мну вылезть заставляет?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Прости, у меня "синдором

Прости, у меня "синдором хомяка" (это когда всё складывается куда-то, чтобы потом найти). Пытаюсь сохранить где-то то (вдруг опять понадобится и не только мне).
Пошатнулась моя вера в local storing.

My website: http://comb.org.ru

С ноября 2022 нетбук HP mini (Processor: Atom n570)

?

nano .config

???
Такого я не припоминаю… практически никогда.

:wq
--
Live free or die

Все обычно.

Каждый, кто не может справится со своим локальным хранилищем, начинает гадить в сеть. Будь то файлопомойка предприятия, облако аккаунта телефона или просто доступный форум.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".