Οδηγός χρήσης του mudfish-exclude
Αυτό το πρόγραμμα διατίθεται μόνο στο Mudfish Cloud VPN 6.5.4 ή νεότερο.
Το mudfish-exclude είναι ένα εργαλείο γραμμής εντολών του Mudfish για Linux που εκκινεί συγκεκριμένα προγράμματα εκτός της διαδρομής Mudfish. Είναι ιδιαίτερα χρήσιμο όταν χρησιμοποιείτε Full VPN αλλά θέλετε η κίνηση του προγράμματος περιήγησης, μιας εφαρμογής μηνυμάτων, ενός προγράμματος αναπαραγωγής βίντεο ή ενός εργαλείου λήψης να περνά απευθείας από την αρχική σύνδεση Internet.
일반 프로그램 -> 미꾸라지 경로 -> 중계 서버
mudfish-exclude 앱 -> 기존 기본 경로 -> 인터넷
Το παραπάνω διάγραμμα του πρωτοτύπου δείχνει ότι τα κανονικά προγράμματα περνούν από τη διαδρομή Mudfish προς τον ενδιάμεσο διακομιστή, ενώ οι εφαρμογές του mudfish-exclude ακολουθούν την αρχική προεπιλεγμένη διαδρομή προς το Internet.
Το εργαλείο δεν προσθέτει ρυθμίσεις στον πίνακα ελέγχου του Mudfish. Απλώς εκκινήστε το πρόγραμμα που θέλετε να εξαιρέσετε με το mudfish-exclude αντί για τη συνηθισμένη εντολή του.
Υποστήριξη: Προς το παρόν υποστηρίζονται μόνο Linux και IPv4. Δεν μπορεί να χρησιμοποιηθεί σε Windows, macOS ή Android και δεν εφαρμόζει ξεχωριστή πολιτική παράκαμψης στην κίνηση IPv6.
Απαιτούμενο περιβάλλον
Πρέπει να πληρούνται όλες οι παρακάτω προϋποθέσεις:
- Να είναι εγκατεστημένο το Mudfish για Linux.
- Το cgroup v2 να είναι προσαρτημένο στο
/sys/fs/cgroup. - Να είναι διαθέσιμες οι εντολές
ipκαιiptablesκαι η δυνατότητα cgroup match του iptables. - Να έχετε δικαιώματα
sudoγια τη ρύθμιση δρομολόγησης βάσει πολιτικής και κανόνων τείχους προστασίας. - Ο πίνακας δρομολόγησης main του Linux να περιέχει μια έγκυρη προεπιλεγμένη διαδρομή IPv4.
Το εγκατεστημένο εκτελέσιμο βρίσκεται συνήθως στην παρακάτω θέση. Το κορεατικό πεδίο μέσα στις αγκύλες σημαίνει «έκδοση Mudfish».
/opt/mudfish/<미꾸라지 버전>/bin/mudfish-exclude
Βρείτε την τρέχουσα διαδρομή εγκατάστασης με:
ls /opt/mudfish/*/bin/mudfish-exclude
Αν το εκτελέσιμο δεν περιλαμβάνεται στο PATH, αντικαταστήστε το mudfish-exclude στα παραδείγματα με την πλήρη διαδρομή που βρήκατε. Για παράδειγμα, η προεπιλεγμένη διαδρομή της έκδοσης 6.5.4 είναι /opt/mudfish/6.5.4/bin/mudfish-exclude.
Βασική χρήση
- Εκκινήστε το Mudfish και συνδέστε κανονικά το επιθυμητό στοιχείο ή τη λειτουργία Full VPN.
- Αν το πρόγραμμα που θέλετε να εξαιρέσετε εκτελείται ήδη, τερματίστε το πλήρως, μαζί με τις διεργασίες παρασκηνίου και το εικονίδιο στην περιοχή ειδοποιήσεων.
- Εκκινήστε το ξανά από το τερματικό με την παρακάτω μορφή. Τα κορεατικά πεδία σημαίνουν «πρόγραμμα» και «επιλογές προγράμματος».
sudo mudfish-exclude <프로그램> [프로그램 옵션...]
Για να εξαιρέσετε, για παράδειγμα, το Discord από το Mudfish:
sudo mudfish-exclude discord
Για να εξαιρέσετε το Firefox και να ανοίξετε ένα ιδιωτικό παράθυρο:
sudo mudfish-exclude firefox --private-window
Αν η διαδρομή του εκτελέσιμου περιέχει κενά, περικλείστε την σε εισαγωγικά.
sudo mudfish-exclude "/path/to/My Program" --option
Το sudo χρησιμοποιείται για τη ρύθμιση της πολιτικής δικτύου. Το ίδιο το πρόγραμμα που εκκινείται με sudo mudfish-exclude ... εκτελείται, όπου είναι δυνατόν, με το UID, το GID, τον προσωπικό κατάλογο και το περιβάλλον συνεδρίας επιφάνειας εργασίας του αρχικού χρήστη που κάλεσε το sudo.
Τι πρέπει να γνωρίζετε
- Η πολιτική εξαίρεσης εφαρμόζεται στη νέα διεργασία που εκκινεί το
mudfish-excludeκαι στις θυγατρικές της. - Δεν μπορείτε να εφαρμόσετε την πολιτική εκ των υστέρων σε πρόγραμμα που ήδη εκτελείται. Τερματίστε το πρώτα πλήρως, ώστε μια εφαρμογή μοναδικού στιγμιοτύπου να μην επαναχρησιμοποιήσει την υπάρχουσα διεργασία.
- Στην κανονική εκτέλεση ανά πρόγραμμα, η πολιτική αφαιρείται αυτόματα όταν τερματιστούν το πρόγραμμα και όλες οι θυγατρικές διεργασίες του.
- Μπορείτε να εκτελείτε πολλές εντολές
mudfish-excludeταυτόχρονα. Η κοινή πολιτική αφαιρείται αφού τερματιστεί το τελευταίο εξαιρούμενο πρόγραμμα. - Η κίνηση IPv4 των εξαιρούμενων προγραμμάτων δεν χρησιμοποιεί ενδιάμεσους διακομιστές Mudfish, τις λειτουργίες επιτάχυνσης ή τη δημόσια IP αυτής της διαδρομής.
Έλεγχος σωστής λειτουργίας
Ο έλεγχος είναι ευκολότερος όταν η δημόσια IPv4 πριν από τη σύνδεση Full VPN διαφέρει από τη δημόσια IPv4 του ενδιάμεσου διακομιστή Full VPN.
Πρώτα ελέγξτε τη διεύθυνση από ένα κανονικό τερματικό με ενεργό Full VPN:
curl -4 https://myip.mudfish.net
Εκτελέστε την ίδια εντολή μέσω του mudfish-exclude:
sudo mudfish-exclude curl -4 https://myip.mudfish.net
Το πρώτο αποτέλεσμα πρέπει να είναι η διεύθυνση του διακομιστή Mudfish και το δεύτερο η διεύθυνση της αρχικής σύνδεσης Internet. Η επιλογή -4 περιορίζει τον έλεγχο σε IPv4, σύμφωνα με το πεδίο υποστήριξης του εργαλείου.
Για έλεγχο από πρόγραμμα περιήγησης, τερματίστε το πλήρως, εκκινήστε το όπως παρακάτω και ανοίξτε το https://myip.mudfish.net.
sudo mudfish-exclude firefox
Τερματισμός και αφαίρεση πολιτικής
Με κανονικό τερματισμό δεν χρειάζεται ξεχωριστή εντολή καθαρισμού. Ωστόσο, η πολιτική μπορεί να παραμείνει αν τερματιστεί αναγκαστικά το mudfish-exclude, αν κλείσει απροσδόκητα το τερματικό ή αν διακοπεί η λειτουργία του συστήματος.
Κλείστε πρώτα όλα τα προγράμματα που εκκινήθηκαν με αυτό το εργαλείο και έπειτα εκτελέστε:
sudo mudfish-exclude --cleanup
Αν χρησιμοποιήσετε το
--cleanupενώ εκτελούνται εξαιρούμενα προγράμματα, η παράκαμψή τους μπορεί να διακοπεί αμέσως.
Επιλογές εντολής
사용법: mudfish-exclude [옵션] 프로그램 [프로그램 옵션...]
Η σύνταξη του πρωτοτύπου παραπάνω σημαίνει: mudfish-exclude, επιλογές εργαλείου, πρόγραμμα και προαιρετικές επιλογές προγράμματος.
| Επιλογή | Περιγραφή |
|---|---|
-h, --help | Εμφανίζει βοήθεια. |
--setup | Ρυθμίζει μόνο την πολιτική δικτύου εξαίρεσης και τερματίζει. Δεν μπορεί να συνδυαστεί με πρόγραμμα. |
--cleanup | Αφαιρεί την πολιτική δικτύου εξαίρεσης και τερματίζει. Δεν μπορεί να συνδυαστεί με πρόγραμμα. |
--no-setup | Εισέρχεται στο καθορισμένο cgroup και εκτελεί το πρόγραμμα χωρίς να ρυθμίσει ξανά την υπάρχουσα πολιτική. |
--cgroup NAME | Ορίζει το όνομα cgroup v2. Η προεπιλογή είναι mudfish-exclude. |
--mark VALUE | Ορίζει το mark τείχους προστασίας για τα πακέτα. Η προεπιλογή είναι 0x6d660001. |
--priority VALUE | Ορίζει την προτεραιότητα του κανόνα πολιτικής IPv4. Η προεπιλογή είναι 8252. |
--table VALUE | Ορίζει τον αριθμό πίνακα δρομολόγησης που θα περιέχει την αρχική προεπιλεγμένη διαδρομή. Η προεπιλογή είναι 8252. |
Για να τερματίσετε ρητά την ανάλυση των επιλογών του εργαλείου, τοποθετήστε το πρόγραμμα μετά από --.
sudo mudfish-exclude -- firefox --private-window
Επαναχρησιμοποίηση πολιτικής για πολλά προγράμματα
Για τη συνήθη χρήση συνιστάται η ξεχωριστή εκτέλεση για κάθε πρόγραμμα. Αν πρέπει να ρυθμίσετε χειροκίνητα την πολιτική μία φορά και να την επαναχρησιμοποιήσετε σε πολλές εντολές, ακολουθήστε αυτή τη σειρά:
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Αφού τερματίσετε όλα τα προγράμματα, αφαιρέστε οπωσδήποτε την πολιτική.
sudo mudfish-exclude --cleanup
Ο χειροκίνητος τρόπος δεν κάνει αυτόματο καθαρισμό. Επιπλέον, ορισμένες εφαρμογές επιφάνειας εργασίας μπορεί να μετακινούνται σε άλλο cgroup του systemd κατά την εκτέλεση. Για αυτές ταιριάζει καλύτερα ο προεπιλεγμένος τρόπος εκτέλεσης ανά πρόγραμμα, ο οποίος παρακολουθεί τις μετακινήσεις cgroup και κάνει αυτόματο καθαρισμό.
Αν αλλάξετε τις τιμές --cgroup, --mark, --priority ή --table, χρησιμοποιήστε τις ίδιες τιμές στα --setup, --no-setup και --cleanup. Οι προσαρμοσμένες τιμές δεν πρέπει να συγκρούονται με υπάρχοντα mark τείχους προστασίας ή κανόνες δρομολόγησης βάσει πολιτικής του συστήματος.
Αντιμετώπιση προβλημάτων
mudfish-exclude: command not found
Το εκτελέσιμο δεν περιλαμβάνεται στο PATH. Βρείτε τη θέση εγκατάστασης και εκτελέστε το με την πλήρη διαδρομή:
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
Αλλάξτε τον αριθμό έκδοσης στη δεύτερη εντολή ώστε να αντιστοιχεί στην εγκατεστημένη έκδοση.
network policy setup requires root
Δεν έχετε δικαιώματα ρύθμισης της πολιτικής δικτύου. Προσθέστε sudo πριν από την εντολή και εκτελέστε την ξανά.
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
Το σύστημα δεν χρησιμοποιεί cgroup v2 ή δεν το έχει προσαρτήσει σε αυτή τη θέση. Ελέγξτε το με την παρακάτω εντολή. Το κορεατικό μήνυμα εξόδου σημαίνει «το cgroup v2 είναι διαθέσιμο».
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 사용 가능"
Αν δεν εμφανιστεί τίποτα, ανατρέξτε στον τρόπο ενεργοποίησης του cgroup v2 για τη διανομή σας.
iptables rule add failed ή σφάλμα cgroup match
Ελέγξτε ότι είναι εγκατεστημένο το iptables και ότι ο πυρήνας και το iptables υποστηρίζουν cgroup match. Ακόμη και σε διανομές που βασίζονται στο nftables, το εργαλείο καλεί απευθείας τη συμβατή εντολή iptables, οπότε απαιτείται λειτουργικό επίπεδο συμβατότητας iptables.
failed to find the IPv4 default route
Δεν βρέθηκε η προεπιλεγμένη διαδρομή IPv4 της αρχικής σύνδεσης Internet στον πίνακα main. Ελέγξτε αν η παρακάτω εντολή εμφανίζει διαδρομή default.
ip -4 route show default table main
Αν δεν υπάρχει προεπιλεγμένη διαδρομή ή αν δείχνει ήδη σε άλλη διεπαφή VPN, το mudfish-exclude δεν μπορεί να διαμορφώσει την αρχική διαδρομή Internet.
Η δημόσια IP δεν αλλάζει παρά την εξαίρεση
Ελέγξτε με τη σειρά τα εξής:
- Βεβαιωθείτε ότι το Full VPN είναι πράγματι συνδεδεμένο και ότι στην κανονική εκτέλεση εμφανίζεται η IP του ενδιάμεσου διακομιστή.
- Τερματίστε όλες τις υπάρχουσες και παρασκηνιακές διεργασίες του προγράμματος και εκκινήστε το ξανά.
- Χρησιμοποιήστε
curl -4ή άλλο έλεγχο IPv4, ώστε να μην μπερδέψετε το αποτέλεσμα με IPv6. - Ελέγξτε αν το πρόγραμμα μεταβιβάζει εντολές σε ξεχωριστή υπηρεσία ή σε ήδη ενεργό launcher. Η εξαίρεση εφαρμόζεται μόνο στο δέντρο διεργασιών που δημιουργεί το
mudfish-exclude. - Βεβαιωθείτε ότι η προεπιλεγμένη διαδρομή του
ip -4 route show default table mainδείχνει στην πραγματική διεπαφή Internet.
Το πρόγραμμα έκλεισε αλλά η εντολή στο τερματικό δεν τερματίζεται
Μπορεί να εκτελούνται ακόμη θυγατρικές ή παρασκηνιακές διεργασίες στο cgroup εξαίρεσης. Κλείστε και τα σχετικά εικονίδια της περιοχής ειδοποιήσεων, τους launchers και τις διεργασίες ενημέρωσης. Ο προεπιλεγμένος τρόπος εκτέλεσης περιμένει να τερματιστούν όλες οι θυγατρικές διεργασίες πριν αφαιρέσει την πολιτική.
Το δίκτυο δυσλειτουργεί μετά από απροσδόκητο τερματισμό
Κλείστε όλα τα προγράμματα που εκκινήθηκαν με αυτό το εργαλείο και αφαιρέστε την πολιτική που παρέμεινε.
sudo mudfish-exclude --cleanup
Αν το πρόβλημα συνεχιστεί, κλείστε το Mudfish, ελέγξτε την προεπιλεγμένη διαδρομή και τους κανόνες iptables του συστήματος και συνδεθείτε ξανά.
Τρόπος λειτουργίας
Το mudfish-exclude τοποθετεί το πρόγραμμα σε ξεχωριστό cgroup v2 και προσθέτει ένα mark iptables στα πακέτα IPv4 που παράγονται από αυτό το cgroup. Τα πακέτα με αυτό το mark οδηγούνται μέσω ξεχωριστού πίνακα δρομολόγησης βάσει πολιτικής στην προεπιλεγμένη διαδρομή που βρέθηκε στον πίνακα main του Linux. Εφαρμόζεται επίσης το απαραίτητο NAT MASQUERADE.
Η διαδικασία δεν τροποποιεί τις ρυθμίσεις ή την κατάσταση κοινόχρηστης μνήμης των mudrun, mudflow, mudfish και mudwfp_proxy. Η πολιτική εξαίρεσης λειτουργεί μόνο στα επίπεδα cgroup, iptables και δρομολόγησης IPv4 βάσει πολιτικής του λειτουργικού συστήματος.