Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Mit verschiedenen Netzwerkumgebungen verbinden.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1559
Location: Schweiz

PostPosted: Sun Apr 03, 2016 10:30 am    Post subject: Reply with quote

alexander_ro wrote:
Oder ist der jetzt Platformunabhängig geworden?

systemd war schon immer nur vom Linux-Kernel abhängig nicht jedoch von der Prozessorarchitektur. Und auf meinem Raspberry Pi welcher ja ein ARM ist hatte ich damit noch nie irgendwelche Probleme.
_________________
GPG: 0x3FC78AEE51E5FB95
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Sun Apr 03, 2016 10:42 am    Post subject: Reply with quote

Hm, ich meinte mich zu erinnern das der früher nur auf Intel lief. Aber da mir die Archtektur nie gefallen hat habe ich das auch nicht weiter verfolgt. Ein Raspi ist ja auch schon ein Speichermonster. Hast Du das auf einem Gnublin auch schon mal versucht?
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Sun Apr 03, 2016 12:36 pm    Post subject: Reply with quote

alexander_ro wrote:
Allerdings brauche ich manchmal einen DHCP Server weil manche der ARM Platinchen in seiner Default konfiguration einen DHCP erwartet sonst kann man nicht übers Netzwerk zugreifen.

net-misc/dhcp funktioniert bei mir noch immer klasse (sogar auf ARM).

alexander_ro wrote:
Da ich keinen systemd habe weil der meiner Meinung nach die gleiche Krücke ist wie polkit

Systemd und Polkit haben nun so gar nichts miteinander zu tun. Aber es ist schön, dass du Deine Meinung so fundiert begründet hast.

Polkit halte ich auch für einen Fehler, da dadurch das Standard-Rechte-Management ausgehebelt wird und die über Polkit erlangten Rechte nicht so leicht ersichtlich sind. Andererseits fällt mir jetzt auf die Schnelle auch kein Konzept ein, wie man z.B. einem lokalen User das Runterfahren eines Rechners erlauben will und einem remote eingeloggten User nicht.

Ich nutze Kodi auf meinem HTPC. Hab mich damals ewig damit rumgeschlagen, wie man den Rechner aus Kodi heraus runterfahren kann. Irgendwann hab ich mich mal durch den Quelltext gegrept. Und siehe guck, Polkit war die einzige aktuelle Möglichkeit unter Linux, um die Kiste auszuschalten.

alexander_ro wrote:
und für eine ARM CPU meines wissens so nicht funktioniert. Drum auch keine systemd Netzwerk komponente. Oder ist der jetzt Platformunabhängig geworden?

Das ist jetzt ziemlicher Quatsch. Meine NAS (Zyxel NSA 325) betreibe ich seit mittlerweile mehr als 2 Jahren mit Arch-Linux. Systemd läuft auf dem Ding ziemlich gut. Allerdings nutz ich den systemd-networkd da nicht, weil mir eine statische Netzwerkkonfiguration reicht.

alexander_ro wrote:
Das Problem ist das die strikte Trennung in Client und Server nicht mehr funktioniert. Weil ein nicht unerheblicher Teil meiner Geräte manchmal Server also anderen eine Verbindungsmöglichkeit anbieten oder aber Clients und sich irgendwohin selbst verbinden. Oft tun die natürlich beides gleichzeitig was die Sache nicht einfacher macht.

"Konzeptionsproblem" würde ich mal sagen. Hat aber nichts direkt mit Systemd, Polkit oder DHCP-Server zu tun.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6281

PostPosted: Sun Apr 03, 2016 1:01 pm    Post subject: Reply with quote

musv wrote:
Systemd und Polkit haben nun so gar nichts miteinander zu tun.

Auch wenn man derzeit noch systemd ohne polkit betreiben kann, ist das nicht die von Upstream gewünschte und unterstützte Konfiguration.
Abgesehen davon sind beides komplexe Root-Daemonen, die vollkommen über dbus gesteuert werden und dadurch von jedem Benutzer potentiell angegriffen werden können. Die Parallelen sind also sehr groß.
Quote:
Andererseits fällt mir jetzt auf die Schnelle auch kein Konzept ein, wie man z.B. einem lokalen User das Runterfahren eines Rechners erlauben will und einem remote eingeloggten User nicht.

