qemu und bridge-utils

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

qemu und bridge-utils

Beitrag von ding280 » 08.07.2005 18:31:48

Hallo,

ich möchte mit qemu (oder besser gesagt, die Betriebssysteme, die darin laufen) direkt mit meinem LAN verbinden. Sie sollen direkt angesprochen werden und auch eine eigenen IP von meinem DHCP-Server bekommen. Soweit ich weiß, brauche ich da die bridge-utils. Aber wie geht es dann weiter?

Gruß Tom

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 08.07.2005 19:01:33

hmm.. nein du brauchst keine bridge-utils

das ganze läuft über das TUN Device... was du brauchst ist eine Konfig für jedes BS und wenn sie in einem eigenen IP Bereich sein sollen auch noch einen NAT Eintrag
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 08.07.2005 19:06:09

Ich dachte eigentlich mehr, dass er das tun0-Interface sowie sein normales Netzwerk zu einer Bridge zusammenfassen will, so dass es auch ohne NAT geht. So ähnlich wird das auch von VMware gemacht.

Wie man so etwas selber einrichtet weiß ich leider auch nicht.

mludwig

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 08.07.2005 19:44:32

Hallo,

mludwig hat recht. Ich will, dass das genauso funktioniert wie in VMware. Ohne NAT, sondern im gleichen Subnet, mit gleicher SubnetMask, gleichem Gateway ...

Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 08.07.2005 20:07:43

Da mir diese Idee, das Win98 in qemu via bridge direkt in mein Subnet zubringen, sehr gut gefällt, probiere ich das jetzt aus.

Bei den bridge-utils ist die Datei /usr/share/doc/bridge-utils/HOWTO in der es eigentlich eine sehr gute Anleitung gibt. Werde die jetzt mal testen und mich ggf. nochmal melden.

grüße
mludwig

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 08.07.2005 20:10:21

Hallo,

dieses HOWTO hab ich auch gesehen, aber ich weiß ja nicht einmal, wie ich ein logisches Interface definiere.

Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 08.07.2005 21:38:07

ok, also bei mir funzt das jetzt. Ist allerdings noch holprig, werde mir wohl noch einiges automatisieren.

als erstes sicherstellen dass die Module bridge und tun geladen sind.

Code: Alles auswählen

modprobe tun bridge
Das device /dev/net/tun muss für den Nutzer von qemu les- und schreibbar sein.

Code: Alles auswählen

chmod 666 /dev/net/tun
Die bridge-utils müssen installiert sein.

Code: Alles auswählen

apt-get install bridge-utils
Dann in die /etc/network/interfaces eintragen

Code: Alles auswählen

iface br0 inet dhcp
bridge_ports eth0 tun0
Die Einträge für eth0 würde ich erstmal auskommentieren. Wie das auf dauert geht muss ich noch ausknobeln.

Somit werden eth0 und tun0 in die Bridge integriert. Da tun0 erst erscheint, wenn qemu schon läuft, muss root noch ausführen:

Code: Alles auswählen

ifdown tun0
ifup br0
Weiß jemand wie man das Interface erstellt? Ich hatte gehofft das erscheint automatisch, wenn das Modul geladen wird, dem ist aber nicht so.

Das war bei mir alles, jetzt kann ich mit dem in qemu laufenden win98 meinen router anpingen, welcher auf eth0 erreichbar ist. In win98 muss natürlich ebenfalls dhcp aktiviert sein. Der Host, in dem qemu läuft, hat für den router und das win98 die gleiche IP :-)

grüße
mludwig

PS.: suche jetzt noch nach wegen, das alles schneller zu machen, nicht so viel von hand.

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 09.07.2005 11:02:15

Hallo,

danke für Arbeit. Aber wie muss die /etc/network/interfaces aussehen, wenn ich mehrer Instanzen von qemu laufen lasse?

Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 09.07.2005 12:32:56

Das habe ich noch nicht probiert, aber vermutlich hat jede Instanz dann sein eigenes tun-Interface. Diese dann einfach zur Zeile

Code: Alles auswählen

bridge_ports eth0 tun0 tun1 tun2 ....
hinzufügen.

mludwig

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 09.07.2005 13:20:58

Hallo,

ich habe hier mal was in einem BSD-Forum gefunden. Obs unter Linux funktioniert weiß ich nicht.
http://www.bsdforen.de/showpost.php?p=7 ... stcount=19

Gruß Tom[/url]

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 10.07.2005 13:16:58

