Một proxy chặn bắt cục bộ mở các kết nối gửi ra mới. Nếu một chuyển hướng OUTPUT toàn diện cũng bắt lấy các socket đó, nó sẽ gửi proxy trở lại trình lắng nghe của chính nó.

Với thiết lập IPv4 iptables NAT hiện có, một danh tính dịch vụ chuyên dụng có thể phân biệt các socket đó:

-A OUTPUT -p tcp -m owner ! --uid-owner proxyuser \
  -m multiport --dports 80,443 -j REDIRECT --to-ports 8080

Đoạn quy tắc này giả định trình lắng nghe có khả năng chặn bắt đã tồn tại trên cổng 8080 và các socket gửi ra của proxy thuộc về proxyuser. Các kết nối của người dùng đó bị loại trừ khỏi quy tắc này; các kết nối đủ điều kiện từ người dùng khác được chuyển hướng.

Trình duyệt thường chọn một cổng nguồn tạm thời. Việc khớp cổng nguồn 80 hoặc 443 không phải là cách đáng tin cậy để nhận ra các kết nối trang web của nó hoặc miễn trừ proxy.

Việc khớp chủ sở hữu liên quan đến lưu lượng được tạo cục bộ với quyền sở hữu socket. Nó không thay thế chính sách địa chỉ nguồn cho các gói đến từ máy khác.

Hãy để ý thứ tự quy tắc hiện có và chính sách mạng. Chuyển hướng không biến một trình lắng nghe SOCKS thô thành bộ chuyển đổi chặn bắt, và IPv6 cũng cần cấu hình phù hợp của nó.

Bài viết liên quan