Es gab hier mal den langen Thread "A solution in search of a problem" (oder so ähnlich), in dem genau dieses Verhalten kritisiert wurde, für ein spezielles Problem, das nur eine exotische Nutzergrupppe betrifft - Admins von Rechnern, an denen wechselnde Unbekannte herumhacken und sich zugleich andere Unbekannte einloggen dürfen - das gesamte Sicherheitskonzept für alle zu boykottieren.
Aber das spezielle Problem wurde vorher gar nie gefragt, weil es für einen kompetenten Admin mit Unix-Rechten trivial lösbar ist.
Ein einfacher Ansatz wäre, beim graphischen Einloggen/Ausloggen eine Datei in /run mit dem Namen des eingeloggten Benutzers zu erstellen/entfernen, und ein passendes sudo-shutdown-Skript, das diese Datei testet. Wer unbedingt meint, unnötig Speicher und Rechenzeit für das "Problem" verbraten zu müssen, kann von mir aus statt der Datei auch so etwas wie consolekit benutzen, um in dem sudo-Shutdown Skript den eingeloggten Benutzer abzufragen. Ein geeignetes pam-Modul wäre ein anderer Ansatz, das Problem zu lösen, aber m.E. ebenfalls unnötiger Overkill für die genannte triviale Aufgabe.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Sun Apr 03, 2016 4:24 pm    Post subject: Reply with quote

Quote:
dass du Deine Meinung so fundiert begründet hast

Warum sollte ich. Mir ging es hier um ein anderes Thema da reicht meiner Meinung nach der Hinweis das ich es als ungeignet befinde.

Quote:
einem lokalen User das Runterfahren eines Rechners erlauben will und einem remote eingeloggten User nicht

Wozu soll das gut sein?
Entweder vertraue ich einem Admin dann darf er auch Remote einen Server neu starten wenn es Probleme gibt oder ich vertraue im nicht dann wird einfach der User gelöscht und die Person aus der Firma entfernt. Remote Zugänge muss man als solche Sicher gestallten den Menschen mit Sinnlosen Beschränkungen das leben schwer machen verbessert nicht die Sicherheit. Ganz im gegenteil ein Frustrierter Admin ist ein großes Problem.

Quote:
Polkit war die einzige aktuelle Möglichkeit unter Linux, um die Kiste auszuschalten

Das halte ich für ein gerücht. Es gibt viele möglichkeiten das zu tun. Am einfachsten mit einem kleinen Programm das genau das ausführt was Du möchtest und nur genau die dazu nötigen rechte hat. Benutze ich zwar auch nicht aber meines wissens wurde doch sudo für solche Aufgaben erfunden.

Quote:
Zyxel NSA 325

Müsste man wissen welche CPU der hat und Speicher? Ich konnte das auf die schnelle nicht herausfinden. Aber es stimmt in der zwischenzeit soll es auch auf anderen Platformen gehen aber ob es mit einem Gnublin der nur 256MB Arbeitsspeicher hat konnte mir keiner sagen. Da man auf dem selbst mit so Dingen wie udev und Speichermangel Probleme hat wird es vermutlich nicht gehen. Ich will auf allen von mir verwendeten Rechner die gleiche Basis installation haben weil es einfach leichter zu Pflegen ist.

Quote:
"Konzeptionsproblem" würde ich mal sagen. Hat aber nichts direkt mit Systemd, Polkit oder DHCP-Server zu tun.

