Ενεργοποίηση προώθησης IP για IPv4 στο Debian GNU/Linux

Enabling Ip Forwarding



Η δημιουργία ενός δικτύου υπολογιστών μπορεί μερικές φορές να είναι δύσκολη. Ευτυχώς, η ενεργοποίηση της προώθησης IPv4 σε ένα μηχάνημα Linux είναι μια αρκετά απλή εργασία.

Ο όρος προώθηση IP περιγράφει την αποστολή ενός πακέτου δικτύου από μια διεπαφή δικτύου σε άλλη ένα στην ίδια συσκευή. Θα πρέπει να είναι ενεργοποιημένη όταν θέλετε το σύστημά σας να λειτουργεί ως δρομολογητής που μεταφέρει πακέτα IP από το ένα δίκτυο στο άλλο.







Σε ένα σύστημα Linux, ο πυρήνας Linux έχει μια μεταβλητή που ονομάζεται 'ip_forward' που διατηρεί αυτήν την τιμή. Είναι προσβάσιμο χρησιμοποιώντας το αρχείο `/proc/sys/net/ipv4/ip_forward`. Η προεπιλεγμένη τιμή είναι 0 που σημαίνει ότι δεν υπάρχει προώθηση IP, επειδή ένας κανονικός χρήστης που τρέχει έναν υπολογιστή χωρίς επιπλέον εξαρτήματα δεν το χρειάζεται συνήθως. Αντίθετα, για δρομολογητές, πύλες και διακομιστές VPN είναι ένα πολύ σημαντικό χαρακτηριστικό.



Στη συνέχεια, θα σας εξηγήσουμε πώς να ενεργοποιήσετε την Προώθηση IP προσωρινά και μόνιμα.



Προώθηση IP ως προσωρινή λύση

Για να ενεργοποιήσετε αυτήν την παράμετρο πυρήνα εν κινήσει, έχετε δύο επιλογές. Η επιλογή 1 απλώς αποθηκεύει την τιμή 1 στη μεταβλητή από τα παραπάνω ως εξής:





#πέταξε έξω 1 >> /τοις εκατό/sys/καθαρά/ipv4/ip_forward

Η επιλογή 2 χρησιμοποιεί την εντολή `sysctl` που σας επιτρέπει να προσαρμόσετε διαφορετικές παραμέτρους πυρήνα κατά το χρόνο εκτέλεσης, επίσης [2]. Ως διαχειριστής, εκτελέστε την ακόλουθη εντολή:

#sysctl-σεnet.ipv4.ip_forward =1

Λάβετε υπόψη ότι αυτή η ρύθμιση αλλάζει αμέσως. Επίσης, το αποτέλεσμα δεν θα διατηρηθεί μετά την επανεκκίνηση του συστήματος.



Μπορείτε να αναζητήσετε την αποθηκευμένη τιμή ως εξής:

#Γάτα /τοις εκατό/sys/καθαρά/ipv4/ip_forward

Αυτή η εντολή επιστρέφει μια τιμή 0 για χωρίς προώθηση IP και μια τιμή 1 για ενεργοποίηση προώθησης IP. Εναλλακτικά, η χρήση του `sysctl` σας δείχνει επίσης την τρέχουσα κατάσταση:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward =0
#

Ενεργοποίηση μόνιμης προώθησης IP

Για να επιτευχθεί αυτό πρέπει να γίνουν κάποια άλλα βήματα. Αρχικά, επεξεργαστείτε το αρχείο `/etc/sysctl.conf`. Αναζητήστε μια γραμμή που περιέχει την καταχώριση # net.ipv4.ip_forward = 1 και καταργήστε το # στην αρχή της γραμμής.

Στη συνέχεια, αποθηκεύστε το αρχείο και εκτελέστε την εντολή `sysctl` για να ενεργοποιήσετε τις προσαρμοσμένες ρυθμίσεις:

#sysctl /και τα λοιπά/sysctl.conf

Η επιλογή «-p» είναι συντομογραφία για «–φόρτωση» και απαιτεί ένα όνομα για το αρχείο διαμόρφωσης που πρέπει να ακολουθηθεί.

Στη συνέχεια, επανεκκινήστε το σύστημα αρχείων proc που παρέχει πληροφορίες σχετικά με την κατάσταση του πυρήνα Linux χρησιμοποιώντας την ακόλουθη εντολή:

#/και τα λοιπά/init.d/procps επανεκκίνηση

Περίπου το 2015 το όνομα αρχείου συντομεύτηκε από `procps.sh` σε` `procps`. Έτσι, σε ηλικιωμένα συστήματα Debian, το σενάριο που πρέπει να επικαλεστείτε ονομάζεται `procps.sh`, αντ 'αυτού.

Αντιμετώπιση του Systemd

Το επόμενο εμπόδιο ήρθε με την κυκλοφορία της Systemd έκδοσης 221. Η προώθηση IP είναι απενεργοποιημένη από προεπιλογή και η ενεργοποίηση απαιτεί ένα πρόσθετο αρχείο για να είναι εκεί. Αν δεν είναι ακόμα εκεί, απλά προσθέστε το. Το όνομα του αρχείου αποτελείται από το όνομα της διεπαφής δικτύου που ακολουθείται από το επίθημα `.network`, για παράδειγμα` eth0.network` για τη διεπαφή δικτύου `/dev/eth0`. Όπως αναφέρεται στην τεκμηρίωση [4], άλλες επεκτάσεις αγνοούνται.

Το παρακάτω απόσπασμα κώδικα δείχνει τη ρύθμιση για τη διεπαφή δικτύου `/dev/tun0`. Περιέχει δύο ενότητες - «Match» και «Network». Στην ενότητα Αντιστοίχιση ορίστε το όνομα της διεπαφής δικτύου και στην ενότητα δικτύου ενεργοποιήστε την Προώθηση IP.

# cat /etc/systemd/network/tun0.network
[Αγώνας]
Ονομα= tun0
[Δίκτυο]
IPForward= ipv4

συμπέρασμα

Η ενεργοποίηση της προώθησης IP για IPv4 δεν είναι μυστήριο. Λίγα βήματα και είστε εκεί. Καλό χακάρισμα!

Σύνδεσμοι και αναφορές

* [1] Ρύθμιση Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Μάθετε την εντολή Linux sysctl
* [3] Systemd News για την έκδοση 221
* [4] Τεκμηρίωση για Systemd