LINUX.ORG.RU

интернет у guest'a

 , ,


0

1

Нужен интернет в гостевой ОС (арч). Делал всё по https://wiki.archlinux.org/index.php/QEMU#Networking_with_VDE2, но получаю

~$ qemu-system-x86_64 -no-acpi -net nic -net vde  -hda lin.img 
qemu-system-x86_64: -net vde: Device 'vde' could not be initialized

Все конфиги дефолтные.

Инет через ppp0, а к сети через wlan0.


Демон vde_switch запущен? Где его сокет? (ls -l /proc/`pidof vde_swiych`/fd)

Имеет ли qemu-kvm точно такие же мысли о положении сокета? (strace -e open,connect qemu-kvm)

Входит ли пользователь в группу kvm?

Правильные ли права на сокете? (известные грабли: цифру 0 в начале прав убирать нельзя, т.е. -mod 0660, а не -mod 660)

AEP ★★★★★
()
Ответ на: комментарий от AEP

1) запущен 2)

  lrwx------ 1 root root 64 Apr 20 18:41 4 -> socket:[3363527]
lrwx------ 1 root root 64 Apr 20 18:41 5 -> socket:[3363530]
lrwx------ 1 root root 64 Apr 20 18:41 6 -> socket:[3365335]
мм, как это отобразить в нормальные пути? 3)
connect(6, {sa_family=AF_FILE, path="/var/run/vde.ctl/ctl"}, 110) = -1 ECONNREFUSED (Connection refused)
connect(6, {sa_family=AF_FILE, path="/tmp/vde.ctl/ctl"}, 110) = -1 ENOENT (No such file or directory)
connect(6, {sa_family=AF_FILE, path="/tmp/vde.ctl"}, 110) = -1 ENOENT (No such file or directory)
 
4) входит 5) попробывал установить - ничего не изменилось

tim91
() автор топика
Ответ на: комментарий от AEP

нагуглил, что для «просто интернета» не нужно так заморачиваться. Это правда?

P.S нагуглил вроде как решение, только не знаю как реализовывается (в сетях я ничего не понимаю) :

А так же iptables должен быть настроен на пропуск трафика до и от хостов 10.0.2.0/8, если вы не указали иное в опции

tim91
() автор топика
Ответ на: комментарий от tim91

Для интернета через vde нужно обязательно указывать tap-устройство для vde_switch, и настраивать маршрутизацию, как если бы это была вторая сетевая карта. А для «просто интернета» vde не нужен, достаточно -net user

AEP ★★★★★
()

Собственно AEP тебе правильно ответил. Используй -net nic -net user

hope13 ★★★
()
Ответ на: комментарий от hope13

не нужно? там ведь написано что нужно Оо

 qemu-system-x86_64 -net nic,macaddr=00:00:00:00:00:00 -net user lin.img 

так у меня ни ип не проходит, ни линкс ничего не открывает

Это важно, что у меня wlan0 на хосте, а инет вообще на ppp0?

tim91
() автор топика
Ответ на: комментарий от tim91

Это часть правильного решения, основанного на vde. Вторая часть - MASQUERADE, третья - либо статический IP в гостевой системе, либо dnsmasq для dhcp

Но в достаточно большом числе случаев достаточно -net user, тогда никакой форвардинг не нужен.

AEP ★★★★★
()
Ответ на: комментарий от tim91

00:00:00:00:00:00

На обнулённым mac'ом dhcp клиент гостя не получит адресс. Либо запускай без macaddr либо укажи не нулевой.

Это важно, что у меня wlan0 на хосте, а инет вообще на ppp0?

нет

hope13 ★★★
()
Ответ на: комментарий от tim91

ping при -net user действительно работать не будет ни при каких условиях (об этом можно думать как о неотключаемом фаерволле внутри qemu, пропускающем только TCP и UDP, но не ICMP), поэтому нужно тестировать сеть иначе. А чтобы работало что-то еще, необходимо настроить интернет в гостевой системе с помощью dhcp-клиента на eth0

P.S. -net nic -net user - это настройки по умолчанию, их можно не писать

AEP ★★★★★
()
Ответ на: комментарий от tim91

после того как ты сделал ifconfig eth0 up, нужно ещё получить адресс для интерфейса. Что-то типа: dhcpd eth0 в зависимости от твоего клиента. Ну или статически настроить.

hope13 ★★★
()
Ответ на: комментарий от tim91

Это делается в гостевой системе. Но, в любом случае с net -nic -net user доступен только 10.0.2.* причём если гость один, он всегда получает 10.0.2.15.

hope13 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.