Làm cách nào tôi có thể chỉ định một cổng cục bộ khi thiết lập kết nối SSH?


12

Tôi có hai máy chủ được lưu trữ trong IDC. Tôi chỉ có thể sử dụng các cổng 20/21/22/23/339 / 33101-33109 để thiết lập kết nối giữa hai máy chủ. Thiết bị mạng IDC sẽ chặn bất kỳ gói tin nào khác có cổng nguồn hoặc cổng đích không nằm trong danh sách / phạm vi 20/21/22/23/80/339 / 33101-33109. Nhưng cổng nguồn của SSH là ngẫu nhiên.

Sử dụng lệnh người ta có thể dễ dàng chỉ định một cổng từ xa.ssh username@server -p remote_port

Vì vậy, có một sshtham số lệnh hoặc một số cách khác để chỉ định một cổng nguồn cục bộ để tôi có thể sử dụng, ví dụ, cổng 33101 để thiết lập kết nối SSH?

Cấu trúc liên kết mạng của tôi là như thế này:
cấu trúc mạng

Câu trả lời:



2

Đối với một lần, hoặc dù sao, thỉnh thoảng, tình huống phương pháp ProxyCommand dễ dàng là một cách rất thuận tiện.

Mặt khác, nếu bạn cần một số kết nối đồng thời hoặc khi có lẽ bạn cần sử dụng lệnh đó thường xuyên cho công việc hàng ngày, thay vào đó, bạn cũng có thể xem xét để đặt quy tắc dịch địa chỉ mạng (NAT) trên máy chủ của mình.

Điều này yêu cầu siêu người dùng (thường root) truy cập trên máy chủ của bạn để áp dụng quy tắc NAT duy nhất trước tiên. Lưu ý rằng nó có thể không được phép (hoặc hiệu quả) ở tất cả để áp dụng các quy tắc NAT, ngay cả khi bạn có quyền truy cập superuser, nếu "máy chủ" của bạn thực sự là một container (như một Docker một) thay vì một máy.

Nói về một hệ thống Linux điển hình với iptablesbộ phần mềm, quy tắc NAT để áp dụng trên máy chủ1 của bạn cho trường hợp mẫu của bạn có thể như sau:

iptables -t nat -I POSTROUTING -d <server2-ip-address> -p tcp --dport <server2-port> -j SNAT --to :33101-33109

Lệnh đó ra lệnh cho nhân Linux thực hiện bất kỳ kết nối nào tới cổng server2-port của server2-ip-address để đi ra ngoài bằng cách sử dụng một cổng nguồn được chọn trong phạm vi 33101-33109 có sẵn tại thời điểm đó.

Khi quy tắc đó được áp dụng, bạn kết nối với máy chủ2 chỉ với thông thường:

ssh username@server2 -p remote_port

và bạn có thể sử dụng cùng một sshlệnh này đồng thời bao nhiêu lần bạn cần, miễn là có các cổng có sẵn trong phạm vi được chỉ định trong quy tắc NAT.

Tuy nhiên, xin lưu ý rằng netstat(hoặc lệnh tương đương) chạy trên máy chủ của bạn báo cáo địa chỉ cục bộ của kết nối là số cổng nguồn không được sửa đổi , được chọn ngẫu nhiên, mặc dù lưu lượng truy cập thực tế được gửi đến máy chủ của bạn2 mang số cổng nguồn đã sửa đổi .

Để hoàn tác quy tắc NAT, lệnh này giống nhau ngoại trừ -Dtùy chọn thay cho -I.

Để áp dụng quy tắc NAT tự động khi khởi động tùy thuộc vào phân phối Linux bạn có trên máy chủ của mình và liệu nó có sẵn cấu hình tường lửa nào đó hay không.

Tôi không có kinh nghiệm với các hệ thống giống như BSD, nhưng tôi tin rằng có một sự tương đương.

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.