Προώθηση της κυκλοφορίας σε linux χρησιμοποιώντας IPTABLES
Iptables σας επιτρέπει να ρυθμίσετε εύκολα κανόνες για το φιλτράρισμα πακέτων / προώθησης.
Έτσι, για να κρατήσει σύντομη και απλή: ας υποθέσουμε ότι θέλετε να διαβιβάσει οποιαδήποτε οχήματα που έρχονται στον υπολογιστή σας (192.168.0.1) στη θύρα 80 για να machine2 (192.168.0.2) στη θύρα 8080 και μετά:
- Ενεργοποιήστε την προώθηση των θυρών:
echo 1> / proc/sys/net/ipv4/ip_forward
- Τώρα προσθέστε τους κανόνες:
iptables-t nat-A PREROUTING-p tcp-d 192.168.0.1-dport 80-j DNAT-να 192.168.0.2:8080
iptables-t nat-A POSTROUTING-d 192.168.0.2-j MASQUERADE
Το-p tcp σημαία διευκρινίζει ότι το πρωτόκολλο TCP (σε αντίθεση με UDP, ICMP, για παράδειγμα).
Το-d 192.168.0.1 σημαία διευκρινίζει ότι τα πακέτα που έμελλε να IP 192.168.0.1
Η-dport 80 σημαίνει ότι το πακέτο είχε θύρα 80 ως προορισμό
-J είναι ο στόχος του κανόνα που εφαρμόζεται, το NAT (Network Address Translation). Σε πιο προχωρημένο κανόνες, μπορεί κανείς να καθορίσετε μια προκαθορισμένη αλυσίδα iptables των κανόνων.
-Να προσδιορίζει πού αυτό το πακέτο θα πρέπει να διαβιβάζονται, και σε ποια θύρα
Όσο για τον δεύτερο κανόνα, που λέει ότι εξερχόμενα πακέτα για το δεύτερο μηχάνημα θα πρέπει να μεταμφιεσμένων. Με άλλα λόγια, ο χρήστης προσπαθεί να αποκτήσει πρόσβαση η αρχική μηχανή στη θύρα 80 δεν θα έχει μια αίσθηση ότι η αίτησή του είχε διαβιβαστεί. Το πακέτο θα φανεί σαν να ήρθε από το μασκάρισμα υποδοχής, ενώ στην πράξη, το αίτημα διαβιβάστηκε στο machine2, και η απάντηση ήρθε πίσω από την ίδια μηχανή.
Σε μια πλευρά σημείωση, φροντίστε να προσθέσετε αυτούς τους κανόνες iptables σε ένα αρχείο, δίνουν μια άδεια εκτέλεσης (chmod + x / path / to / αρχείο), και προσθέστε το στο / etc / rc.local ώστε να εκτελείται σε κάθε εκκίνηση του συστήματος. Σε αντίθετη περίπτωση, τα παραπάνω κανόνες θα fliushed κάθε φορά που το σύστημά σας να γίνει επανεκκίνηση.
