# Wie wechselnde Netzwerksetups managen?

## der_flo

Unter euch ist bestimmt jemand, der ähnlich aufwendige Netzwerksetups wie ich hat. Aber ich beschreibe am besten mal schnell:

LAN:

Mein Notebook ist sehr, sehr oft in unterschiedlichen Netzwerken, noch öfter ohne DHCP-Server.

WLAN:

Zusätzlich nutze ich mehrere verschiedene WLANs (oft offen, teilweise WEP, meistens WPA(2))

VPN:

Da nutze ich ein paar OpenVPN-Tunnel und ein paar IPSec-Cisco-Tunnel, also

OpenVPN

cisco-vpnclient-3des

vpnc (wenn ich endlich drauf migriert habe)

Wie handhabe ich das? Wie gehe ich gekonnt damit um?

Unter Windoze war das (teilweise) relativ leicht managebar, weil mir da die "IBM Access Connections" bequemes switchen erlaubt hat. Es hat auch sofort brav die Interfaces deaktiviert, die gerade nicht benötigt werden. Eine coole Sache. Aber is halt ne Windoze-Lösung (allerdings hab ich gehört, dass IBM das in Kooperation mit SUSE auf Linux portiert hat/portieren will).

Ich höre jetzt immer von unterschiedlichsten Stellen, dass ja das baselayout so klasse ist und das auch managen kann. Aber das ist mir nicht ganz klar, wie das funktionieren soll. Gibt es da Dokumentation dazu? der http://www.gentoo.org/doc/en/handbook/2006.1/handbook-x86.xml?part=4 sagt mir nicht viel, dass da: http://www.gentoo.org/doc/en/handbook/2006.1/handbook-x86.xml?part=4&chap=6 find ich ja schon fast sinnfrei. Aber vielleicht ist das ja die Doku für stable und die Gentoo-devs haben unstable nen Trumpf in der Hand.

Ich hab in letzter zeit auch ein bisschen was über networkmanager + knetworkmanager gelesen, aber oft nichts gutes.

der wpa_supplicant ist mir irgendwie auch so ein amok-laufendes Teil. Manchmal will ich ja nicht mit jedem WLAN-Netz, das gerade verfügbar ist, auch verbunden werden, vielleicht bleibe ich viel lieber bei meiner Kabel-Verbindung.

Ihr dürft mich jetzt nicht falsch verstehen, ich habe prinzipiell kein Problem damit, das per Hand in der Shell zu machen oder das zu skripten. Aber ich frage mich schon, wie das mit dem baselayout-system funktionieren kann/soll und ob es nicht doch eine bequeme Möglichkeit gibt, dass intelligent handzuhaben.

und noch so eine Frage zu dem IP-Wechsel-Thema:

Ich als Programmierer und Hobby-Netzwerker konstruiere folgenden Fall:

Ein Dienst (z.B. apache, ssh) ist auf ein bestimmtes Interface, besser gesagt auf eine bestimmte Host-IP gebunden. Wenn ich jetzt (per ifconfig) mein Netzwerksetup ändere, dann müssten die betreffenden Dienste ja eigentlich in der Luft hängen.

Deswegen erkennt das baselayout/sysvinit/? ja, dass bestimmte Dienste dementsprechend neu gestartet werden.

Angenommen, ich binde die Dienste auf alle (*) Host-IPs bzw. Interfaces. Ist dann ein rebind erforderlich?

Danke schonmal für Meinungen, Verbesserungen und Klarstellungen!

der flo

----------

## Ampheus

Ich habe mir kleine Bash-Scripte in /usr/bin/ erstellt, welche je nach Netz erst die Devices deaktivieren und dann das geforderte starten.

Das kann man in deinem Fall natürlich besser nicht mit vielen scripten machen, sondern mit einem großen, welchem du sagst,wo du bist.

Also beispielsweise

```
customnet heim_lan
```

oder

```
customnet arbeit_wpa
```

Das script heißt dann customnet und prüft, was als Parameter übergeben wird. Damit startet es dann je nach Wunsch deine Konfiguration.

----------

## der_flo

ja, danke.

diese alternative wird sich mir wohl immer bieten. vielleicht code ich dann auch noch so ein mini-kleines kde-programm zum umschalten. mal gucken.

wenn aber noch jemand vorschläge hat - bitte raus damit.

ciao,

der flo

----------

## py-ro

Hast du dir den die /etc/conf.d/net.example angesehen?

Also zumindest die wechselnden WLAN sollten kein Problem sein, VPN weiss ich nicht, hab ich nicht   :Embarassed: 

MfG

Py

----------

## der_flo

 *py-ro wrote:*   

> Hast du dir den die /etc/conf.d/net.example angesehen?
> 
> Also zumindest die wechselnden WLAN sollten kein Problem sein, VPN weiss ich nicht, hab ich nicht  
> 
> MfG
> ...

 

ja, wechselnde wlan-setups bekommt man damit sicher hin. lan und vpn meines wissens nach nicht, lasse mich aber gern eines besseren belehren.

ciao,

der flo

----------

## firefly

man kann seit ein paar baselayout-versionen runlevel bezogenen configurationen (zumindestens für /etc/conf.d/{net,wireless}) erstellen.

einfach den runlevel-namen als postfix an den configurations-dateinamen anhängen.

