คู่มือผู้ใช้ mudfish-exclude
รองรับ mudfish-exclude ตั้งแต่ Mudfish Cloud VPN v6.5.4 หรือใหม่กว่า
mudfish-exclude เป็นเครื่องมือเรียกโปรแกรมที่กำหนดบน Linux โดยไม่ผ่านนโยบายเส้นทาง Mudfish
ใช้เมื่อต้องการให้ Mudfish ทำงานต่อ แต่ ให้บางโปรแกรม เช่น เบราว์เซอร์ โปรแกรมส่งข้อความ Launcher เกม หรือโปรแกรมอัปเดต ใช้เส้นทางอินเทอร์เน็ตปกติ
สภาพแวดล้อมที่รองรับ
mudfish-exclude ใช้ได้เฉพาะ Linux
ระบบต้องมีสิ่งต่อไปนี้
- Mudfish สำหรับ Linux
sudoหรือสิทธิ์ root- cgroup v2 ที่เมานต์ไว้ที่
/sys/fs/cgroup - คำสั่ง
ip iptables- เส้นทางเริ่มต้น IPv4
เครื่องมือนี้จัดการทราฟฟิก IPv4 เท่านั้น ทราฟฟิก IPv6 จะไม่ถูกยกเว้นจากเส้นทางด้วย mudfish-exclude
การใช้งานพื้นฐาน
เติม mudfish-exclude หน้าคำสั่งของโปรแกรมแล้วเรียกใช้
sudo mudfish-exclude firefox
ใส่อาร์กิวเมนต์ของโปรแกรมต่อท้ายชื่อโปรแกรมได้ตามเดิม
sudo mudfish-exclude firefox --private-window
sudo mudfish-exclude curl https://mudfish.net
หากมีอาร์กิวเมนต์มากหรือต้องการแบ่งให้ชัดเจน ให้ใส่โปรแกรมที่จะเรียกหลัง --
sudo mudfish-exclude -- firefox --private-window
แม้เรียกด้วย sudo โปรแกรมเป้าหมายโดยทั่วไปจะกลับไปทำงานด้วยสิทธิ์ผู้ใช้ปัจจุบัน โปรแกรม GUI จึงใช้โฮมไดเรกทอรี เซสชันเดสก์ท็อป และไฟล์ตั้งค่าปกติของผู้ใช้ แทนของ root ได้
การทำงานระหว่างเรียกใช้
เมื่อเริ่มคำสั่ง mudfish-exclude จะสร้างนโยบายเครือข่ายชั่วคราวเฉพาะคำสั่งนั้น ทราฟฟิกที่เกิดขึ้นจะถูกทำเครื่องหมายแล้วส่งผ่านเส้นทางเริ่มต้น IPv4 ปกติของระบบ
เมื่อคำสั่งจบ จะรอจนกลุ่มโปรเซสที่เกี่ยวข้องว่างแล้วลบกฎชั่วคราว
Mudfish ไม่ได้ถูกปิด โปรแกรมอื่นยังทำงานตามการตั้งค่า Mudfish เดิม
ตัวอย่างการใช้งาน
เรียก Firefox โดยไม่ผ่าน Mudfish:
sudo mudfish-exclude firefox
เรียก Discord โดยไม่ผ่าน Mudfish:
sudo mudfish-exclude discord
เรียก Steam โดยไม่ผ่าน Mudfish:
sudo mudfish-exclude steam
ดาวน์โหลดผ่านบรรทัดคำสั่งโดยไม่ผ่าน Mudfish:
sudo mudfish-exclude wget https://example.com/file.zip
ตั้งค่าและล้างนโยบายด้วยตนเอง
โดยทั่วไปไม่จำเป็น เพราะ mudfish-exclude ตั้งค่าและล้างนโยบายให้อัตโนมัติ
หากต้องการสร้างนโยบายครั้งเดียวแล้วใช้กับหลายโปรแกรม ทำได้ดังต่อไปนี้
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup firefox
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --cleanup
หลังใช้โหมดตั้งค่าด้วยตนเอง ต้องเรียก --cleanup เพื่อล้างนโยบาย
ตัวเลือกขั้นสูง
ผู้ใช้ส่วนใหญ่ใช้ค่าเริ่มต้นได้เลย
| ตัวเลือก | หน้าที่ | ค่าเริ่มต้น |
|---|---|---|
--cgroup NAME | ชื่อ cgroup v2 สำหรับโปรแกรมที่ยกเว้น | mudfish-exclude |
--mark VALUE | ค่า firewall mark | 0x6d660001 |
--priority VALUE | ลำดับความสำคัญของกฎ IPv4 | 8252 |
--table VALUE | หมายเลขตารางเส้นทาง IPv4 | 8252 |
--setup | สร้างนโยบายแล้วจบการทำงาน | ปิด |
--cleanup | ลบนโยบายแล้วจบการทำงาน | ปิด |
--no-setup | เข้าสู่นโยบายที่สร้างไว้แล้วเรียกคำสั่ง | ปิด |
เปลี่ยนเฉพาะเมื่อค่า mark ลำดับความสำคัญ หรือตารางเริ่มต้นชนกับเครื่องมือเครือข่ายอื่น หรือได้รับคำแนะนำจากทีมสนับสนุน Mudfish
ตัวอย่าง:
sudo mudfish-exclude --table 9000 --priority 9000 firefox
ข้อควรระวังเมื่อใช้โปรแกรม GUI
โปรแกรมเดสก์ท็อปบางตัวใช้โปรเซสที่ทำงานอยู่แล้ว เช่น หากเบราว์เซอร์เปิดอยู่ การเรียก sudo mudfish-exclude firefox อาจเพียงขอให้เบราว์เซอร์เดิมเปิดหน้าต่างใหม่ กรณีนี้โปรเซสเดิมอาจไม่ได้อยู่ในขอบเขตยกเว้น
วิธีที่แนะนำ:
- ปิดโปรแกรมให้หมด แล้วเรียกใหม่ผ่าน
mudfish-exclude - หากต้องใช้ทั้งเส้นทาง Mudfish และเส้นทางยกเว้นในเบราว์เซอร์พร้อมกัน ให้ใช้โปรไฟล์แยก
- เรียกคำสั่งของโปรแกรมจริง แทนการเรียกเฉพาะทางลัดบนเดสก์ท็อป
แก้ไขปัญหา
network policy setup requires root
เติม sudo หน้าคำสั่งแล้วเรียกใช้
sudo mudfish-exclude firefox
cgroup v2 is required at /sys/fs/cgroup
ระบบ Linux ไม่ได้ใช้ cgroup v2 ในตำแหน่งที่คาดไว้ เปลี่ยนการตั้งค่าระบบให้ใช้ cgroup v2 หรือใช้ดิสทริบิวชันที่เปิด cgroup v2 โดยค่าเริ่มต้น
failed to find the IPv4 default route
ระบบไม่มีเส้นทางเริ่มต้น IPv4 ที่ใช้ได้ ตรวจสอบก่อนว่าการเชื่อมต่ออินเทอร์เน็ตปกติทำงาน
แอปยังดูเหมือนใช้ Mudfish อยู่
ปิดแอปให้หมด แล้วเรียกใหม่ผ่าน mudfish-exclude โดยเฉพาะโปรแกรมที่มีโปรเซสเบื้องหลัง เช่น เบราว์เซอร์ Launcher เกม หรือโปรแกรมส่งข้อความ