Chuyển đến nội dung chính

Hướng dẫn sử dụng mudfish-exclude

Thông tin

mudfish-exclude được hỗ trợ từ Mudfish Cloud VPN v6.5.4 trở lên.

mudfish-exclude là công cụ chạy chương trình được chỉ định ngoài chính sách định tuyến Mudfish trên Linux.

Dùng khi muốn giữ Mudfish chạy nhưng cho các chương trình cụ thể như trình duyệt, ứng dụng nhắn tin, launcher trò chơi hoặc trình cập nhật sử dụng đường Internet thông thường.

Môi trường hỗ trợ​

mudfish-exclude chỉ dành cho Linux.

Hệ thống cần có:

  • Mudfish cho Linux
  • sudo hoặc quyền root
  • cgroup v2 được gắn tại /sys/fs/cgroup
  • Lệnh ip
  • iptables
  • Tuyến IPv4 mặc định

Công cụ xử lý lưu lượng IPv4. Lưu lượng IPv6 không được mudfish-exclude chuyển ra ngoài tuyến Mudfish.

Cách dùng cơ bản​

Chạy chương trình với mudfish-exclude đặt ở phía trước.

sudo mudfish-exclude firefox

Đặt các đối số của chương trình sau tên chương trình như bình thường.

sudo mudfish-exclude firefox --private-window
sudo mudfish-exclude curl https://mudfish.net

Nếu có nhiều đối số hoặc muốn phân tách rõ ràng, đặt chương trình cần chạy sau --.

sudo mudfish-exclude -- firefox --private-window

Dù chạy bằng sudo, chương trình đích thường được hạ về quyền người dùng hiện tại. Vì vậy, ứng dụng GUI có thể dùng thư mục nhà, phiên desktop và tệp cấu hình thông thường thay vì cấu hình của root.

Hoạt động khi chạy​

Khi bắt đầu lệnh, mudfish-exclude tạo chính sách mạng tạm thời chỉ áp dụng cho lệnh đó. Lưu lượng phát sinh được đánh dấu rồi gửi qua tuyến IPv4 mặc định thông thường của hệ thống.

Khi lệnh kết thúc, công cụ chờ nhóm tiến trình liên quan không còn tiến trình nào rồi xóa các quy tắc tạm thời.

Mudfish vẫn chạy. Các chương trình khác tiếp tục hoạt động theo cấu hình Mudfish hiện có.

Ví dụ sử dụng​

Chạy Firefox ngoài Mudfish:

sudo mudfish-exclude firefox

Chạy Discord ngoài Mudfish:

sudo mudfish-exclude discord

Chạy Steam ngoài Mudfish:

sudo mudfish-exclude steam

Tải xuống bằng dòng lệnh ngoài Mudfish:

sudo mudfish-exclude wget https://example.com/file.zip

Thiết lập và dọn dẹp thủ công​

Thông thường không cần, vì mudfish-exclude tự thiết lập và dọn dẹp chính sách.

Nếu cần tạo chính sách một lần rồi chạy nhiều chương trình với cùng chính sách, có thể dùng như sau.

sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup firefox
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --cleanup

Sau khi dùng chế độ thiết lập thủ công, phải chạy --cleanup để dọn dẹp.

Tùy chọn nâng cao​

Hầu hết người dùng có thể giữ nguyên giá trị mặc định.

Tùy chọnMục đíchMặc định
--cgroup NAMETên cgroup v2 dành cho chương trình cần loại trừmudfish-exclude
--mark VALUEGiá trị mark tường lửa0x6d660001
--priority VALUEĐộ ưu tiên quy tắc IPv48252
--table VALUESố bảng định tuyến IPv48252
--setupTạo chính sách rồi thoátTắt
--cleanupXóa chính sách rồi thoátTắt
--no-setupVào chính sách đã tạo và chạy lệnhTắt

Chỉ thay giá trị mark, độ ưu tiên hoặc bảng mặc định khi xung đột với công cụ mạng khác hoặc theo hướng dẫn của đội hỗ trợ Mudfish.

Ví dụ:

sudo mudfish-exclude --table 9000 --priority 9000 firefox

Lưu ý khi dùng ứng dụng GUI​

Một số ứng dụng desktop tái sử dụng tiến trình đang chạy. Ví dụ, nếu trình duyệt đã mở, chạy sudo mudfish-exclude firefox có thể chỉ yêu cầu trình duyệt cũ mở thêm cửa sổ. Khi đó, tiến trình trình duyệt hiện có có thể không được loại trừ.

Khuyến nghị:

  • Thoát hoàn toàn chương trình rồi chạy lại bằng mudfish-exclude.
  • Nếu cần dùng đồng thời tuyến Mudfish và tuyến loại trừ trong trình duyệt, hãy dùng hồ sơ riêng.
  • Chạy lệnh của chương trình thực tế, không chỉ mở lối tắt desktop.

Khắc phục sự cố​

network policy setup requires root​

Thêm sudo trước lệnh rồi chạy.

sudo mudfish-exclude firefox

cgroup v2 is required at /sys/fs/cgroup​

Hệ thống Linux không dùng cgroup v2 tại vị trí mong đợi. Hãy thay cấu hình hệ thống để dùng cgroup v2, hoặc sử dụng bản phân phối Linux có sẵn cgroup v2 theo mặc định.

failed to find the IPv4 default route​

Hệ thống không có tuyến IPv4 mặc định khả dụng. Trước tiên, kiểm tra kết nối Internet thông thường có hoạt động không.

Ứng dụng có vẻ vẫn dùng Mudfish​

Thoát hoàn toàn ứng dụng rồi chạy lại qua mudfish-exclude. Điều này đặc biệt quan trọng với trình duyệt, launcher trò chơi và ứng dụng nhắn tin duy trì tiến trình nền.

Quy tắc mạng còn sót sau khi dừng bất thường​

Dọn dẹp thủ công.

sudo mudfish-exclude --cleanup

Nếu đã tự thay các giá trị --mark, --priority, --table và --cgroup, phải chỉ định cùng giá trị cho --cleanup.

Tóm tắt lệnh nhanh​

sudo mudfish-exclude COMMAND [ARGS...]
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup COMMAND [ARGS...]
sudo mudfish-exclude --cleanup