Note to self: Ποτέ μα ποτέ μην βάλεις σε production server μη stable version διανομής Λίνουξ, όποια κι αν είναι.
Πριν μερικές μέρες προσπάθησα να αναβαθμίσω το Λινουξάκι που έχω για gateway server. Σημείωσε ότι μέσω του gateway 2 κτήρια ενώνονται με τους servers και με το διαδίκτυο. Μια αρκετά σύνθετη (για τα δεδομένα μου) διαδικασία με iptables, διαφορετικά access levels και port access για διαφορετικές ομάδες. Το Λινουξάκι αυτό έτρεχε Debian από το testing branch. Τις πλείστες φορές η διαδικασία του update, upgrade και dist-upgrade γίνεται μια χαρά. Αυτή δεν ήταν μια από εκείνες τις φορές.
Μετά το upgrade, άρχισαν να κτυπάνε τα τηλέφωνα από εξαγριωμένους τύπους που δεν είχαν πρόσβαση στο διαδίκτυο. Όλο το group “users” μπορούσε να δεί τους servers αλλά όχι να μπεί στο internet. Αμέσως αποκλείστηκε το ενδεχόμενο προβλήματος στους κανόνες των iptables (το αμέσως είναι σχετικό – 2 ώρες μετά). Ύστερα από λίγο ψάξιμο το πρόβλημα εστιάστηκε στο squid, τον proxy server που χρησιμοποιώ. Οι users έχουν μόνο http access από το port 8080 (χωρίς όμως να χρειάζεται ρύθμιση) για να μπορώ να αποτρέψω την χρήση κάποιων P2P κτλ. Ο squid δεν προωθούσε τους users από το 80 στο 8080. To proxy transparency μου είχε πρόβλημα. Στα backups βρήκα το configuration και το έκανα compare με το υφιστάμενο (μπας και το άλλαξε το νέο version). To squid.conf ήταν το ίδιο, αλλά αυτή τη φορά έβγαζε errors. Δεν μπρούσε να κάνει proxy acceleration και διάφορα άλλα. Όντας, άπειρος (μπορείς να προσθέσεις ηλίθιος και διάφορα άλλο κοσμητικά επιθετα) δεν πέρασε από το νου μου ότι από το 2.5 σε 2.6 version έγιναν αλλαγές στη σύνταξη του configuration. 20 ώρες εργασίας μετά διάβασα το release note (αφού σας είπα, ηλίθιος) και είδα ότι εκείνες οι 5-6 γραμμές που ενώ μου φαίνονταν σωστές έβγαζαν error αντικαταστάθηκαν από 2 άλλες.
Τελικά για acceleration και transparency στο 2.6 απλά προσθέτεις παράμετρους στο http_port και cache_peer. Άρα τα ακόλουθα δεν είναι valid πλέον
httpd_accel_host
httpd_accel_port
httpd_accel_with_proxy]
httpd_accel_uses_host_header
acl lan src ….
http_access allow localhost
http_access allow lan
Το release note του Squid 2,6 είναι εδώ
Αν δεν πάθεις δεν θα μάθεις όμως. Μέχρι τώρα νόμιζα ότι απλά διαβάζεις τα manuals και λοιπά σχετικά tutorials στο διαδίκτυο και στο τέλος λύνεις το πρόβλημα. Ε τελικά, πρώτα βλέπεις το release note (πράγμα που θα κάνω πριν το upgrade πλέον). Και ποτέ από το testing branch. Καλύτερα λίγα compile με το χέρι, ή μερικά πακέτα από το testing (βλ apache2 για να τρέχει το zend π.χ.) παρά unstable διανομή.