Das Konzept von Mobilgeräten und Ihrem Einsatz und die in Deutschland extrem Teuren aber Arsch langsamen Datenverbindungen die zum größten Teil der Telekom zu verdanken sind. Die durch die Telekom Schutzbehörde (Bundesnetzagentur) gedeckt wird und der Telekom Überhöhte Preise gegen die Konkurenten mit Staatsgewalt erzwingt. Diese Staatlich garantierten Höchstgewinne die von der Tekekom bei Idiotischen Auslandsspekulationen verzockt wurden und deshalb die Datennetze in Deutschland genauso Marode sind wie die Straßen. Dafür nun wieder der Steuerzahler aufkommen muss das Datennetze die einem Privatkonzern gehören mit Steuergeldern wieder etwas in Richtung Moderne bewegt werden sollen. Daran liegt es das ich nicht an jederm Ort meine Leistungsfähigen Firmenserver erreichen kann. Wenn ich die nicht erreiche muss die nächst Leistungsfähigere Hardware deren Aufgaben übernehmen. Das ist dann Notebook, Handy, Auto und Motorrad (Die Automotiv-IT ist Eingenentwicklung weil ich mit den Sicherheitsdesastern der Komerziellen Automotiv-Shitbags nichts zu tun haben will.). Somit sind die Rechner je nach Marodität der Telekom Netze mal Clients oder halt als Backup Server. Recht hast Du Konzeptionelles Problem aber wenn ich nicht die Regierung weg Putschen will was ich nicht vor hatte muss ich mit dem Kaputten Konzept leben. Stimmt hat auch nicht direkt mit polkit und systemd zu tun aber mit meinem Problem.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Sun Apr 03, 2016 5:44 pm    Post subject: Reply with quote

alexander_ro wrote:
Quote:
einem lokalen User das Runterfahren eines Rechners erlauben will und einem remote eingeloggten User nicht

Wozu soll das gut sein?

Konkreter Fall:
Als ich noch vor einigen Jahren in der Uni war, waren die Rechner im Rechnerpool mit Dualboot (Windows/Linux) bestückt. Natürlich konnte man sich auch per Remote-Verbindung auf den Kisten einloggen. Jetzt stell Dir mal vor, ein Nutzer arbeitet vor Ort und einer loggt sich remote auf die Kiste, würde aber z.B. gern Windows booten, weil er irgendein Windows-Programm benötigt. Wenn der Remote-User dann die Kiste runterfährt, wird der lokale User ganz schön blöd in den Bildschirm starren. Wir reden hier nicht von Adminrechten.

Wie schon gesagt, mag ich Polkit aber auch nicht. MV hat da natürlich Recht. Für die Prüfung diverser Voraussetzung, u.a. nach lokalem Nutzer hätte man auch im run-Verzeichnis eine Datei anlegen können. Inzwischen kann man Polkit mit Javascript konfigurieren, was es nicht unbedingt einfacher macht.

alexander_ro wrote:
Quote:
Polkit war die einzige aktuelle Möglichkeit unter Linux, um die Kiste auszuschalten

Das halte ich für ein gerücht. Es gibt viele möglichkeiten das zu tun. Am einfachsten mit einem kleinen Programm das genau das ausführt was Du möchtest…

Ich sprach konkret von Kodi. Und im Quellcode von Kodi gab's ein Switch-Case-Statement. Und bei Linux wurde halt explizit auf Polkit geprüft.


alexander_ro wrote:
Quote:
Zyxel NSA 325

Müsste man wissen welche CPU der hat und Speicher? Ich konnte das auf die schnelle nicht herausfinden.

Marvell Kirkwood ARM v5tel mit 512mb RAM. Installiert hab ich das da.

Ursprünglich wollte ich da Gentoo installieren. Aber ich hab die Cross-Compile-Umgebung nicht auf die Reihe bekommen.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Sun Apr 03, 2016 6:54 pm    Post subject: Reply with quote

Quote:
Wir reden hier nicht von Adminrechten.

Ich dachte wir reden von Servern. Man kann die Frage ob ein reboot Ok ist an alle Angemeldeten User weiter reichen. Wenn einer nein sagt wird er abgebrochen. Einfach schlicht und leicht zu verstehen und verwalten. Hat auch noch den Vorteil das auch ein Lokaler User nicht einfach die Remote Benutzer killen kann selbiger wird das auch nicht Lustig finden.

