Πώς να ανοίξετε τις θύρες στο Linux
Linux Ubuntu βασικά στοιχεία του Ubuntu Ήρωας / / March 02, 2022

Τελευταία ενημέρωση στις

Αν θέλετε να επιτρέψετε εξωτερικές συνδέσεις σε υπολογιστή ή διακομιστή, θα πρέπει να ανοίξετε τη σωστή θύρα. Οι χρήστες Linux μπορούν να ανοίξουν θύρες χρησιμοποιώντας αυτόν τον χρήσιμο οδηγό.
Θέλετε να συνδεθείτε σε εξωτερικό υπολογιστή ή διακομιστή—ή χρειάζεστε άλλον υπολογιστή ή διακομιστή για να συνδεθείτε σε εσάς; Εάν εκτελείτε Linux, θα πρέπει να βεβαιωθείτε ότι η σωστή θύρα είναι ανοιχτή.
Ενώ άλλα λειτουργικά συστήματα έχουν συνήθως κάποιο γραφικό εργαλείο για αυτό, το Linux δεν είναι τόσο απλό. Θα σας καθοδηγήσουμε στον τρόπο ανοίγματος θυρών στο Linux παρακάτω.
Τι είναι ένα λιμάνι και γιατί πρέπει να το ανοίξω;
Μια θύρα είναι ένα τελικό σημείο στο δίκτυο. Σκεφτείτε το σαν μια πόρτα που οδηγεί σε ένα συγκεκριμένο δωμάτιο ή στον έξω κόσμο, αλλά στον υπολογιστή σας. Ό, τι κάνετε στο Διαδίκτυο χρησιμοποιεί μια συγκεκριμένη θύρα ή μια σειρά θυρών.
Για παράδειγμα, ας υποθέσουμε ότι θέλετε να εκτελέσετε τον δικό σας διακομιστή Minecraft. Για να το κάνετε αυτό, θα χρειαστεί να ανοίξετε μια θύρα για να συνδεθούν οι χρήστες σε αυτήν μέσω. Το ίδιο θα ισχύει για τη λειτουργία του δικού σας διακομιστή web, αλληλογραφίας ή FTP.
Τα λιμάνια είναι τυποποιημένη σε όλα τα συνδεδεμένα στο δίκτυο συσκευές. Οι πρώτες 1.024 θύρες (από 0 έως 1023) αναφέρονται ως γνωστούς αριθμούς λιμένων. Προορίζονται για τις πιο συχνά χρησιμοποιούμενες υπηρεσίες, όπως HTTP και HTTP (θύρα 80 και 443, αντίστοιχα) και SSH (θύρα 22).
Οι αριθμοί θύρας άνω του 1024 αναφέρονται ως εφήμερες θύρες, και είναι συνήθως διαθέσιμα για χρήση για τα διαδικτυακά σας παιχνίδια, τους ιδιωτικούς διακομιστές Ιστού κ.λπ. Καλούνται οι αριθμοί θύρας 1024 έως 49151 εγγεγραμμένος ή θύρες χρήστη, ενώ αυτά από 49152 έως 65535 είναι γνωστά ως δυναμικός ή ιδιωτικά λιμάνια.
Καταχώριση ανοιχτών θυρών στο Linux
Πριν ξεκινήσετε να προσπαθείτε να ανοίξετε μια θύρα στο Linux, θα πρέπει να βεβαιωθείτε ότι δεν χρησιμοποιείται ήδη. Μπορείτε να το πετύχετε χρησιμοποιώντας το netstat εντολή, που περιλαμβάνεται στις περισσότερες διανομές Linux. Εάν η διανομή σας δεν έχει netstat, μπορείς να χρησιμοποιήσεις σσ αντι αυτου.
netstat -lntu.

Αυτό θα εκτυπώσει όλες τις υποδοχές ακρόασης (-μεγάλο), μαζί με τον αριθμό θύρας (-n). Περιλαμβάνει θύρες TCP (-τ) καθώς και UDP (-u). Εάν το σύστημά σας δεν έχει netstat, απλά χρησιμοποιήστε σσ με τις ίδιες παραμέτρους.
ss -lntu.

