[lug-ld] Proxmox / Internet IP Settings (Verständnis?)

Wagner, Steffen Tobias Steffen.Tobias.Wagner at sap.com
Mo Mär 24 13:28:44 CET 2014


Hallo Jean-Jacques,

ich werde das demnächst mal testen, was du vorgeschlagen hast.
Ich melde mich mit Feedback :-)

Danke + Gruß
Steffen

-----Original Message-----
From: lug-ld-bounces at lists.lug-ld.de [mailto:lug-ld-bounces at lists.lug-ld.de] On Behalf Of Jean-Jacques Sarton
Sent: Freitag, 21. März 2014 15:25
To: Allgemeine Mailingliste der Linux-User-Group Landau
Subject: Re: [lug-ld] Proxmox / Internet IP Settings (Verständnis?)

Hallo,

ein klein Fehler habe ich behangen, die Mac-Adresse der
in der Bridge angeschlossenen Interfaces werden doch
weitergegeben wenn man von dies absieht sind meine Aussagen
aber korrekt.
Bei NAT bleiben natürlich die Mac Adresse im System.
nachstehend ist ein kleiner Script welcher lediglich eine
Netzwerk Virtualisation vornimmt. 2 Terminals werden
nachdem die bridge angelegt wurde und die virtuelle
Interface erzeugt und in der Bridge eingebunden wurden
aufgerufen. Bei der Virtualisation einen kompletten
Rechner ist es komplizierter aber auf Netzwerk-Ebene
ist es ähnlich.

---------------------------------------------------------------------
#!/bin/sh
# Network virtualisation

# adapt this to your needs. EXTIF and EXTIP
# are the id eg. IP for the network interface attached to
# the WAN (possibly via a NAT router)

EXTIF=wlp12s0
EXTIP=192.168.178.3

# define the
NS='veth0 n1 10.0.0.2
veth2 n2 10.0.0.3'

NET=10.0.0.0
MASK=24
RT_ADDR=10.0.0.1

# Create_bridge
brctl addbr br0
brctl stp br0 off

# Setup veth's
while read veth ns ip
do
        ip netns add $ns
        ip link add $veth type veth peer name veth1
        ip link set veth1 netns $ns
        brctl addif br0 $veth

        # If you have a true VM the following will be done
        # by the VM OS, since we make only network virtalisation
        # we do this here, this will allow us to run a terminal
        # with only tje virtualized network
        ip netns exec $ns ip link set veth1 name eth0
        ip netns exec $ns ip link set up dev lo
        ip netns exec $ns ip link set up dev eth0
        ip netns exec $ns ip a a $ip/$MASK dev eth0
        ip netns exec $ns ip r a default via $RT_ADDR dev eth0
done <<!
$NS
!


# Configure br0
ip link set up dev br0
ip a a $RT_ADDR/$MASK dev br0

# set NAT for our subnet
iptables -t nat -A POSTROUTING -s $NET/$MASK -o $EXTIF  -j SNAT --to
$EXTIP

# Span sh within a new terminal Adapt according to your terminal program
while read veth ns ip
do
        ip netns exec $ns /usr/bin/xfce4-terminal -T $ns -e /bin/sh &
done <<!
$NS
!

# Wait until all terminals are closed
for job in `jobs -p`
do
        wait $job
done

# CLEANUP
# remove NAT rule
iptables -t nat -D POSTROUTING -s $NET/$MASK -o $EXTIF  -j SNAT --to
$EXTIP

#  remove from bridge remove namespace and network devices
while read veth ns ip
do
        ip netns exec ip l set down $veth
        brctl delif br0 $veth
        ip netns delete $ns
done <<!
$NS
!

# remove the bridge
ip l set down dev br0
brctl delbr br0
---------------------------------------------------------------------

