Kết Nối Mạng LAN Của Người Khác Thông Qua Ssh Và Vtund - nói dối e blog

Kết Nối Mạng LAN Của Người Khác Thông Qua Ssh Và Vtund

Gần đây mình cần hỗ trợ đồng nghiệp ở văn phòng khác trong việc gỡ lỗi ứng dụng. Một số công việc thực hiện từ xa khá phức tạp, sau khi được sự đồng ý, mình quyết định kết nối trực tiếp vào mạng LAN của họ. Tuy nhiên việc xin cấp quyền VPN và chỉnh sửa cấu hình router bên kia khá rườm rà, nên mình đã tìm một phương pháp đơn giản hơn.

Đầu tiên, mình đã cấu hình NAT trên gateway của văn phòng mình để cho phép máy bên kia có thể ssh đến máy mình. Khi đọc tài liệu hướng dẫn của ssh, mình phát hiện ra openssh hỗ trợ tham số -w dùng để kết nối các thiết bị tun ở hai đầu. Tuy nhiên sau nhiều lần thử nghiệm không thành công, mình đành chuyển hướng tìm giải pháp khác.

Sau đó, mình cài đặt vtund. Máy bên kia khởi động vtund ở chế độ server, lắng nghe trên cổng mạng cụ thể. Đồng thời sử dụng lệnh ssh -R để ánh xạ cổng này về máy mình. Máy mình sau đó khởi động vtund ở chế độ client, kết nối đến cổng dịch vụ vtund đã được ánh xạ. Lúc này cả hai bên đều có thể kiểm tra thấy thiết bị tun0 thông qua lệnh ifconfig. Tuy nhiên do hệ thống khác nhau (một bên là freebsd, một bên là linux) nên cú pháp cấu hình tuyến đường điểm-điểm có chút khác biệt. Mình nhận thấy linux có phần phức tạp hơn trong việc thiết lập.

Tiếp theo, máy bên kia được cấu hình chuyển tiếp IP để đóng vai trò gateway. Máy mình xóa gateway mặc định cũ và thiết lập gateway mới là địa chỉ IP của vtun bên kia. Ngoài ra, cần thêm một quy tắc định tuyến đặc biệt để duy trì kết nối với gateway ban đầu thông qua IP của máy kia.

Khi hoàn tất các bước trên, máy mình đã có thể truy cập tự do vào mạng LAN của đối phương.

Lưu ý về bảo mật: Tài khoản nhận kết nối ssh từ máy kia được cấu hình đặc biệt. Trong file .ssh/authorized_keys, mình thiết lập permitopen chỉ cho phép kết nối đến cổng vtund, đồng thời dùng tùy chọn command để buộc chạy một script vòng lặp vô hạn nhằm ngăn chặn truy cập trái phép.

Phương pháp này nếu áp dụng ngược lại rất phù hợp khi làm việc trong môi trường không an toàn. Khi đó, bạn có thể ssh đến mạng đáng tin cậy của mình để thiết lập VPN trước, sau đó mới truy cập các tài nguyên mạng khác.

0%