Für mich sehen die ganzen Sachen wie systemd und polkit usw, was da die letzten Jahre so neu erfunden wurde nach einer schnell zusammen geschusterten Sache die vorgibt alle Probleme zu Lösen und in Wirklichkeit aber Problem nur halb löst oder schlecht. Mich erinnert das sehr an die ganzen Kommerziellen Software Klitschen (Apple, Micorsoft, Google, VW, BMW, Mercedes und viele mehr). Schnell zusammen Schustern scheiß auf die Sicherheit es trifft ja andere. Ich finde es bedenklich das sich das zunehmend bei OpenSource auch einbürgert bzw. mehr von den Kommerziellen Teilnehmern versucht wird in die OpenSource Welt mit Gewalt zu pressen.

Aber ich nehme mal an ich werde mir selber was bauen müssen ich hatte nun nicht das Gefühl das es hier fertige Lösungen gibt.

[Edit]Jetzt weiß ich aber warum ich bei dhcpcd nicht gefunden habe was ich suchte. Auf die Idee das das cd am Ende "client deamon" heißen könnte bin ich irgendwie nicht gekommen ... :-( [/Edit]
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1559
Location: Schweiz

PostPosted: Mon Apr 04, 2016 5:54 am    Post subject: Reply with quote

Nach einer kleinen Google-Suche bezweifle ich das Gentoo die passende Distribution für einen solchen Gnublin ist, selbst auf dem Raspberry Pi hatte ich mangels einer funktionierenden Crosscompile-Umgebung stellenweise ziemliche mühe. Vielleicht wäre es wirklich sinnvoller bei einem Gnublin die mitgelieferte Distribution zu benutzen.
_________________
GPG: 0x3FC78AEE51E5FB95
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Mon Apr 04, 2016 4:43 pm    Post subject: Reply with quote

Warum sollte Gentoo sich dafür nicht eignen?
Ich dachte das wurde genau für solche Sachen erfunden.
Außerdem hätte ich gerne das Basissystem auf allen Systemen gleich das ist mit weniger Aufwand zu verwalten.

Die Orginal Distribution zum Gnublin ist ein umgebautes Debian. Ich wüsste nicht was Debian können sollte das Gentoo nicht kann.

Crosscompiler ist wichtig der Gnublin kann zwar kleine C++ Programme übersetzen aber kein Betriebssystem. Mit dem Crosscompiler tue ich mich auch noch schwer weil mir meist nicht ganz klar ist welchen ich für die CPU Version dann brauche.

Sonst ist noch ein Script wichtig das vom fertigen Gentoo Basissystem eine Kopie macht und dann alles löscht das nicht gebraucht wird. Software Updates mache ich dann als Binär Version auf dem kleinen. Im Prinzip genauso wie es bei Handys gemacht wird. Einfach das ganze Betriebssystem durch ein neues ersetzen. Will man es vornehm haben kann man die installierte Binären Dateien mit git Versionieren.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Thu Apr 07, 2016 8:20 pm    Post subject: Reply with quote

Ich versuche gerade mal ein Script zu bauen das mir automatisch dann die jeweilig Konfiguration zusammen kopiert. Jetzt habe ich nur das Problem das sich der DHCP-Server mit dem dhcpcd nicht so recht vertragen will. Kann man dem dhcpcd irgendwie sagen an welcher Netzwerkschnittstelle er lauschen soll?

Ich bin zwar über die Option "Interface" gestolpert beim suchen aber die ist glaube ich für was anderes zuständig.

[Edit]Sorry ... nicht richtig geguckt: denyinterfaces enp7s0[/Edit]
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1294
Location: Frankfurt, Germany

PostPosted: Sat Apr 09, 2016 1:56 am    Post subject: Reply with quote

Hallo alexander_ro,

ich habe auch das Problem, dass ich mein Notebook in unterschiedlichsten Netzen verwenden muss. Ich habe es folgendermaßen gelöst:

1) Direkt nach dem Start erscheint bei mir das grub Menü:
Code:
Linux Office eth0 fixed IP
Linux Office wlan0 DHCP
Linux Customer1
Linux Customer2
...

