Η διαμόρφωση φαίνεται εύλογη με την πρώτη ματιά:

acl team_a myportname 3128 src 198.51.100.0/24

Όμως ένας ορισμός ACL έχει έναν μόνο τύπο. Εδώ το myportname είναι ο τύπος· η προσθήκη της λέξης src δεν ξεκινά δεύτερο έλεγχο. Οι υπόλοιπες λέξεις ανήκουν στη λίστα τιμών του πρώτου τύπου. Αυτή η γραμμή δεν εκφράζει «αυτός ο listener και αυτό το δίκτυο πελατών».

Δώστε όνομα σε κάθε συνθήκη

Χρησιμοποιήστε ένα όνομα για το socket ακρόασης και ξεχωριστό ACL προέλευσης. Αυτό το απόσπασμα χρησιμοποιεί διευθύνσεις τεκμηρίωσης, που πρέπει να αντικατασταθούν με κατάλληλες για την ανάπτυξη:

http_port 192.0.2.10:3128 name=team_a_port
acl team_a_port myportname team_a_port
acl team_a_clients src 198.51.100.0/24

http_access allow team_a_port team_a_clients
http_access deny all

Τοποθετήστε τον κανόνα allow μετά τις υπάρχουσες προστασίες για μη ασφαλείς θύρες προορισμού, περιορισμένους στόχους CONNECT και πρόσβαση διαχείρισης. Το απόσπασμα δείχνει τη συνθήκη πελάτη/listener· δεν αντικαθιστά αυτές τις προστασίες.

Οι συνθήκες σε μία γραμμή http_access συνδυάζονται με AND. Δύο ξεχωριστές γραμμές allow θα επέτρεπαν κάθε συνθήκη ανεξάρτητα, αλλάζοντας σημαντικά την πολιτική. Πολλές τιμές μέσα σε ένα ACL συνήθως δίνουν εναλλακτικές για αυτόν τον μοναδικό έλεγχο.

Επιλέξτε την έξοδο ξεχωριστά

Ένας αντίστοιχος listener μπορεί επίσης να χρησιμοποιηθεί από το tcp_outgoing_address για επιλογή τοπικής διεύθυνσης προέλευσης. Αυτό είναι επιλογή δρομολόγησης, όχι άδεια χρήσης του proxy. Ένας κανόνας εξερχόμενης διεύθυνσης δεν μπορεί να κάνει ένα αιτούμενο που απορρίφθηκε να περάσει από το http_access.

Αν μια διαμόρφωση με πολλές διευθύνσεις σταματήσει να λειτουργεί μετά από αναβάθμιση, διαχωρίστε τα στοιχεία: σφάλμα ανάλυσης δείχνει τη σύνταξη της διαμόρφωσης· άρνηση πρόσβασης δείχνει αντιστοίχιση κανόνων· επιτρεπόμενο αίτημα με λάθος έξοδο δείχνει επιλογή εξόδου ή μεταγενέστερο NAT. Η αλλαγή και των τριών μαζί κάνει ένα μικρό λάθος ACL πολύ δυσκολότερο να βρεθεί.

Σχετικά άρθρα