Cần có thêm thông tin về thiết lập mạng của bạn để trả lời đầy đủ điều này, vì vậy tôi sẽ đưa ra một vài giả định ở đây. Bạn cần điều chỉnh câu trả lời cho trường hợp của mình.
Câu hỏi đầu tiên là: bạn nói rằng bạn có kết nối ssh từ VM1 đến VM2. Bạn có không chỉ có kết nối ssh hay bạn có kết nối mạng đầy đủ, thường xuyên giữa VM1 và VM2 không? Nếu bạn có kết nối đầy đủ, bạn không cần sử dụng đường hầm ssh cho proxy, nó chỉ làm mọi thứ trở nên phức tạp hơn.
Giả sử tại thời điểm này bạn có một kết nối đầy đủ và địa chỉ IP VM1 của bạn là 192.168.1.100
và địa chỉ IP VM2 của bạn là 192.168.1.200
. Bạn nên định cấu hình proxy trên VM1 để nghe chẳng hạn trên cổng 3128 (đó thường là số cổng phổ biến được sử dụng cho proxy, mặc dù bạn có thể sử dụng bất kỳ số cổng không sử dụng nào) và định cấu hình VM2 để sử dụng proxy 192.168.1.100:3128
. Đó là cơ bản tất cả.
Nếu bạn chỉ có kết nối ssh (ví dụ: có tường lửa giữa hai máy ảo chỉ truyền lưu lượng ssh), bạn cần chuyển tiếp cổng qua kết nối ssh. Giả sử bạn vẫn đang chạy proxy trên VM1 trên cổng 3128 và bạn đang kết nối qua ssh từ VM1 đến VM2 (như bạn đã viết trong câu hỏi của mình). Trong trường hợp đó, bạn cần sử dụng lệnh sau trên VM1 để kết nối với VM2:
ssh -R 3128:localhost:3128 192.168.1.200
Sau khi thiết lập kết nối, bạn có thể đặt VM2 sử dụng proxy tại máy chủ cục bộ:3128
.
Bạn cũng có thể kết nối theo cách khác, tức là. từ VM2 đến VM1, sử dụng lệnh (trên VM2):
ssh -L 3128:localhost:3128 192.168.1.100
Tương tự, sau khi kết nối được thiết lập, hãy đặt VM2 sử dụng proxy tại máy chủ cục bộ:3128
.