2) Dann kann ich auswählen, wo ich gerade bin. Je nach Wahl wird dem Kernel ein vordefinierter Wert für den Parameter PROFILE mitgegeben. Die grub Konfigurationsdatei sieht folgendermaßen aus:
Code:
Linux Office eth0 fixed IP
    kernel /bzImage root=/dev/sda5 PROFILE=Office1 net.ifnames=0 showopts

Linux Office wlan0 DHCP
    kernel /bzImage root=/dev/sda5 PROFILE=Office2 net.ifnames=0 showopts

Linux Customer1
    kernel /bzImage root=/dev/sda5 PROFILE=Customer1 net.ifnames=0 showopts

Linux Customer2
    kernel /bzImage root=/dev/sda5 PROFILE=Customer2 net.ifnames=0 showopts

...

3) Beim Booten / Herunterfahren des Systems passiert folgendes:
  • Die Gentoo Netzwerk init.d Scripte sind so konfiguriert, dass sie nichts machen. Weder beim Starten, noch beim Herunterfahren.
  • Ich habe stattdessen ein eigenes init.d Script, das beim Booten direkt nach den Gentoo Netzwerk init.d Scripten aufgerufen wird - und beim Herunterfahren direkt davor.
  • Beim Booten: mein init.d Script liest die mit grub gesetzte Umgebungsvariable "PROFILE" und ruft dann das Programm "set_profile" mit dem Profil als Parameter auf.
  • Beim Herunterfahren: mein init.d Script ruft das Programm set_profile auf, diesmal mit dem Parameter "Shutdown".

4) Das Programm "set_profile" konfiguriert den Computer nun für die gewünschte Umgebung. Ich kann es auch von Hand aufrufen, wenn ich im laufenden Betrieb die Netzwerkumgebung ändern will. "set_profile" sieht ungefähr so aus:
Code:
#! /bin/bash

export PATH=$PATH:/usr/sbin:/usr/local/sbin

reset_system () {

    # unmount NFS and Samba shares
    # stop all services
    # close firewall
    # shut down network interfaces
}

setup_firewall () {

    # set up firewall
}

# start of main program

reset_system

case "$1" in
   
    Office1)

        /bin/hostname xxxx
        /bin/domainname xxxx

        echo 'nameserver 10.0.0.1'                >  /etc/resolv.conf
        echo 'domain xxxx'                        >> /etc/resolv.conf
        echo 'search xxxx xxxxx.de'               >> /etc/resolv.conf

        echo 'ServerName 10.0.0.21'               >  /etc/cups/client.conf

        echo 'logfile /var/log/ntp'               >  /etc/ntp.conf
        echo 'driftfile /var/lib/ntp/ntp.drift'   >> /etc/ntp.conf
        echo 'server 127.127.1.0'                 >> /etc/ntp.conf
        echo 'fudge  127.127.1.0 stratum 10'      >> /etc/ntp.conf
        echo 'server 10.0.0.1'                    >> /etc/ntp.conf

        ifconfig eth0 10.0.0.48/24 up
        route add default gw 10.0.0.1

        setup_firewall

        /etc/init.d/nscd start
        /etc/init.d/ntpd start
        /etc/init.d/sshd start

        mount -t nfs4 -o rw,nosuid \
            10.0.0.2:/export/portage/distfiles  /usr/portage/distfiles

        ;;

    Office2)

        /bin/hostname xxxx
        /bin/domainname xxx

        /bin/ifconfig wlan0 up

        /sbin/iwconfig wlan0 \
            essid "xxxxx" \
            mode managed \
            rate auto

        /usr/sbin/wpa_supplicant -B \
            -c/etc/wpa_supplicant/wpa_supplicant.conf \
            -iwlan0

        setup_firewall

        /sbin/dhclient -nw -q wlan0

        /etc/init.d/nscd start

        ;;

    Shutdown)

        # Nothing to do, reset_system was already called

    ...

esac

