Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-12-14 00:47:08

  loop - Członek DUG

loop
Członek DUG
Zarejestrowany: 2013-02-23

Qemu i interfejs tap

Tak tak wiem, że było - czytałem, ale coś nie bardzo mi wychodzi.
Na razie próbuję sam tap bez mostka.

Kod:

grep -i tun /usr/src/linux/.config
CONFIG_TUN=y

Kod:

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT
                                      
iptables -t nat -A POSTROUTING -j MASQUERADE

Kod:

tunctl -u root -t tap0
ifconfig tap0 192.168.1.177

Kod:

ifconfig tap0

tap0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.1.177  netmask 255.255.255.0  broadcast 192.168.1.255
        ether a2:d5:39:ac:da:8b  txqueuelen 500  (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

Kod:

qemu-kvm -hda /home/loop/kvm.img -m 512 -net nic,macaddr=a2:d5:39:ac:da:8b tap,ifname=tap0 ,script=no,downscript=no -boot menu=on -name Debian -vga std -enable-kvm

I niestety dostaję:

Kod:

qemu-system-x86_64: -net nic,macaddr=a2:d5:39:ac:da:8: drive with bus=0, unit=0 (index=0) exists

Gdzie popełniam błąd?

Ostatnio edytowany przez loop (2013-12-14 00:54:09)

Offline

 

#2  2013-12-14 01:02:08

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Qemu i interfejs tap

Kod:

qemu-kvm -hda /media/box/FreeBSD9.img -m 1024  -net nic,macaddr=00:1d:82:ac:3f:65 -net tap,ifname=tap1,script=no,downscript=no -alt-grab   -name FreeBSD9 -boot d

Kod:

qemu-kvm -hda /media/box/Debian.img -m 512  -net nic,macaddr=00:1d:92:ab:3f:78 -net tap,ifname=tap0,script=no,downscript=no -nographic -alt-grab -name Debian -boot d

Obie wirtualki działają i mają sieć przez karty tap (zarówno w mostku jak i bez).


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2013-12-14 01:56:26

  loop - Członek DUG

loop
Członek DUG
Zarejestrowany: 2013-02-23

Re: Qemu i interfejs tap

Uff ruszyło. Czyli brakowało tego dziadostwa:

[b]-net[/b] tap,ifname=tap1,script=no,downscript=no[/quote]
No i ta spacja przed "script=no" też bruździła.

Dziękuję :)

Niestety kolejny problem, bo internet u gościa nie działa:

Kod:

allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.177
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1

Kod:

cat resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220

Kod:

ping -c 3 www.gentoo.org
ping: unknown host www.gentoo.org

Offline

 

#4  2013-12-14 04:35:12

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Qemu i interfejs tap

Maskarada na firewallu zrobiona?

Na interfejs tap udostępniasz tak samo, jak na drugiego kompa.
W FAQ masz przepis autorstwa Biexi.

W największym skrócie:

Kod:

iptables -t nat  -A PREROUTING -i ppp+ -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t nat  -A POSTROUTING -o ppp+ -j MASQUERADE
iptables -A FORWARD -i tap+ -o ppp+ -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

W tym przypadku net idzie przez interfejs ppp (wynalazek mojego ISP) zazwyczaj to będzie któraś z kart ethX lub wlanX, czy innej, przez którą masz neta.

Nazwy interfejsów sieciowych są pojęciem dosyć względnym, można je zmieniać w konfigu udeva.

Znaczki plus, np:
tap+ albo ppp+ - oznacza wszystkie karty tap albo ppp z dowolnym numerkiem końcowym, np można zrobić regułę na wsie interfejsy ethX, wpisując np

Kod:

iptables -i eth+   ....

EDIT
Widzę, ze maskaradę masz zrobioną, pewnie coś innego net blokuje, może jakieś zabezpieczenia ISP albo humory routera.

Obecnie do kvm mam mostek podnoszony skryptem:

Kod:

#!/bin/bash
brctl delbr br0 2>/dev/null

tunctl -u pacjent -t tap0 2>/dev/null
tunctl -u pacjent -t tap1  2>/dev/null

ip link tap0 up  2>/dev/null
ifconfig tap0 promisc up  2>/dev/null
ip link tap1 up   2>/dev/null
ifconfig tap1 promisc up  >/dev/null

brctl addbr br0   2>/dev/null
brctl addif br0 tap0 2>/dev/null
brctl addif br0 tap1 2>/dev/null

ifconfig br0 10.0.5.1 netmask 255.255.255.0 2>/dev/null
ifconfig br0 up 2>/dev/null

Gdzie pacjent, to użyszkodnik, który potrzebuje kart tap, czyli ja w tym przypadku. ;)



Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2013-12-14 05:17:44)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00103 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='52.15.170.196' WHERE u.id=1
0.00091 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '52.15.170.196', 1732241952)
0.00050 SELECT * FROM punbb_online WHERE logged<1732241652
0.00071 SELECT topic_id FROM punbb_posts WHERE id=248373
0.00102 SELECT id FROM punbb_posts WHERE topic_id=24809 ORDER BY posted
0.00077 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24809 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00078 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24809 ORDER BY p.id LIMIT 0,25
0.00080 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24809
Total query time: 0.00671 s