Am 21.03.2014 11:23, schrieb Jean-Jacques Sarton:
> Hallo, Aufbau einen Server mit Virtuelle Maschine
>
> Grundsätzlich sind 2 Verfahren vorhanden: 1) Alle Einrichtungen
> teilen einer gemeinsamen Subnetz 2) Die Virtuelle Rechner sind in
> ein anderen Netz eingebunden
>
> In alle Fällen besitzen die Virtuelle Maschinen ein emulierte
> Netzwerk Interface. Dies kann auf Software Ebene auf verschiedene
> Arten realisiert werden. Als Gerät kann ein Tap-Device oder ein
> virtuelle Ethernet Interface (veth) benutzt werden.
>
> Promox basiert auf kvm und Containers. Damit dürfte die Verwendung
> von veth die Regel sein. Beim anlegen von Virtuelle Ethernet
> Interfaces werden immer 2 Gebilde angelegt Eins davon ist im Server
> eingebunden der anderen wird von der Virtuelle Maschine benutzt.
> Das Kommando:
>
> # Name space für die VM vm1 anlegen ip netns add vm1 # veth
> anlegen ip link add  type veth peer name veth1 # veth1 zur Name
> Space vm1 hinzufügen ip link set veth1 netns vm1
>
> erzeugt die Geräte veth0 und veth1 veth0 wird auf der Server-Seite
> verwendet veth1 ist der Anschluss für die Virtuelle Maschine.
>
> das Anlegen der Interface wird von Promox erledigt und kann hier
> vergessen werden Die Technologie die verwendet wird spielt hier
> keiner Rolle. Da die verschiedene VMs in ein gemeinsamer Subnetz
> betrieben werden, wird ein Software Switch verwendet. Unter Promox
> ist trägt dieser Switch den Name vmbr0. Dieser Switch muss vorab
> angelegt werden Bei Debian wird er in der Datei interfaces
> eingetragen, die konfigurierung erfolgt dann automatisch. Promox
> 'steckt' zu ein spätere Zeitpunkt die veth Interface im Switch.
>
> Im Promox Modus Bridged wird in der Bridge als erstes Interface der
> Bridge eth0 gesteckt (Datei interfaces). Damit ist die HW-Adress
> des Switches automatisch die MAC.Adresse von eth0. Die öffentliche
> Adresse ist vmbr0 zuzuweisen, eth0 ist in diesem Fall so zu sagen
> die Schnittstelle zur Außenwelt und erhält keine Adresse
> zugewiesen.
>
> Wenn bridged nicht gewählt wird, ist normalerweise NAT vorgesehen.
>
> In diesem Fall haben wir nachstehende Konfiguration:
>
> eth0 (öffentliche Adresse) | +---------------+ |    Router     |
> +---------------+ | vmbr0 (Lokaler Adresse Z.B. 10.0.0.1) |
> +---------------+ |    Switch     | +---------------+ |   |   |
> | vm1 vm2 vm3 vm4 ...
>
> Im Bridged Modus sieht es in etwa so aus:
>
> vmbr0  +-- Außenwelt |    | |   eth0 |    | +---------------+ |
> Switch     | +---------------+ |   |   |   | vm1 vm2 vm3 vm4 ...
>
> Eth0 hat in diesem Fall eine Sonderstellung, einerseits hat eth0
> die gleiche Funktionalität wie die übrige Anschlüsse andererseits
> ist eth0 die die physikalischen Schnittstelle zur Außenwelt, eine
> Schnittstelle ohne eigene Adresse. Dies kann schlecht in so eine
> Skizze dargestellt werden. Da das auf Mac Adresse basierenden
> Routing einen Austausch der Mac Adresse vorsieht, wird bei
> Verbindungen zur Außenwelt immer die Mac Adresse des direkt
> inkriminierten Interface verwendet und damit die MAC-Adresse von
> eth0.
>
> Im NAT Modus wird NAT durch die Software (iptables) im Router
> vorgenommen. Nating ist unter Verantwortung des Anwenders
> einzurichten (nicht promox). Damit kann auch eine globale Adresse
> den Switch zugeordnet werden (Voraussetzung man hat eine und das
> Routing außerhalb unseren Server ist so eingerichtet, dass die IPs
> der VMs erreichbar sind).
>
> Die Konfigurierung der VM (IP/Route) erfolgt entweder statisch in
> der VMs kann aber auch per DHCP vorgenommen werden, in dieser Fall
> müsste ein DHCP Server auf die reale Maschine konfiguriert werden.
> Statische Adresse dürfte aber leichter handhabbar sein.
>
> Jean-Jacques
>
> Am 21.03.2014 08:32, schrieb Hakon Benner:
>> Hey Steffen,
>>
>> Hab mir auch noch bisserl den kopf zerbrochen. Eine idee ist
>> wahrscheinlich zwei vmbr's zu erstellen (vmbr0 mit der ersten
>> public ip und vmbr1 mit der zweiten pub ip) und die vms dann auf
>> die beiden vmbrs zu verteilen.
>>
>> Gruß Hakke
>>
>> Gesendet von meinem Commodore C64 Am 18.03.2014 13:51 schrieb
>> "Wagner, Steffen Tobias" < Steffen.Tobias.Wagner at sap.com>:
>>
>>> Hi @ all,
>>>
>>>
>>>
>>> ich hab da mal auch so eine Frage, die in Richtung Ekki’s
>>> Frage vor kurzer Zeit bezüglich öffentlichen IP’s […] bei
>>> Proxmox geht. Wäre klasse, wenn mir wer weiterhelfen könnte J
>>>
>>>
>>>
>>> Und los geht’s:
>>>
>>>
>>>
>>> Habe 2 IP Adresse aus verschiedenen Subnetzen (217.172.182.XXX
>>> & 85.25.253.XXX) und damit auch anderen Broadcast und Gateway
>>> Adressen…. Ich möchte nun erreichen, dass eben eine bestimmte
>>> VM (KVM oder OpenVZ) eben komplett meine Zusatz-IP 85.XXXXX
>>> zugewiesen bekommt (nicht wie Ekki nur einzelne Ports,..)
>>> [oder dass diese Zusatz-IP unter verschiedenen VMs verwendet
>>> wird -> prinzipiell wie Ekki das wollte, nur nicht mit Haupt,
>>> sondern Zusatz-IP].
>>>
>>> Leider kann ich die (eigentlich sehr gute Doku) von Hetzner
>>> http://wiki.hetzner.de/index.php/Proxmox_VE nicht so
>>> verwenden, weil dort die IPs immer im gleichen Subnetz liegen…
>>>
>>>
>>>
>>> Es gibt nicht die Möglichkeit ein Subnetz mit mehreren IPs zu
>>> bekommen, sondern die Zusatz-IPs werden zufällig  vergeben..
>>>
>>>
>>>
>>> Ich dachte vielleicht an was in die Richtung wie hier
>>> beschrieben:
>>> http://pve.proxmox.com/wiki/Network_Model#Routed_Configuration
>>>
>>>
>>>
>>> Könnte ich dann einfach eine VM auf’s vmbr0 Interface legen
>>> (wenn im Host eth0 mit der Haupt-IP konfiguriert ist und vmbr0
>>> ein internes Subnetz „aufspannt“) und im Guest die Zusatz IP
>>> konfigurieren, oder klappt dies dann so nur, wenn ich den
>>> Traffic auf die Haupt-IP Masquerade (was mir ja dann so nichts
>>> für mein Setup mit Zusatz-IP bringt..)?
>>>
>>>
>>>
>>> Wer kann mit netterweise ein wenig auf die Sprünge helfen
>>> (statt dumm alles durchzutesten frage ich erst mal hier, weil
>>> ich nicht jedes Mal ins Recovery fahren will, um dort das Zeug
>>> wieder zurückändern J)?
>>>
>>>
>>>
>>> Danke vielmals,
>>>
>>> Steffen
>>>
>>>
>>>
>>> *Steffen Wagner*
>>>
>>> BAzubis Vocational Training Germany Student of Applied
>>> Computer Science International Business Competence 2013 *
>>> Baden-Württemberg Cooperative State University Mannheim* |
>>> Coblitzallee 1-9 | 68163 Mannheim | Germany
>>>
>>>
>>> *SAP AG* | Dietmar-Hopp-Allee 16 | 69190 Walldorf | Germany
>>>
>>> T +49 6227/7- 56737 | F +49 6227/78-59727 | M +49 1523/3544688
>>> | E steffen.tobias.wagner at sap.com www.sap.com
>>>
>>>
>>> *Please consider the impact on the environment before printing
>>> this e-mail.*
>>>
>>>
>>>
>>> _______________________________________________ lug-ld mailing
>>> list lug-ld at lists.lug-ld.de
>>> http://lists.lug-ld.de/mailman/listinfo/lug-ld
>>>
>>>
>>
>>
>>
>> _______________________________________________ lug-ld mailing
>> list lug-ld at lists.lug-ld.de
>> http://lists.lug-ld.de/mailman/listinfo/lug-ld
>>
>
> _______________________________________________ lug-ld mailing
> list lug-ld at lists.lug-ld.de
> http://lists.lug-ld.de/mailman/listinfo/lug-ld
>

_______________________________________________
lug-ld mailing list
lug-ld at lists.lug-ld.de
http://lists.lug-ld.de/mailman/listinfo/lug-ld