Πώς να ανοίξετε τις θύρες στο Linux
Για χάρη αυτού του παραδείγματος, θα υποθέσουμε ότι θέλουμε να ανοίξουμε τη θύρα 4000 σε συνδέσεις TCP. Πρώτα πρέπει να βεβαιωθούμε ότι η θύρα δεν χρησιμοποιείται ήδη. Αυτό το κάνουμε μέσω netstat ή σσ.
netstat -na | grep: 4000. σσ -να | grep: 4000.
Υποθέτοντας ότι η έξοδος είναι κενή, μπορούμε να προσθέσουμε τους κατάλληλους κανόνες θύρας στο τείχος προστασίας του συστήματος. Οι μέθοδοι για αυτό θα διαφέρουν ανάλογα με τη διανομή σας και εάν χρησιμοποιεί το νεότερο ufw τείχος προστασίας ή τείχος προστασίας. Ευνοεί το Ubuntuufw, ενώ Το CentOS χρησιμοποιεί συνήθωςτείχος προστασίας αντι αυτου. Φυσικά, υπάρχουν ακόμα κάποιες διανομές Linux που χρησιμοποιούν τις παλαιότερες iptables τείχος προστασίας.
Για χρήστες Ubuntu και άλλα συστήματα που βασίζονται σε τείχος προστασίας ufw
Αντί να χρησιμοποιήσετε το παλαιότερο iptables το τείχος προστασίας, το Ubuntu και κάποιες άλλες διανομές χρησιμοποιούν ufw. Κάτω από αυτά τα συστήματα, η ακόλουθη εντολή θα ανοίξει τη θύρα.
sudo ufw allow 4000.
Παραλείψτε τα επόμενα βήματα και δοκιμάστε τη θύρα που άνοιξε πρόσφατα για να βεβαιωθείτε ότι λειτουργεί.
Πώς να ανοίξετε θύρες στο Linux χρησιμοποιώντας CentOS και άλλα συστήματα που βασίζονται σε τείχος προστασίας
Εάν το σύστημά σας χρησιμοποιεί τείχος προστασίας, το καλύτερο στοίχημά σας είναι να χρησιμοποιήσετε το τείχος προστασίας-cmd εντολή για ενημέρωση των κανόνων.
sudo firewall-cmd --add-port=4000/tcp.
Αυτή δεν θα είναι μια μόνιμη αλλαγή, αλλά θα καλύψουμε πώς να διατηρήσουμε τους κανόνες μετά την επανεκκίνηση μόλις δοκιμάσουμε τη θύρα.
Για άλλες διανομές Linux
Εάν το σύστημά σας Linux δεν έχει ufw ή τείχος προστασίας, θα χρειαστεί να χρησιμοποιήσετε iptables. Εάν δεν είναι εγκατεστημένο, προχωρήστε και αποκτήστε το χρησιμοποιώντας τον διαχειριστή πακέτων της επιλογής σας. Μόλις εγκατασταθεί, αυτές οι εντολές θα ανοίξουν τη θύρα 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT. επανεκκίνηση της υπηρεσίας sudo iptables.
Εάν το σύστημά σας χρησιμοποιεί systemctl, αντικαταστήστε τη δεύτερη εντολή με:
sudo systemctl επανεκκίνηση iptables.
Δοκιμή νεοανοιγμένων θυρών για συνδέσεις
Στη συνέχεια, θα πρέπει να δοκιμάσουμε τη θύρα για να βεβαιωθούμε ότι δέχεται συνδέσεις. Αυτό το κάνουμε χρησιμοποιώντας το netcat (nc) για να ακούσετε τη θύρα και στη συνέχεια να προσπαθήσετε να την συνδέσετε με telnet.
Αρχικά, ανοίξτε ένα παράθυρο τερματικού και δώστε αυτήν την εντολή:
sudo ls | nc -l -p 4000.
Αφήστε το να λειτουργεί (ακρόαση) και ανοίξτε ένα δεύτερο παράθυρο τερματικού. Σε αυτό το παράθυρο, θα χρησιμοποιήσετε το telnet για να δοκιμάσετε τη συνδεσιμότητα. Εάν δεν είναι εγκατεστημένο το telnet, κάντε το χρησιμοποιώντας τη διαχείριση πακέτων.
telnet [όνομα κεντρικού υπολογιστή/διεύθυνση IP] [αριθμός θύρας]
Αντικαθιστώ [όνομα κεντρικού υπολογιστή/διεύθυνση IP] με τη διεύθυνση IP του συστήματός σας και [αριθμός θύρας] με τον αριθμό θύρας που ανοίξατε.
telnet localhost 4000.
Θα πρέπει να δείτε την έξοδο όπως αυτή παρακάτω, υποδεικνύοντας μια ανοιχτή σύνδεση με nc.

Μπορούμε επίσης να δείξουμε ότι η θύρα είναι ανοιχτή χρησιμοποιώντας nmap. Και πάλι, εάν η εντολή δεν είναι ήδη εγκατεστημένη, χρησιμοποιήστε τον διαχειριστή πακέτων για να την ανακτήσετε.
nmap localhost -p 4000.

