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/random
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:

-net tap,ifname=tap1,script=no,downscript=no

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/random
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
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)