Sự khác biệt giữa chuyển tiếp cổng địa phương của Cameron và chuyển tiếp cổng động


13

Tôi đang cố gắng tìm hiểu sự khác biệt giữa "chuyển tiếp cổng cục bộ" và "chuyển tiếp cổng động".

Trong lệnh ssh cho "chuyển tiếp cổng cục bộ", có phải luôn luôn chỉ định máy chủ đích không?

"Động" trong "chuyển tiếp cổng động" có nghĩa là, trong lệnh ssh cho "chuyển tiếp cổng động", không cần chỉ định máy chủ đích? nếu có, khi nào đích đến được chỉ định?


Câu trả lời:


15

Có, bạn phải chỉ định IP và cổng đích khi sử dụng chuyển tiếp cục bộ. Từ man ssh:

 -L [bind_address:]port:host:hostport
         Specifies that the given port on the local (client) host is to be
         forwarded to the given host and port on the remote side.

Rõ ràng, chỉ có địa chỉ liên kết là tùy chọn.

Không, bạn không thể chỉ định máy chủ đích hoặc cổng khi sử dụng chuyển tiếp động. Trong chuyển tiếp động, SSH hoạt động như một proxy SOCKS. Một lần nữa từ trang chủ (nhấn mạnh của tôi):


 -D [bind_address:]port
         Specifies a local “dynamic” application-level port forwarding.
         This works by allocating a socket to listen to port on the local
         side, optionally bound to the specified bind_address.  Whenever a
         connection is made to this port, the connection is forwarded over
         the secure channel, and the application protocol is then used to
         determine where to connect to from the remote machine.  Currently
         the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
         as a SOCKS server.

Với -L, SSH không cố gắng để hiểu lưu lượng. Nó chỉ gửi mọi thứ nó nhận được trên cổng cục bộ đến cổng đích - bạn xác định cổng đích tại thời điểm kết nối được thực hiện. Với -D, SSH hoạt động như một máy chủ proxy và do đó có thể xử lý các kết nối từ nhiều cổng (ví dụ: trình duyệt được định cấu hình để sử dụng làm proxy SOCKS sau đó có thể truy cập HTTP, HTTPS, FTP, v.v. qua cùng một kết nối). Và giống như với các máy chủ proxy khác, nó sẽ sử dụng lưu lượng để xác định đích.


1
Cảm ơn, thầy! Tôi tự hỏi tại sao chuyển tiếp động được gọi là proxy, trong khi chuyển tiếp cục bộ thì không? Theo định nghĩa, máy chủ ssh, máy khách ssh hoặc cả hai trong chuyển tiếp cục bộ là proxy (máy chủ)? unix.stackexchange.com/a/234184/674
Tim

1
@Tim một máy chủ proxy hiểu giao thức mà nó được ủy quyền. Với cổng chuyển tiếp, SSH không cố gắng hiểu những gì đang đến giao thức theo cách của mình, nhưng với -D, nó đến, để hiểu nơi để gửi dữ liệu.
muru

Cảm ơn. Tôi đã tìm kiếm trong một số sách giáo khoa của các mạng máy tính (ví dụ: Tanenbaum) để tìm định nghĩa cho một proxy (máy chủ) rõ ràng như của bạn, nhưng không hài lòng. Bạn có một số cuốn sách để giới thiệu cho các khái niệm học tập?
Tim

Trong chuyển tiếp cổng động, máy chủ proxy, máy khách ssh, máy chủ ssh hoặc cả hai?
Tim

@Tim Tanenbaum's là cuốn sách duy nhất tôi học. Phần còn lại đến từ việc sử dụng mọi thứ.
muru

0

Một cách khác để tìm hiểu khái niệm này là xem xét cách khách hàng kết nối với cụm giảm bản đồ đàn hồi (EMR) của amazon. EMR có một loạt các ứng dụng cục bộ mà nó hiển thị và chúng thường được truy cập thông qua các đường hầm SSH.

Có 2 tùy chọn cho máy khách: A) Lệnh SSH chuyển tiếp cổng cục bộ: ssh -i key.pem -L 8157: abcd: 8088 hadoop @ abcd

Ở đây, khách hàng nói ví dụ, 8157 trên localhost được chuyển tiếp đến abcd: 8088 Khách hàng phải gửi yêu cầu đến localhost: http: // localhost: 8157 Các ứng dụng khác có thể nghe trên các cổng như 8089,8090 và khách hàng phải thực hiện các kết nối ssh cho mỗi một trong số này.

B) Chuyển tiếp cổng động Ở đây một lệnh SSH được sử dụng: ssh -i key.pem -D 8157 hadoop @ abcd

Bất kỳ lưu lượng truy cập vào cổng 8157 sẽ được chuyển qua đường hầm ssh. Đích của lưu lượng sẽ là đích của URL. Ví dụ: bạn có thể sử dụng máy khách proxy trên máy chủ web của mình và chuyển hướng một số http URI để sử dụng proxy. Bạn có thể truy cập tất cả các ứng dụng của mình trên 8089,8090 thông qua một lệnh duy nhất.

Để tham khảo, hãy xem tài liệu này: https://docs.aws.amazon.com/emr/latest/ManloymentGuide/emr-web-interfaces.html

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.