z.b. man hat einen seperaten runlevel "vpn-home"

dann heißen die configurations-dateien für net und wireless:

net.vpn-home und wireless.vpn-home.

wenn das net.* init-script keine Runlevel-bezogene configurations-datei findet, nimmt es die standard dateien

----------

## der_flo

@firefly:

ich muss mir das jetzt nochmal ganz durchdenken, aber das hört sich schon mal klasse an!

dann muss ich ja einfach nur eine latte runlevels definieren.

oh ja, da fallen mir schon interessante sachen ein.

super!

der flo

----------

## nikaya

Verschiedene Runlevel-Konfigurationen werden hier beschrieben:

http://www.gentoo.de/doc/de/handbook/handbook-x86.xml?part=2&chap=4#doc_chap5

----------

## der_flo

danke für den link, so werde ich das machen.

ciao,

der flo

----------

## xraver

Schau dir mal knemo für KDE an.

http://kde-apps.org/content/show.php?content=12956

----------

## der_flo

 *xraver wrote:*   

> Schau dir mal knemo für KDE an.
> 
> http://kde-apps.org/content/show.php?content=12956

 

na dann vielleicht doch wieder skripten und das als frontend einsetzen...

auch nicht schlecht

ciao,

der flo

----------

## BrummBrumm

Hallo.

Ich habe ein ähnliches Problem, allerdings hatte mir die Funktionalität die über /etc/conf.d/net geboten wird nicht gereicht (es war es mir nicht möglich ein WLAN zu konfigurieren daß ein Ausrufezeichen im Namen hatte). Dieses Problem lässt sich über den wpa_supplicant leicht erledigen. Das Problem mit dem wpa_supplicant war, daß er selbst nicht IP-Adressen setzen kann. Dafür hab ich mir ein Script geschrieben daß die Variable 'id_str' auswertet und über wpa_cli dann ein Script, welches mir mein Netzwerk konfiguriert (dhcp oder static ip), ausführt. 

Mittlerweile gibt es da den 'NetworkManager' der wohl ähnliches kann, der kommt allerdings nicht mit meinem in Hexadezimaler Form vorliegenden WPA2-Keys klar, wobei das nur eine Vermutung ist (er 

klappt einfach nicht). Außerdem pflegt sich das dazugehörige Applet nicht sehr schön in mein enlightenment ein.

Die Lösung über die Scripts die ich 'gebastelt' habe, hat den Vorteil sehr flexibel zu sein (z.B. zuhause Samba starten, in öffentlichen WLANS nen sicheren Tunnel aufbauen usw.). Der Nachteil ist offensichtlich daß es wirklich eine schnelle und 'dreckige' Lösung ist  (obwohl seit über einem Jahr bewährt :)) und für jedes neue WLAN erstmal die wpa_supplicant.conf konsultiert werden muss und ein Script angelegt werden muss welches die IP setzt usw.

Hat jemand eine Idee wie das alles 'eleganter' zur boot-Zeit zu realisieren ist? Wie lässt sich das evtl. über Bordmittel realisieren.

Meine Skripte könnt ihr bei bedarf haben.

Achso:

Das Umschalten zwischen Wired/Wireless passiert bei mir recht bequem & zuverlässig über ACPI ( Fn-F5 auf meinem ThinkPad ).

----------

## schmutzfinger

 *Ampheus wrote:*   

> Ich habe mir kleine Bash-Scripte in /usr/bin/ erstellt, welche je nach Netz erst die Devices deaktivieren und dann das geforderte starten.
> 
> 

 

OT: in /usr/bin/ haben solche scripte nix verloren das Verzeichnis gehört dem Paketmanagement und darin sollte sich alles mit tools vom Paketsystem einem Paket zuordnen lassen. (zB: qfile)

Als Faustregel sollte man einfach davon ausgehen das man nur dann was Hand machen sollte wenn "local", "tmp", "etc" oder "home" im Pfad vorkommt, in dem Fall also /usr/local/bin.

So mache ich das zumindest und es hat sich bis jetzt noch bei jeder Distribution bewährt.

----------

## Ampheus

 *schmutzfinger wrote:*   

>  *Ampheus wrote:*   Ich habe mir kleine Bash-Scripte in /usr/bin/ erstellt, welche je nach Netz erst die Devices deaktivieren und dann das geforderte starten.
> 
>  
> 
> OT: in /usr/bin/ haben solche scripte nix verloren das Verzeichnis gehört dem Paketmanagement und darin sollte sich alles mit tools vom Paketsystem einem Paket zuordnen lassen. (zB: qfile)
> ...

 

Will damit ja auch niemanden treten. Das script war für meine eigenen Bedürfnisse und wurde auch nur von mir verwendet, also war mir die Position nicht so wichtig. Schlimmer ist allerdings, dass ich dieses script weiter entwickelt hatte und daraus ein kleines tool gezimmert habe, mit dem das ganze per config-Datei und sehr komfortabel funktioniert hat und alles mit einem HDD-Crash flöten ging....

Ich selbst brauche dieses script zur Zeit nicht mehr, aber wenn jemand ein solches script benötigen sollte, könnte ich mir vielleicht überlegen, noch einmal ein neues zu beginnen.

@Necoro: Ja ich weiß, es wäre besser gewesen, es früh zur Verfügung zu stellen  :Wink: 

----------

