Cách buộc tất cả các ứng dụng Linux sử dụng proxy SOCKS


1

Sử dụng Linux, tôi cần một cách để định tuyến tất cả lưu lượng truy cập mạng của giao diện enp2s0 thông qua SOCKS4 192.168.1.2:1080 (hoặc bất kỳ proxy SOCKS nào cho vấn đề đó) - một cái gì đó như Proxifier trong Windows. Proxy hoạt động tốt khi được đặt thủ công trong Chrome hoặc Firefox.

HĐH: Linux Mint 19.1

Những điều tôi đã thử:

  • Tôi đặt proxy theo cách thủ công trong cài đặt mạng, nhưng giống như tôi đã không đặt nó; Chrome vẫn kết nối trực tiếp. Đây là một ảnh chụp màn hình:

  • Proxychains đang hoạt động rất tốt, nhưng tôi phải tự khởi chạy từng ứng dụng từ thiết bị đầu cuối.

Tôi không biết cách sử dụng redsocks hoặc iptables (chưa).

Tôi hy vọng có một GUI như Proxifier cho Linux, nhưng giải pháp dựa trên thiết bị đầu cuối (CLI) vẫn ổn.


Bạn cũng đã xem Redsocks2 ( github.com/semigodking/redsocks ) chưa? Nó dường như được duy trì tích cực và tài liệu dễ theo dõi hơn Redsocks. Bạn đã xem xét các câu trả lời của Askubfox.com/a/513956/385961superuser.com/a/1122572/168962 , liên quan đến cài đặt gs dưới Gnome và các biến môi trường vỏ chung để ảnh hưởng đến chuyển hướng proxy dựa trên http?
Moreaki

Câu trả lời:


2

đối với người thiếu kiên nhẫn chỉ cần làm như sau; giả sử rằng proxy là example.com:7777và đó là vớ5 (thay đổi nó bằng chính bạn sau)

  • cài đặt đầu tiên redsocks sudo apt-get install redsocks

, tạo một tệp trống ở bất cứ đâu và đặt tên là redsocks.conf (hoặc bất cứ thứ gì), tôi sẽ giả sử nó ở đây /etc/redsocks.conf(thay đổi nó bằng của riêng bạn).

  • chỉnh sửa tệp bạn đã tạo (redsocks.conf) như sau
base {
 log_debug = on;
 log_info = on;
 log = "stderr";
 daemon = off;
 redirector = iptables;
}

redsocks {
    local_ip = 127.0.0.1;
    local_port = 12345;

    ip = example.com;
    port = 7777;
    type = socks5;
      // known types: socks4, socks5, http-connect, http-relay

    // login = username;
    // password = password;
        }

thay đổi example.com 7777với proxy của bạn, (lưu ý rằng bạn có thể sử dụng bất kỳ ứng dụng nào local_portkhác 12345, đó là cổng cục bộ mà chúng tôi sẽ đặt quy tắc iptable để chuyển hướng lưu lượng truy cập, vì vậy nếu bạn sử dụng một cái khác, hãy đảm bảo sử dụng nó trong các bước sau bên dưới)

- bây giờ chạy redsocks với đích tệp cấu hình như sau

sudo redsocks -c /etc/redsocks.conf

thay đổi với đích của redsocks.conf của bạn (nếu bạn nhận được "bind: Địa chỉ đã được sử dụng" thử killall redsocks), bạn cũng có thể kiểm tra xem redsocks có bị ràng buộc với cổng cục bộ 12345 vớinetstat -tulpn

- bây giờ khi redsocks đang chạy và sẵn sàng, hãy thay đổi quy tắc iptables để sử dụng redsocks. điều này nên được tùy chỉnh theo nhu cầu của bạn, nhưng nếu bạn muốn chuyển hướng tất cả các gói HTTP và HTTPS thông qua proxy. Xác định các quy tắc sau.

sudo iptables -t nat -N REDSOCKS

sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN

sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345

sudo iptables -t nat -A OUTPUT -p tcp --dport 443 -j REDSOCKS
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDSOCKS

sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS

bây giờ lưu lượng truy cập http và https của bạn sẽ được chuyển hướng qua example.com:7777

nếu bạn muốn thiết lập lại iptables của mình, hãy sử dụng:

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

Mẹo bổ sung: nếu bạn có vpn trên iphone hoặc Android, bạn có thể sử dụng miễn phí trong máy tính của mình cho dù hệ điều hành là gì. chỉ cần kết nối ứng dụng vpn trên điện thoại và thiết lập máy chủ proxy vớ (trong Android bạn có thể sử dụng ứng dụng 'server Ultimate') sau đó sử dụng proxy trong máy tính của bạn như trên, bây giờ tất cả lưu lượng máy tính của bạn được chuyển qua điện thoại vpn của bạn. khéo léo.


0

Bạn cần chuyển tiếp tất cả lưu lượng truy cập cục bộ bằng cách sử dụng iptables. Không biết bất kỳ chương trình GUI nào làm điều đó. Việc sử dụng của tôi iptablesbị giới hạn ở các tập lệnh được viết rất đơn giản để gọi nó để xây dựng bộ định tuyến, v.v. hoặc để thực hiện thiết lập tường lửa dựa trên máy chủ điển hình với ufw. Có một GUI cho ufw( gufw, hãy tưởng tượng điều đó) nhưng tôi chưa bao giờ sử dụng nó.

Câu hỏi / câu trả lời này (đóng cửa vì lạc đề) sẽ giúp bạn bắt đầu.

https://stackoverflow.com/questions/23180696/linux-iptables-redirect-out gửi-traffic-to-local-port


Chuyển hướng lưu lượng truy cập đến một cổng cục bộ sẽ không làm cho lưu lượng truy cập đó SOCKS.
Daniel B
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.