5) Für jede neue Netzumgebung muss ich einmalig mein Script anpassen. Das ist zwar etwas Arbeit, aber dafür kann ich später immer wieder auf Knopfdruck zu genau dieser Konfiguration zurückkehren.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Sun Apr 10, 2016 7:51 am    Post subject: Reply with quote

Deine Lösung hat den Vorteil, dass du das Netz schon beim Bootvorgang einrichtest. Jetzt hab ich noch nie mit Profilen in der Grub gearbeitet. Ich seh das zum ersten Mal. Kannst du die Profile während des Betriebs umschalten oder musst du immer den Rechner neustarten?

Alternativ hatte ich früher Runlevel verwendet, die genau solchen Umständen Rechnung tragen. D.h. im Grub-Menü gibst du an:

Code:
linux bzImage root=.... softlevel=office1


Und anstatt /etc/conf.d/net hieß das dann /etc/conf.d/net.office1 für das Runlevel office1, um die Runlevel-spezifischen Configs anzugeben. Es gibt also keinen Grund, das über eigene Initscripte manuell zu erledigen. Damit hat Deine Lösung den Nachteil, dass es nicht Gentoo-konform ist. Außerdem kannst du mit der offiziellen Variante die Runlevel auch im laufenden Betrieb umschalten.

Aber selbst die Runlevel brauchst du nicht zwingend. Der Networkmanager sollte die verschiedenen Verbindungen auch managen können.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Sun Apr 10, 2016 9:45 am    Post subject: Reply with quote

Das mit dem Kernelparameter hatte ich bisher noch nicht probiert. So weit ich weiß kann man den ja nach Wunsch benennen es darf nur keiner sein den der Kernel selbst kennt. Alle die der Kernel nicht kennt werden dann nur weiter gereicht. Klingt nach einer guten Idee.

Ich versuche mir gerade so ein ähnliches Script zu bauen bekomme aber gerade irgendwie die Datenweiterleitung zwischen Ethernet und WLAN nicht zum laufen. Weil das WLAN ja die default route ins Internet Dynamisch vom Hotspot erhält und ich mit dieser dynamischen IP dann ja als Gateway für die Ethernet Schnittstelle konfigurieren muss. Manuell kann ich das Problemlos machen aber wie macht man das damit es automatisch läuft?
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1294
Location: Frankfurt, Germany

PostPosted: Sun Apr 10, 2016 12:49 pm    Post subject: Reply with quote

Hallo musv,
Quote:
Alternativ hatte ich früher Runlevel verwendet, die genau solchen Umständen Rechnung tragen.

Quote:
Der Networkmanager sollte die verschiedenen Verbindungen auch managen können.

Vermutlich kann man die Herausforderung "mehrere Netzumgebungen" auch mit runlevels oder mit networkmanager realisieren. Allerdings besteht die Schwierigkeit, dass die Konfigurationsdateien netzabhängiger Dienste wie Routing, Firewall, SSH, CUPS, NTP, NFS, Samba usw. je nach Netzumgebung unterschiedliche Inhalte haben müssen. Soweit ich sehe, wird dieses Problem weder von der runlevel-Methode, noch von network-manager "out of the box" gelöst.
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1294
Location: Frankfurt, Germany

PostPosted: Sun Apr 10, 2016 1:37 pm    Post subject: Reply with quote

Hallo alexander_ro,

ich habe mir den Thread ein paar mal durchgelesen. Aber ich verstehe immer noch nicht genau, was Sie machen wollen.

Also, es gibt ein Notebook mit zwei Interfaces, eth0 und wlan0. Und das Notebook soll als Router funktionieren.
  • An welchem Interface hängt das Netz, über das man ins Internet kommt?
  • An welchem Interface hängen die Geräte, die das Notebook als Router verwenden sollen?
  • Wie wird eth0 konfiguriert? Statisch oder dynamisch?
  • Wie wird wlan0 konfiguriert? Gibt es in dem Netz einen DHCP Server? Oder soll das Notebook der DHCP Server sein?

Welche Anweisungen geben Sie ein, um das System von Hand zu konfigurieren?