Hallo,

so wie du das beschrieben hast, funktioniert das bei mir nicht.
qemu meldet beim Start zwar immer "Connection to tun0" oder so ähnlich. Aber wenn ich ein /etc/init.d/networking restart mache, meldet er immer "Interface tun0 does not exist".

Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 10.07.2005 14:01:19

Nachdem qemu gestartet wurde, wird kein tun0-Interface angelegt? Entweder ist dann das tun-Modul nicht geladen oder der User hat nicht genug Rechte für /dev/net/tun

Was sagt denn in dem Moment ifconfig?

grüße
mludwig

PS.: hier funzt alles ganz gut, komme unter qemu ins lokale Netz sowie ins Internet, Maschinen aus dem lokalen Netz können auf den emulierten Rechner zugreifen.

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 10.07.2005 14:39:15

Hallo,

die Rechte für /dev/net/tun müssten reichen - ich führe qemu als root aus.

Hier die Ausgabe von ifconfig

Code: Alles auswählen

server:~# ifconfig
br0       Protokoll:Ethernet  Hardware Adresse 00:11:2F:82:33:85  
          inet Adresse:192.168.2.151  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6 Adresse: fe80::211:2fff:fe82:3385/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:11925 (11.6 KiB)  TX bytes:8039 (7.8 KiB)

eth0      Protokoll:Ethernet  Hardware Adresse 00:11:2F:82:33:85  
          inet6 Adresse: fe80::211:2fff:fe82:3385/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:193047 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1715 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:12569522 (11.9 MiB)  TX bytes:219495 (214.3 KiB)
          Interrupt:177 Basisadresse:0xd000 

lo        Protokoll:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1008 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1008 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:53548 (52.2 KiB)  TX bytes:53548 (52.2 KiB)

tun0      Protokoll:Ethernet  Hardware Adresse 00:FF:FB:63:0E:86  
          inet6 Adresse: fe80::2ff:fbff:fe63:e86/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:803 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:2772 (2.7 KiB)  TX bytes:55861 (54.5 KiB)
Hier nochmal die /etc/network/interfaces

Code: Alles auswählen

server:~# cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet static
#       address 192.168.2.99
#       netmask 255.255.255.0
#       gateway 192.168.2.1

auto br0
iface br0 inet dhcp
        bridge_ports eth0 tun0
Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 10.07.2005 15:38:28

Nach diesen Informationen sollte ein

Code: Alles auswählen

ifup br0
eigentlich alles sein, was noch notwendig ist. Da durch die bridge-utils alles eingerichtet ist, werden durch die pre-init scripte alle notwendigen Einstellungen vorgenommen.

grüße
mludwig

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 10.07.2005 16:32:05

Hallo,

ein ifup br0 habe ich bisher auch immer gemacht. Ich starte qemu mit qemu -hda image. Vielleicht muss ich hier mehr Parameter übergeben.

Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 10.07.2005 17:10:06

Hm, ich kann leider nicht erkennen was bei Dir nicht funktioniert. Einzige Falle die es noch geben könnte: qemu führt beim Start die Befehle in /etc/qemu-ifup aus. Ich glaube aber nicht das dies das Einrichten der Bridge verhindert.

grüße
mludwig

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 11.07.2005 09:29:04

Hallo,

nun gut, danke für deine Hilfe. Hast du vielleicht noch ein paar Links, wo ich mir noch etwas Wissen über eine Bridge anlesen kann?

Gruß Tom

mludwig
Beiträge: 807
Registriert: 30.01.2005 19:35:04

Beitrag von mludwig » 11.07.2005 10:45:02

Ich habe keine speziellen Links, bei mir waren die Informationen aus dem Verzeichnis /usr/share/doc/bridge-utils/ ausreichend, um alles wie gewünscht einzurichten.

grüße
mludwig

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22451
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 13.07.2005 10:25:21

Habs gerade mal probeweise mit

Code: Alles auswählen

openvpn
ausprobiert.

Code: Alles auswählen

matthias@biljana:~$ /sbin/ifconfig tun0
tun0      Protokoll:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet Adresse:10.0.0.1  P-z-P:10.0.0.2  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
Das modul tun [/code] und das Device

Code: Alles auswählen

/dev/net/tun
wurde automatisch erstellt.

Nach dieser Anleitung vom Linuxmagazin 08/2002

Aus dem Leben eines Sysadmins: OpenVPN Verlässlich verbinden
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten