close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 12 years ago

Closed 11 years ago

#1793 closed Aufgabe (erledigt)

Route vom Lehrernetz zum Epoptes-Server (ltsp6)

Reported by: Rüdiger Kupper Owned by: Rüdiger Kupper
Priority: bei Gelegenheit Milestone: Schuljahr 2014/15
Component: Hardware: Netzwerktechnik Severity: beeinträchtigt keinen Unterricht
Keywords: Cc: bau

Description

Ich dachte, die Route exitsiert bereits, doch die neuen LML-Clients erreichen den Epoptes-Server (ltsp6, 10.32.2.6) nicht.

Change History (14)

comment:1 by bau, 12 years ago

die Route ist auf proxmoxS eingerichtet:

iptables -t nat -A POSTROUTING -s 10.16.112.0/23 -d 10.32.0.0/12 -o vmbr0 -j MASQUERADE 

damit diese funktioniert, muss die Route aber auf dem Client auch eingerichtet werden, entweder von Hand oder per /etc/network/interfaces

	post-up route add -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8
	post-down route del -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8

Das darf aber nur auf den Clients im Lehrernetz eingetragen werden, der Epoptes-Server steht ja schon im Schülernetz. Dazu bitte den postsync-Mechanismus benutzen!

Last edited 11 years ago by Rüdiger Kupper (previous) (diff)

comment:2 by Rüdiger Kupper, 12 years ago

Oder ein Skript in rc.local, das bei Hochfahren die Route anlegt, wenn der Rechner im Lehrernetz steht.

comment:3 by bau, 12 years ago

OK, das ist sicherlich die elegantere Version

  • Abfragen, ob IP = 10.16.* oder 10.32.*
  • Route setzen oder eben nicht

in reply to:  3 comment:4 by Rüdiger Kupper, 12 years ago

Replying to bau:

  • Abfragen, ob IP = 10.16.* oder 10.32.*

Dafür gibt es bereits zwei Miniskripte: schuelernetz und lehrernetz, die einen entsprechenden Shell-Rückgabewert liefern. So kann man in Skripten z.B.schreiben if lehrernetz ; then ... ; fi. Nutze ich, um das Ausloggen im Lehrernetz zu verhindern.

comment:5 by Rüdiger Kupper, 11 years ago

Eingerichtet in /etc/rc.local im aktuellen trusty-Image.
Rufe den route-Befehl direkt auf, da sonst in der network/interfaces ein "static"-Eintrag nötig ist. Keine Ahnung, ob das funktioniert.
Vielleicht muss man das ganze auch dem NetworkManager beibringen.

Oder wir machen einfach "static"-Einträge, dagegen spricht ja eigentlich auch nichts.

-> Testen.

comment:6 by bau, 11 years ago

Ist es eigentlich möglich, die eth0 nicht vom NetworkManager sondern in /etc/network/interfaces zu verwalten - in unserer Konstellation ist es reichlich überflüssig, dass der NM das Interface kontrolliert.

comment:7 by Rüdiger Kupper, 11 years ago

Sobald Einträge in der /etc/network/interfaces stehen, deaktiviert sich der NetworkManager beim Hochfahren selbst. Können wir also einfach reinschreiben.

comment:8 by bau, 11 years ago

Prima - probieren wir's mal aus:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

Wie ist das dann bei der WLAN-Karte, macht das der NM dann immernoch?

in reply to:  8 comment:9 by Rüdiger Kupper, 11 years ago

Replying to bau:

Wie ist das dann bei der WLAN-Karte, macht das der NM dann immernoch?

Glaube schon. Sobald ein Eintrag in der interfaces-Datei steht, kümmert sich der NM nicht mehr um dieses Interface. Um die anderen aber wohl schon.

in reply to:  5 comment:10 by Rüdiger Kupper, 11 years ago

Cc: bau added
Owner: changed from bau to Rüdiger Kupper
Status: new → assigned

Replying to kup:

Eingerichtet in /etc/rc.local im aktuellen trusty-Image.

Hm, funktioniert nicht, vermutlich, weil zu der Zeit, wo das Skript ausgeführt wird, der NM die Verbindung noch nicht hergestellt hat.
Also doch "static"-Einträge in der interfaces-Datei machen. Für's lehrer-Image muss dann der route-Eintrag über ein Postsync-Skript hinzugefügt werden.

comment:11 by bau, 11 years ago

In der /etc/network/interfaces gehört das sinnvollerweise auch hin, aber nicht static sondern dhcp:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

post-up route add -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8
post-down route del -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8

comment:12 by Rüdiger Kupper, 11 years ago

eth0 wird nun in der /etc/network/interfaces verwaltet.
route-Einträge für das Lehrernetz müssen dort per postsync-Skript angehängt werden.

comment:13 by Rüdiger Kupper, 11 years ago

Post-Sync ist nicht nötig, da in der interfaces-Datei Logische Operatoren (&&,
) wie in einem Shellskript erlaubt sind. So lässt sich mit unserem "lehrernetz"-Test die Route nur bei Bedarf erstellen. Die Datei sieht jetzt so aus:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

post-up   lehrernetz && route add -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8 || true
post-down lehrernetz && route del -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8 || true

Das abschließende || true sort dafür, dass der 'ifup'- und 'ifdownÄ-Befehl im Schülernetz nicht mit einem Fehler abbricht. (Siehe 'man interfaces`.)

comment:14 by Rüdiger Kupper, 11 years ago

Resolution: → erledigt
Status: assigned → closed

Lehrernetzrechner melden sich jetzt erfolgreich beim Epotes-Server an.

Note: See TracTickets for help on using tickets.