Und an welcher Stelle scheitert es, wenn es Sie es automatisieren?
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Sun Apr 10, 2016 6:54 pm    Post subject: Reply with quote

Hallo bug_report,

um die Sache einfacher zu machen beschreibe ich mal nur einen möglichen Fall. Weil es nicht immer die selben Interfaces sind über die man ins Internet kommt.

Erste Variante:

    Internet erreicht man per WLAN (Hotspot eines Providers z.B.) über das WLAN erreicht man auch den DHCP Server des Providers.
    Am Ethernet Port eth0 hängen die Geräte die das Notebook als Router verwenden sollen.
    Der Ethernet Port wird gar nicht konfiguriert. Ich habe den einer Bridge hinzugefügt die eth0 und wlan0 verbinden soll. Dann wird br0 mit einer Adresse aus dem DHCP-Adressbereich (Notebook DHCP-Server) statisch konfiguriert.
    wlan0 wird vom DHCP-Server des Internet Providers konfiguriert.
    Der Notebook muss DHCP-Server sein für das System das am Ethernet hängt eth0.


Vom Notebook auf den Rechner an eth0 zu zugreifen funktioniert. Der DHCP-Server der auf dem Notebook läuft müsste jetzt aber dem Rechner an eth0 den Gateway ins Internet liefern. Die IP-Adresse ist die von wlan0 die ich ja erst beim Verbindungsaufbau zum WLAN bekomme. Daher kann ich die ja nicht in der Konfigurationsdatei festlegen. Momentan baue ich die Verbindung zum WLAN auf kopiere dann die IP-Adresse in die Konfigurationsdatei und starte dann die Verbindung zum Rechner an eth0.
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1294
Location: Frankfurt, Germany

PostPosted: Sun Apr 10, 2016 11:28 pm    Post subject: Reply with quote

OK, danke für die Erklärung. Allerdings passen die Informationen nicht zusammen.

Zuerst einmal sollte geklärt werden, ob das Notebook als Bridge, oder als Router verwendet werden soll. Beides zusammen geht nicht (OK, es geht schon, wenn man an einem Interface mehrere Netze hat, aber ignorieren wir diesen Fall)

1) Wenn eine Bridge zwischen wlan0 und eth0 konfiguriert werden soll:

Dieser Fall ist einfach:
  • Man konfiguriert die Bridge zwischen wlan0 und eth0.
  • Man definiert ein Interface br0 auf der Bridge und lässt dieses Interface vom DHCP Server im Netz wlan0 konfigurieren. Dadurch kommt das Notebook selbst ans Netz.
  • Man muss keinen eigenen DHCP Server konfigurieren. Die Geräte am Netz eth0 werden vom DHCP Server im Netz wlan0 konfiguriert.

2) Wenn das Notebook als Router konfiguriert werden soll:

Dieser Fall ist komplizierter und man muss entweder den Router vom Netz wlan0 umkonfigurieren oder man muss NAT auf dem Notebook konfigurieren. Betrachten wir den Fall, dass man den Router im Netz wlan0 nicht umkonfigurieren kann. Dann gilt folgendes:
  • Das Interface wlan0 erhält seine Konfiguration per DHCP vom DHCP Server im Netz wlan0. Dabei wird auch die Default Route auf dem Notebook gesetzt.
  • Für eth0 wählt man ein IP Netz aus einem VPN Bereich, z.B. 291.168.20.0/24 und setzt eth0 statisch auf eine IP-Adresse aus diesem Netz, z.B. 192.168.20.1.
  • Man setzt einen DHCP Server auf, der an eth0 lauscht und auf Anfragen an eth0 IP Adressen aus dem Netz 192.168.20.0/24 vergibt. Weitergin sagt der DHCP Server den Geräten an eth0, dass sie 192.168.20.1 als Router verwenden sollen.
  • Jetzt könnte man das Routing zwischen wlan0 und eth0 einschalten. Es würden auch Pakete zwischen den Netzen geroutet werden, aber der Router im Netz wlan0 kann mit den Src IP Adressen der Pakete aus dem Netz eth0 nicht viel anfangen. Zumindest kann er keine Antwort-Pakete zurückschicken, weil er das Netz an eth0 nicht kennt.
  • Deshalb muss auf dem Notebook zusätzlich NAT konfiguriert werden. Alle Pakete, die vom Netz eth0 ins Netz wlan0 geroutet werden, erhalten dann als Absenderadresse die IP-Adresse des Interfaces wlan0 -- und beim routen von Antwortpaketen aus dem Netz wlan0 in das Netz eth0 wird die Zieladresse wieder auf die IP Adresse des ursprünglichen Geräts gesetzt.
