Продублирую сюда, чтобы не потерялась.
Речь именно о доступе к сайту, который внутри гостевой машины,
т.е. с хоста.
Прим.: возможно, что в этом руководстве есть лишние действия (трудно проверить, так как виртуализация у меня сильно тормозит), но именно следующие действия привели к работоспособности (собрано из разных ресурсов в сети).Памятка (может, кому-то пригодится),
Настройка осуществлялась: в Gentoo Linux на нетбуке hp mini (Atom n570).
Виртуальная машина: XP с веб-сервером AppServ 2.5.1.1) Становимся root
su2) Разрешаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward3) В ядре следует включить
CONFIG_BRIDGE=y
Если не включен, то идёмcd /usr/src/linuxnano .config
Находим CONFIG_BRIDGE и редактируем
Далее закрываем и сохраняемmake && make modules_installlНе помню, надо ли копировать образ ядра, но монтируем boot и копируем в него:
mount /bootcp arch/x86_64/boot/bzImage /boot/kernel-5.15.75-gentoo4) Перезагрузка.
reboot5) Ставим программы для работы с мостом
emerge net-misc/bridge-utils6) Создаем мост:
brctl addbr br07) Для интерфейса wifi (vlan0 (у меня wlp1s0b1) можно добавить только в режиме точки доступа, вычитал в сети), поэтому:
ifconfig wlp1s0b1 down8)
ifconfig wlp1s0b1 192.168.43.1/24
- если вай-фай, то переводим в режим точки доступа, иначе не заработает)9) Добавляем в мост
brctl addif br0 wlp1s0b110) Разрешаем от пользователя доступ к мосту (я так понял):
mkdir -p /etc/qemuecho "allow br0" >> /etc/qemu/bridge.conf11) Запускаем qemu от пользователя (у меня так примерно) :
qemu-system-x86_64 -accel tcg -hda win.img -m 512 -netdev bridge,id=br0,br=br0 -device rtl8139,netdev=br012) В гостевой машине прописываем сетевому интефейсу адрес: 10.0.2.15;
маску подсети: 255.255.255.0; шлюз: 10.0.2.213) Смотрим от root, что получилось
ifconfig -a
У нас должны быть интерфейсы br0 и tap0 (после запуска qemu)14) Далее я добавил для tap0 адрес
ifconfig tap0 10.0.2.3 up
и для br0ifconfig br0 10.0.2.2 up15) Добавил tap0 в мост, т.е. в br0
brctl addif br0 tap0(Возможно, последние действия лишние)
После этого сайт виртуальной машины стал доступен
по адресу: 10.0.2.15
зачем так сложно то делать всё.
Если уж добавляете интерфейсы в бридж, так выдавайте сразу адрес из локалки, зачем колхоз городить то? А если просто порт надо прокинуть на вируталку, так прокиньте порт - думаю что вам именно это и нужно было.
> зачем так сложно то делать всё.
> Если уж добавляете интерфейсы в бридж, так выдавайте сразу адрес из локалки,
> зачем колхоз городить то? А если просто порт надо прокинуть на
> вируталку, так прокиньте порт - думаю что вам именно это и
> нужно было.Колхоз это передовое хозяйство. Тут (с атомом и хп) натуральный бизнес.
> зачем так сложно то делать всё.
> Если уж добавляете интерфейсы в бридж, так выдавайте сразу адрес из локалки,
> зачем колхоз городить то? А если просто порт надо прокинуть на
> вируталку, так прокиньте порт - думаю что вам именно это и
> нужно было.Да. Спасибо. Можно вообще через ssh:
Дополнение:
Получить доступ к веб-серверу виртуальной машины можно,
пробросив порт 80 через клиент ssh на ней.1) На хосте запускается sshd - сервер ssh.
2) С клиентской машины используем 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.
Вот интересно: заработает ли в виртуальной машине Yggdrasil?
Раз вариант с ssh работает, то должен заработать.
>[оверквотинг удален]
> 1) На хосте запускается sshd - сервер ssh.
> 2) С клиентской машины используем 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.
> Вот интересно: заработает ли в виртуальной машине Yggdrasil?
> Раз вариант с ssh работает, то должен заработать.В putty в разделе ssh->tunnels чуть выше ставим "ставим птичку" возле: Local ports accept connections from other hosts.