dhcp server : Connection timed out

Ξεκίνησε από Wizard, 19 Δεκ 2008, 11:08:55 ΠΜ

« προηγούμενο - επόμενο »

Wizard

Έκανα την πρώτη μου προσπάθεια με thin clients. Χρησιμοποιώντας το boot cd με gpxe 0.9.6, μου βγαίνει συνέχεια το μήνυμα Connection timed out αν χρησιμοποιώ μόνο τον LTSP DHCP server και ο DHCP server του router προλαβαίνει τον LTSP DHCP server αν χρησιμοποιούνται και οι δύο..

To /etc/ltsp/dhpcd.conf είναι:
#
# LTSP dhcpd.conf config file for 2 dhcp-server labs.
#

not authoritative;

# gpxe options, to make gpxe clients prefer this server
option space gpxe;
option gpxe-encap-opts code 175 = encapsulate gpxe;
option gpxe.priority code 1 = signed integer 8;

class "PXEClient" {
   match if (
      (substring( option vendor-class-identifier, 0, 9 ) = "PXEClient") or
      (substring( option vendor-class-identifier, 0, 9 ) = "Etherboot") or
      (substring( option vendor-class-identifier, 0, 14 ) = "Linux ipconfig"));
}

subnet 10.XX.XX.0 netmask 255.255.255.0 {
   option domain-name "gym.local";
   option domain-name-servers 10.XX.XX.1;
   option broadcast-address 10.XX.XX.255;
   option routers 10.XX.XX.1;   # the client gateway
   next-server 10.XX.XX.10;   # the tftp server
   option subnet-mask 255.255.255.0;
   pool {
      range 10.XX.XX.200 10.XX.XX.230;
      deny all clients;
      allow members of "PXEClient";
      option root-path "/opt/ltsp/i386";
      filename "/ltsp/i386/pxelinux.0";
      option gpxe.priority 1;
   }
}

Το /var/log/daemon.log γράφει:
Dec 19 10:15:43 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Dec 19 10:15:43 server dhcpd: Copyright 2004-2008 Internet Systems Consortium.
Dec 19 10:15:43 server dhcpd: All rights reserved.
Dec 19 10:15:43 server dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Dec 19 10:15:45 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Dec 19 10:15:45 server dhcpd: Copyright 2004-2008 Internet Systems Consortium.
Dec 19 10:15:45 server dhcpd: All rights reserved.
Dec 19 10:15:45 server dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Dec 19 10:15:45 server dhcpd: Wrote 0 class decls to leases file.
Dec 19 10:15:45 server dhcpd: Wrote 0 leases to leases file.
Dec 19 10:16:25 server dhcpd: DHCPDISCOVER from 00:ΧΧ:ΧΧ:ΧΧ:ΧΧ:ΧΧ via eth0: network 10.ΧΧ.ΧΧ/24: no free leases
Dec 19 10:16:32 server last message repeated 3 times

Τι ακριβώς έχω κάνει λάθος και δίνει "no free leases";

alkisg

Σβήσε τη γραμμή "deny all clients".
Σόρρυ, το είχα δοκιμάσει και διορθώσει στην beta έκδοση του εγχειριδίου δυο μέρες αργότερα... :)

Επίσης πρόσεξε οι ip που δίνει ο ltsp dhcp server να μην είναι στο ίδιο range με τις ip που δίνει ο router. Π.χ. οι κλασσικοί cisco δίνουν διευθύνσεις από .128 κι επάνω, γι' αυτό και στο παράδειγμα έχει .101 ως .125, που είναι έξω από το range του router.

Επίσης αν έχεις όρεξη ρίξε κι εδώ μια ματιά: https://launchpad.net/~linux.sch.gr ;)

Wizard

Αν υποθέσουμε ότι θέλουμε static ip για όλους τους clients, θα πρέπει να βάλουμε δηλώσεις host, π.χ.
host client01 {
      hardware ethernet XX:XX:XX:XX:XX:XX;
      fixed-address 10.XX.XX.231;
   }