Σημειώστε ότι nmap θα απαριθμήσει μόνο τις ανοιχτές θύρες που ακούν για συνδέσεις. Γι' αυτό χρησιμοποιούμε το netcat για δοκιμές, για να ακούσουμε σε αυτήν τη θύρα. Διαφορετικά, η θύρα δεν θα εγγραφεί ως ανοιχτή.
Δεν μπορώ να συνδεθώ στη θύρα που μόλις άνοιξα, τώρα τι;
Εάν εκτελέσετε όλα τα παραπάνω βήματα και δεν μπορείτε να πραγματοποιήσετε σύνδεση με τη θύρα, ελέγξτε ξανά την πληκτρολόγηση. Εάν είστε βέβαιοι ότι εισαγάγατε τα πάντα σωστά, το πιθανότερο είναι ότι θα χρειαστεί να ρυθμίσετε ξανά τον δρομολογητή δικτύου σας για να επιτρέψετε την κυκλοφορία.
Δεδομένου ότι κάθε δρομολογητής δικτύου έχει διαφορετικές οθόνες διαμόρφωσης, θα πρέπει να συμβουλευτείτε τις σελίδες υποστήριξης ή το εγχειρίδιο χρήστη για τον συγκεκριμένο εξοπλισμό σας. Θα χρειαστεί να ελέγξετε για ρυθμίσεις προώθησης θύρας ή αντιστοίχισης θυρών, καθώς και τυχόν ενσωματωμένο τείχος προστασίας που μπορεί να χρησιμοποιεί ο δρομολογητής.
Πώς να ανοίξετε μόνιμα μια θύρα στο Linux
Αφού δοκιμάσετε την ανοιχτή θύρα σας και βεβαιωθείτε ότι λειτουργεί, πιθανότατα θα θέλετε να κάνετε την αλλαγή μόνιμη. Διαφορετικά, οι αλλαγές ενδέχεται να μην παραμείνουν μετά από μια επανεκκίνηση. Εάν είστε χρήστης του Ubuntu ή χρησιμοποιήστε το ufw τείχος προστασίας, δεν χρειάζεται να ανησυχείτε για αυτό. ο ufw οι κανόνες δεν επαναφέρονται κατά την επανεκκίνηση.
Για χρήστες τείχους προστασίας
Είναι εύκολο να κολλήσετε έναν κανόνα θύρας μετά την επανεκκίνηση τείχος προστασίας. Απλώς προσθέστε το -μόνιμος επισημάνετε την αρχική σας εντολή και θα συμπεριληφθεί στους κανόνες του τείχους προστασίας του συστήματος Linux κατά την εκκίνηση.
sudo firewall-cmd --add-port=4000/tcp --μόνιμο.
Εάν εξακολουθείτε να χρησιμοποιείτε iptables
ο iptables το τείχος προστασίας είναι πολύ πιο ενοχλητικό (ίσως ένας καλός λόγος για αναβάθμιση σε τείχος προστασίας ή ufw). Για να ανοίξετε "μόνιμα" μια θύρα iptables, μπορείτε να εγκαταστήσετε το iptables-persistent πακέτο για βοήθεια.
Κατά την πρώτη εγκατάσταση iptables-persistent σε ένα σύστημα που βασίζεται στο Debian, θα αποθηκεύσει τους τρέχοντες κανόνες σας σε οποιοδήποτε από τα δύο /etc/iptables/rules.v4 ή /etc/iptables/rules.v6. Για να προσθέσετε νέους κανόνες, θα εκδώσετε την ακόλουθη εντολή:
sudo iptables-save > /etc/iptables/rules.v4.
Ή
sudo iptables-save > /etc/iptables/rules.v6.
Για όσους εκτελούν διανομές Linux που βασίζονται σε RPM, είναι λίγο διαφορετικό. Το πακέτο ονομάζεται iptables-υπηρεσίεςκαι τα αρχεία αποθήκευσης είναι /etc/sysconfig/iptables και /etc/sysconfig/ip6tables.
Σε διανομές που βασίζονται σε RPM, υπάρχει επίσης μια διαφορετική εντολή που χρησιμοποιείται για τις θύρες IPv6. Η αποθήκευση των κανόνων σας γίνεται χρησιμοποιώντας μία από αυτές τις δύο εντολές:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Φροντίστε να παρακολουθείτε τη χρήση της θύρας σας
Όσο περνά ο καιρός, οι ανάγκες του διακομιστή σας μπορεί να αλλάξουν. Όπως ακριβώς θα έπρεπε να ενημερώνεστε για τους λογαριασμούς χρηστών στον υπολογιστή σας Linux, θα πρέπει επίσης να ελέγχετε τακτικά τις ανοιχτές θύρες σας. Κλείστε τυχόν ανοιχτές θύρες που δεν χρειάζονται πλέον. Μαζί με τακτικά αλλαγή του κωδικού πρόσβασής σας, αυτή είναι μια καλή πρακτική ασφάλειας που θα σας βοηθήσει να αποφύγετε εισβολές στο σύστημα και εκμεταλλεύσεις ασφαλείας.