mudfish-exclude kullanıcı kılavuzu
Bu program yalnızca Mudfish Cloud VPN 6.5.4 veya üzeri sürümlerde kullanılabilir.
mudfish-exclude, Linux için Mudfish'te belirli programları Mudfish rotasından hariç tutarak çalıştıran bir komut satırı aracıdır. Özellikle Full VPN kullanırken tarayıcı, mesajlaşma uygulaması, video oynatıcı veya indirme aracının trafiğini mevcut internet hattından doğrudan göndermek istediğinizde kullanılabilir.
일반 프로그램 -> 미꾸라지 경로 -> 중계 서버
mudfish-exclude 앱 -> 기존 기본 경로 -> 인터넷
Kaynak şemada normal program Mudfish rotası üzerinden aktarma sunucusuna, mudfish-exclude uygulaması ise mevcut varsayılan rota üzerinden internete gider.
Bu araç Mudfish panosuna ayar eklemez. Hariç tutacağınız programı normal komutu yerine mudfish-exclude ile başlatın.
Destek kapsamı: Şu anda yalnızca Linux ve IPv4 desteklenir. Windows, macOS ve Android'de kullanılamaz; IPv6 trafiğine ayrı bir atlama politikası uygulanmaz.
Gerekli ortam
Aşağıdaki koşulların tümü sağlanmalıdır.
- Linux için Mudfish kurulu olmalıdır.
- cgroup v2,
/sys/fs/cgroupkonumuna bağlanmış olmalıdır. ip,iptablesve iptables'ın cgroup eşleştirme özelliği kullanılabilir olmalıdır.- Politika yönlendirmesini ve güvenlik duvarı kurallarını ayarlamak için
sudoyetkisi gerekir. - Linux main yönlendirme tablosunda geçerli bir IPv4 varsayılan rotası bulunmalıdır.
Kurulan çalıştırılabilir dosya genellikle şuradadır. Korece yer tutucu Mudfish sürümünü belirtir.
/opt/mudfish/<미꾸라지 버전>/bin/mudfish-exclude
Mevcut kurulum yolunu şu komutla bulabilirsiniz.
ls /opt/mudfish/*/bin/mudfish-exclude
Dosya PATH içinde değilse aşağıdaki örneklerdeki mudfish-exclude yerine bulduğunuz tam yolu kullanın. Örneğin 6.5.4 sürümünün varsayılan yolu /opt/mudfish/6.5.4/bin/mudfish-exclude şeklindedir.
Temel kullanım
- Mudfish'i çalıştırıp istediğiniz öğeyi veya Full VPN modunu normal şekilde bağlayın.
- Hariç tutulacak program çalışıyorsa sistem tepsisi ve arka plan işlemleri dahil tamamen kapatın.
- Terminalden programı şu biçimde yeniden çalıştırın. Korece yer tutucular programı ve program seçeneklerini belirtir.
sudo mudfish-exclude <프로그램> [프로그램 옵션...]
Örneğin Discord'u Mudfish'ten hariç tutmak için:
sudo mudfish-exclude discord
Firefox'u hariç tutup özel pencere açmak için:
sudo mudfish-exclude firefox --private-window
Çalıştırılabilir dosyanın yolunda boşluk varsa tırnak içine alın.
sudo mudfish-exclude "/path/to/My Program" --option
sudo, ağ politikasını ayarlamak için kullanılır. sudo mudfish-exclude ... ile başlatılan programın kendisi, mümkün olduğunda sudo çağrısını yapan asıl kullanıcının UID, GID, ev dizini ve masaüstü oturumu ortamıyla çalıştırılır.
Bilmeniz gerekenler
- Hariç tutma politikası
mudfish-excludeile yeni başlatılan işleme ve alt işlemlerine uygulanır. - Zaten çalışan bir programa sonradan politika eklenemez. Tek örnekli programın mevcut işlemi yeniden kullanmaması için önce tamamen kapatılmalıdır.
- Normal tek çalıştırma yönteminde program ve tüm alt işlemleri bittiğinde politika otomatik temizlenir.
- Birden fazla
mudfish-excludekomutunu aynı anda çalıştırabilirsiniz. Ortak politika son hariç tutulan program kapandıktan sonra temizlenir. - Hariç tutulan programın IPv4 trafiği Mudfish aktarma sunucularını, hızlandırma işlevlerini ve bu rotanın genel IP adresini kullanmaz.
Çalıştığını doğrulama
Full VPN bağlantısından önceki genel IPv4 adresi ile Full VPN aktarma sunucusunun genel IPv4 adresi farklıysa doğrulama en kolay şekilde yapılır.
Önce Full VPN bağlıyken normal terminalde adresi kontrol edin.
curl -4 https://myip.mudfish.net
Aynı komutu mudfish-exclude ile çalıştırın.
sudo mudfish-exclude curl -4 https://myip.mudfish.net
İlk sonuç Mudfish aktarma sunucusu tarafındaki adresi, ikinci sonuç mevcut internet hattının adresini göstermelidir. -4, aracın destek kapsamına uygun olarak yalnızca IPv4 ile test etmek içindir.
Tarayıcıyla kontrol ederken tarayıcıyı tamamen kapatın, aşağıdaki gibi çalıştırın ve https://myip.mudfish.net adresine gidin.
sudo mudfish-exclude firefox
Çıkış ve politika temizliği
Normal çıkışta ayrı bir temizleme komutu gerekmez. Ancak mudfish-exclude işlemi zorla sonlandırılırsa, terminal beklenmedik şekilde kapanırsa veya sistem durursa politika kalabilir.
Önce bu araçla başlattığınız tüm programları kapatın, ardından şu komutu çalıştırın.
sudo mudfish-exclude --cleanup
Hariç tutulan programlar çalışırken
--cleanupkullanmak, bu programların atlama işlevini hemen durdurabilir.
Komut seçenekleri
Aşağıdaki kaynak sözdizimi, seçeneklerden sonra programın ve program seçeneklerinin yazılacağını belirtir.
사용법: mudfish-exclude [옵션] 프로그램 [프로그램 옵션...]
| Seçenek | Açıklama |
|---|---|
-h, --help | Yardımı yazdırır. |
--setup | Yalnızca hariç tutma ağ politikasını ayarlar ve çıkar. Bir programla birlikte belirtilemez. |
--cleanup | Hariç tutma ağ politikasını kaldırır ve çıkar. Bir programla birlikte belirtilemez. |
--no-setup | Mevcut politikayı yeniden ayarlamadan belirtilen cgroup'a girip programı çalıştırır. |
--cgroup NAME | Kullanılacak cgroup v2 adını belirler. Varsayılan mudfish-exclude değeridir. |
--mark VALUE | Paketlerin güvenlik duvarı mark değerini belirler. Varsayılan 0x6d660001 değeridir. |
--priority VALUE | IPv4 politika kuralı önceliğini belirler. Varsayılan 8252 değeridir. |
--table VALUE | Mevcut varsayılan rotayı tutacak yönlendirme tablosunun numarasını belirler. Varsayılan 8252 değeridir. |
Seçeneklerin yorumlanmasını açıkça bitirmek için programı -- sonrasına yazabilirsiniz.
sudo mudfish-exclude -- firefox --private-window
Politikayı birden fazla programda yeniden kullanma
Normal kullanıcılar için her programı tek seferde başlatma yöntemi önerilir. Politikayı elle bir kez ayarlayıp birden fazla komutta kullanmanız gerekiyorsa şu sırayı izleyebilirsiniz.
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Tüm programları kapattıktan sonra politikayı mutlaka temizleyin.
sudo mudfish-exclude --cleanup
Elle yöntemde otomatik temizlik yapılmaz. Ayrıca bazı masaüstü programları çalışırken systemd'nin başka bir cgroup'una geçebilir. Bu programlarda cgroup geçişini izleyen ve otomatik temizlik yapan varsayılan tek çalıştırma yöntemi daha uygundur.
--cgroup, --mark, --priority veya --table değerlerini değiştirdiyseniz --setup, --no-setup ve --cleanup için aynı değerleri kullanmalısınız. Özel değerler mevcut güvenlik duvarı mark değerleriyle veya politika yönlendirme kurallarıyla çakışmamalıdır.
Sorun giderme
mudfish-exclude: command not found
Çalıştırılabilir dosya PATH içinde değildir. Şu komutla konumunu bulun ve tam yoluyla çalıştırın.
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
İkinci komuttaki sürüm numarasını kurulu sürüme göre değiştirin.
network policy setup requires root
Ağ politikasını ayarlama yetkiniz yoktur. Komutun başına sudo ekleyerek tekrar çalıştırın.
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
Sistem cgroup v2 kullanmıyor veya belirtilen konuma bağlamamış. Şu komutla kontrol edebilirsiniz. Komuttaki Korece mesaj “cgroup v2 kullanılabilir” anlamındadır.
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 사용 가능"
Hiçbir çıktı yoksa dağıtımınızda cgroup v2'yi etkinleştirme yöntemini kontrol etmelisiniz.
iptables rule add failed veya cgroup eşleştirme hatası
iptables kurulu mu ve çekirdek ile iptables cgroup eşleştirmeyi destekliyor mu kontrol edin. nftables tabanlı dağıtımlarda bile araç doğrudan iptables uyumluluk komutlarını kullandığından çalışan bir iptables uyumluluk katmanı gerekir.
failed to find the IPv4 default route
main yönlendirme tablosunda mevcut internet hattının IPv4 varsayılan rotası bulunamadı. Şu komutun çıktısında default rotası olup olmadığını kontrol edin.
ip -4 route show default table main
Varsayılan rota yoksa veya zaten başka bir VPN arayüzünü gösteriyorsa mudfish-exclude asıl internet yolunu yapılandıramaz.
Hariç tutulmasına rağmen genel IP değişmiyor
Şu sırayla kontrol edin.
- Full VPN'in gerçekten bağlı olduğunu ve normal çalıştırmada aktarma sunucusunun IP'sinin göründüğünü doğrulayın.
- Hedef programın mevcut ve arka plan işlemlerini tamamen kapatıp yeniden çalıştırın.
- IPv6 sonuçlarıyla karıştırmamak için
curl -4veya başka bir IPv4 kontrol yöntemi kullanın. - Hedef programın komutları ayrı bir hizmete veya zaten çalışan bir başlatıcıya aktarıp aktarmadığını kontrol edin. Politika yalnızca
mudfish-excludetarafından yeni oluşturulan işlem ağacına uygulanır. ip -4 route show default table mainçıktısındaki varsayılan rotanın gerçek internet arayüzünü gösterdiğini kontrol edin.
Program kapandı ama terminal komutu bitmiyor
Alt veya arka plan işlemleri hariç tutma cgroup'unda hâlâ çalışıyor olabilir. İlgili sistem tepsisi simgelerini, başlatıcıları ve güncelleme işlemlerini de kapatın. Varsayılan yöntem tüm alt işlemler bitene kadar bekler, sonra politikayı temizler.
Beklenmedik kapanmadan sonra ağda sorun var
Bu araçla başlattığınız tüm programları kapatıp kalan politikayı temizleyin.
sudo mudfish-exclude --cleanup
Sorun sürerse Mudfish'i kapatın, sistemin varsayılan rotasını ve iptables kurallarını kontrol edin, ardından yeniden bağlanın.
Çalışma ilkesi
mudfish-exclude, çalıştırılacak programı ayrı bir cgroup v2'ye yerleştirir ve bu cgroup'un IPv4 paketlerine iptables mark değeri ekler. Bu işareti taşıyan paketler ayrı bir politika yönlendirme tablosuyla Linux main tablosunda bulunan varsayılan rotaya iletilir ve gerekli NAT MASQUERADE uygulanır.
Bu işlem mudrun, mudflow, mudfish veya mudwfp_proxy ayarlarını ya da paylaşılan bellek durumunu değiştirmez. Hariç tutma politikası yalnızca işletim sisteminin cgroup, iptables ve IPv4 politika yönlendirme katmanlarında çalışır.