και από ό,τι είδα, θα πρέπει η ip να είναι έξω από το range που έχουμε δώσει για dynamic.
Έτσι όμως, δεν αχρηστεύεται το allow members of "PXEClient" για τα static ip αφού ισχύει μόνο για το range 10.XX.XX.200 10.XX.XX.230 ?
Δηλαδή, η ip 10.XX.XX.231 θα δοθεί στον client ανεξάρτητα από το αν χρησιμοποιείται network boot ή επειδή ανήκει στο subnet θα δοθεί μόνο για network boot?
Και πού ακριβώς πρέπει να δηλωθούν οι hosts, έξω από την ενότητα subnet ή μέσα στο pool για να λάβουν και τα filename, root-path κλπ ?

alkisg

Καλές ερωτήσεις, δεν έχω ψάξει ακόμα για τις απαντήσεις! :)
Άμα τις βρεις, ή αν τις ξέρει κάποιος άλλος, πείτε μας κι εμάς!!!  ;)

Αφού ζητήσουν και πάρουν την πρώτη φορά IP οι clients, φορτώνουν τον kernel και μετά από λίγο ξαναζητάνε IP μέσω ενός προγράμματος που λέγεται ipconfig (γι' αυτό εκτός από "PXEClient" κοιτάμε και για "Linux ipconfig" στο dhcpd.conf).
Το γεγονός ότι χρειάζεται δεύτερο dhcp request αλλά και το γεγονός ότι το ipconfig δεν είναι και τόσο ...σόι, με έκαναν να ψάξω εναλλακτικές για τις στατικές IP.

1η εναλλακτική:
https://help.ubuntu.com/community/UbuntuLTSP/StaticIPsWithDHCP
Τα γράφω αναλυτικά στην ενότητα "Static IPs with pxelinux.cfg". Αυτό χρησιμοποιώ στο σχολείο. Έχει και το επιπλέον πλεονέκτημα ότι από το ίδιο αρχείο μπορείς να περάσεις και kernel parameters, π.χ. να βγάλεις τα splash quiet ή να δηλώσεις vga=791 ή acpi=force κτλ.
Έτσι στο dhcpd.conf δεν δηλώνεις καθόλου static IPs, αλλά χρησιμοποιείς τα αρχεία μέσα στο pxelinux.cfg/.

2η εναλλακτική, που νομίζω ότι είναι η καλύτερη για μη PXE-enabled PCs αλλά δεν είναι ακόμα εντελώς έτοιμη:
http://forum.slitaz.org/viewtopic.php?pid=6101
Δηλαδή με το που εγκαθιστά ο καθηγητής τη δυνατότητα "boot from network" σε έναν client, ανεξάρτητα αν είναι σε δισκέτα / CD / σκληρό κτλ, να διαλέγει και την IP που αντιστοιχεί στον client και να τελειώνει. Ούτε dhcp server θα χρειάζεται ούτε να κοιτάει mac addresses ούτε τίποτα. Και kernel parameters αν θέλει θα μπορεί να βάλει.
Έναν τέτοιο installer θέλω να φτιάξω (αντί για τα disk images που έχω σε άλλο topic), ελπίζω να είναι έτοιμος μέχρι την Jaunty (και το σχετικό manual Ubuntu904LTSP.pdf) τον Απρίλιο.

Wizard

Η συμμετοχή σου σε τόσα θέματα με αφήνει άφωνο! Μακάρι να είχα τον χρόνο... Θα δοκιμάσω όσα μπορώ κι εγώ!

alkisg

Υ.Γ. γιατί προτιμάς / χρειάζεσαι static IPs? (κι εγώ static έχω, απλά απορία...)

Wizard

Αν δεν βάλω static ip, πώς θα έχω τότε σταθερό hostname για κάθε μηχάνημα για να με διευκολύνει στο iTalc (που θέλω να δοκιμάσω οσονούπω) ?

alkisg

Το iTalc κάνει autodetect τους clients και δεν χρειάζεται static IPs. Απλά για την ώρα έχει 2 bugs που θέλουν χειρωνακτική διόρθωση:
https://alkisg.mysch.gr/steki/index.php?topic=1740.0

Θεωρητικά λες στους μαθητές "καθήστε όπου θέλετε, όλα τα PC ίδια είναι, όπου και να συνδεθείτε θα βρείτε τα έγγραφά σας" και κοιτάς το username στο iTalc. Έτσι τα hostnames δεν χρειάζεται να είναι σταθερά.