Định tuyến tất cả proxy thông qua lưu lượng truy cập bằng ssh -D


9

Có cách nào dễ dàng để định tuyến tất cả lưu lượng truy cập thông qua proxy ssh với -D không?

Tôi có thể định cấu hình các ứng dụng cụ thể riêng lẻ để thực hiện việc này, nhưng tôi muốn một cấu hình định tuyến tất cả lưu lượng truy cập trên máy. Cảm ơn bạn đã giúp đỡ!


Quên nói rằng tôi đã ở trên linux rất có ý tưởng, một cái gì đó mà tôi có thể định tuyến bằng iptables.
grm

Câu trả lời:


10

Trong Linux:

  1. iptables -t nat -A ĐẦU RA! -d 127.0.0.0/8 -j GIẢM GIÁ - đến 1081
  2. Chạy chương trình nghe 1081, lấy địa chỉ đích thực tế, không được chuyển hướng, đàm phán với máy chủ SOCKS và chuyển tiếp.

Tôi đã viết chương trình như vậy để sử dụng riêng trong Perl (chất lượng nguyên mẫu) và viết một phiên bản tốt hơn trong C. Nó chưa được xuất bản.

Cập nhật: hiện đã được xuất bản: http://github.com/vi/socksredirect/ Sử dụng nguyên mẫu.pl. Gửi cho tôi một số thông báo nếu bạn quan tâm đến việc phát triển phiên bản tốt hơn.

Cập nhật 2 Tạo phiên bản tốt hơn một chút của nó: http://github.com/vi/tcpsocks và bản vá cho Socat 2: http://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PS Hầu hết lưu lượng truy cập của tôi (và đôi khi là một số hàng xóm) hiện đi qua tcpsocks-> ssh.


Dự án rất thú vị Vi. Cảm ơn! Tôi sẽ cung cấp cho một cái nhìn này.
grm

Bạn có thể nên sử dụng nhiều quy tắc iptables hơn để chọn lưu lượng truy cập nào bạn muốn được kết nối. Tôi sử dụng "iptables -t nat -A OUTPUT -j QQQ", sau đó bó "iptables -t nat -A QQQ <checks> -j RETURN" và cuối cùng là "iptables -t nat -A QQQ -p tcp -j GIẢM GIÁ - -đến 1234 ".
Vi.

Cảm ơn bạn! Tôi đã tự hỏi nếu điều này là có thể làm được, nó có trong danh sách các ý tưởng dự án của tôi để thử đôi khi.
Tobu

@Tobu, tôi đã thực hiện điều này nhiều hơn: bây giờ có bản vá Socat ( github.com/vi/socksredirect/blob/master/ mẹo ) cho chương trình này và cả chương trình tcpsocks nhẹ ( github.com/vi/tcpsocks )
Vi .

1
@Tanmay, Với một thiết bị điều chỉnh, bạn sẽ chỉ thấy các gói TCP và sẽ rất khó để giải mã chúng thành một luồng byte (bạn sẽ cần một cái gì đó như slirp). với REDIRECT hoặc TPROXY chỉ cần sử dụng thông thường recvsẽ cung cấp cho bạn dữ liệu được giải mã mà không cần các tiêu đề TCP.
Vi.


2

Có lẽ bạn nên xem xét việc thiết lập VPN thay thế.


Điều đó có yêu cầu nhiều quyền truy cập hơn ở phía cổng không?
grm

Tôi đã thiết lập máy chủ VPN (poptop) tại nhà trên Ubuntu. Và tại nơi làm việc, tôi chỉ sử dụng máy khách VPN dựng sẵn trong các cửa sổ để kết nối với nó. Không bận tâm quản trị mạng của tôi hoặc bất cứ điều gì.
Espennilsen

1

Tôi không nghĩ có cách nào để làm điều này, nhưng có lẽ bạn có thể thử các chương trình như FreeCap (windows, VớCap (windows) hoặc proxychains (linux). Những chương trình này có thể giúp bạn một chút.


0

Phụ thuộc vào hệ điều hành bạn đang sử dụng. Nếu bạn đang ở trên MacOS, có các cài đặt Proxy toàn cầu nên được sử dụng bởi mọi Ứng dụng, mặc dù có một số người không tôn trọng chúng (Firefox tức là).


Với MacOS nói riêng, việc tin tưởng các cài đặt proxy toàn cầu cần phải được xác minh.
chiggsy

-1

Bạn cũng có thể sử dụng một cái gì đó như Proxifier ( http://www.proxifier.com/ ) cho cả Mac hoặc Windows.

Mặc dù điều này không thực sự trả lời câu hỏi của bạn.


câu trả lời không đúng lúc
Alex H
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.