Die Frage ist nun, ob man die Routing-Variante wirklich stabil bekommt. Was passiert z.B. wenn der DHCP Server im Netz wlan0 dem Notebook eine neue IP-Adresse zuweist? Das wird dann unschön...
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Mon Apr 11, 2016 9:29 am    Post subject: Reply with quote

Das Problem ist das ich in jedem Fall für Geräte an eth0 einen eigenen DHCP-Server brauche. Weil mir Flughafen- oder Bahnhofsbetreiber immer Ihr WLAN nicht nach meinen Wünschen konfigurieren wollen ... ;-)

Ich hatte es schon als Router das ging aber nicht so richtig. Das mit der Bridge habe ich jetzt mal Probiert aber das geht auch nicht wirklich besser ich glaibe das die Router Variante noch die ist die besser tut was ich mir vorstelle.

NAT stimmt braucht man auch noch das hatte ich erfolgreich verdrängt ...

Wenn für die Geräte an eth0 der Notebook Router ist. Das ist ja dann so zu sagen der Gateway (192.168.20.1) ins Internet. Dann müsste das doch auch gehen wenn wlan0 eine neue IP-Adresse bekommt. Mit einer neuen IP-Adresse an wlan0 sollte auch das Routing auf dem Notebook angepasst werden. Das macht doch dann der dhcpcd der nur an wlan0 lauscht.

Quote:
eth0 wählt man ein IP Netz aus einem VPN Bereich, z.B. 291.168.20.0/24

Da hast Du mich erst ein wenig verwirrt weil Du als Beispiel ein anderes Netz gewählt hast als Du dann bei der Beschreibung benutzt hast.
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Tue Apr 12, 2016 8:21 pm    Post subject: Reply with quote

Nach einigen Versuchen hoffe ich das ich alle für iptables und nat nötigen Kernel Optionen aktiviert habe. Leider will das aber immer noch nicht so richtig funktionieren.

So habe ich Versucht NAT zu aktivieren:
Code:
iptables -t nat -A POSTROUTING -o wlp13s0 -j MASQUERADE

dann bekomme ich folgende Fehlermeldung:
Code:
iptables: No chain/target/match by that name.


[Edit]
Muss mir das Sorgen machen?

Code:
alien alex # cat /proc/net/ip_tables_targets
ERROR

[/Edit]
Back to top
View user's profile Send private message
alexander_ro
Apprentice
Apprentice


Joined: 22 Nov 2014
Posts: 171

PostPosted: Sat Apr 16, 2016 2:21 pm    Post subject: Reply with quote

Mir fehlte da noch eine Kernel-Option:

Code:

# Version: kernel-genkernel-x86_64-3.18.25-gentoo-r1
# Networking support > Networking options > Network packet filtering framework (Netfilter) > IP: Netfilter Configuration -> <M> IPv4 NAT
#                                                                                                                        -> <M>   IPv4 masquerade support
#                                                                                                                        -> <M>   iptables NAT support
#                                                                                                                        -> <M>     MASQUERADE target support   (Wegen dieser Fehlermeldung: iptables: No chain/target/match by that name.)


Jetzt fehlt mir nur noch eine gehende Konfiguration für das Masquerade irgendwie funktionieren die Beispiele nicht die ich gefunden habe. Wenn einer ein aktuelles Beispiel kennt das funktioniert evtl. auch mit einem Hinweis für evtl. Notwendiges Routing wäre ich dankbar. Ich bekomme es gerade irgendwie nicht zum laufen.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum