Hướng dẫn nhỏ này cho bạn biết cách gửi lưu lượng UDP qua SSH bằng các công cụ đạt tiêu chuẩn (ssh, nc, mkfifo) với hầu hết các hệ điều hành giống UNIX.
Thực hiện đường hầm UDP thông qua kết nối SSH
Từng bước Mở cổng chuyển tiếp TCP bằng kết nối SSH của bạn
Trên máy cục bộ (cục bộ) của bạn, kết nối với máy (máy chủ) ở xa bằng SSH, với tùy chọn -L bổ sung để SSH có cổng TCP chuyển tiếp:
local# ssh -L 6667:localhost:6667 server.foo.com
Điều này sẽ cho phép các kết nối TCP trên cổng số 6667 của máy cục bộ của bạn được chuyển tiếp đến cổng số 6667 trên server.foo.com thông qua kênh bảo mật. Thiết lập chuyển tiếp TCP sang UDP trên máy chủ
Trên máy chủ, chúng tôi mở một trình lắng nghe trên cổng TCP 6667 sẽ chuyển tiếp dữ liệu tới cổng UDP 53 của một IP được chỉ định. Nếu bạn muốn thực hiện chuyển tiếp DNS như tôi, bạn có thể lấy IP của máy chủ tên đầu tiên bạn sẽ tìm thấy trong /etc/resolv.conf. Nhưng trước tiên, chúng ta cần tạo ra một fifo. Fifo là cần thiết để có liên lạc hai chiều giữa hai kênh. Một ống vỏ đơn giản sẽ chỉ giao tiếp đầu ra tiêu chuẩn 'đầu ra tiêu chuẩn sang đầu vào tiêu chuẩn' bên phải.
server# mkfifo /tmp/fifo
server# nc -l -p 6667 < /tmp/fifo | nc -u 192.168.1.1 53 > /tmp/fifo
Điều này sẽ cho phép lưu lượng TCP trên cổng 6667 của máy chủ được chuyển tiếp đến lưu lượng UDP trên cổng 53.168.1.1 và phản hồi sẽ quay trở lại. Thiết lập chuyển tiếp UDP sang TCP trên máy của bạn
Bây giờ, chúng ta cần làm ngược lại với những gì đã được thực hiện trên máy cục bộ. Bạn cần quyền truy cập được mã hóa để ràng buộc cổng UDP 53.
local# mkfifo /tmp/fifo
local# sudo nc -l -u -p 53 < /tmp/fifo | nc localhost 6667 > /tmp/fifo
Điều này sẽ cho phép lưu lượng UDP trên cổng 53 của máy cục bộ được chuyển tiếp đến lưu lượng TCP trên cổng 6667 của máy cục bộ. Tận hưởng máy chủ DNS cục bộ của bạn :)
Như bạn có thể đoán bây giờ, khi một truy vấn DNS sẽ được thực hiện trên máy cục bộ, ví dụ trên cổng UDP cục bộ 53, nó sẽ được chuyển tiếp đến cổng TCP cục bộ 6667, sau đó đến cổng TCP 6667 của máy chủ, sau đó đến máy chủ DNS của máy chủ , Cổng UDP 53 của 192.168.1.1. Để tận hưởng các dịch vụ DNS trên máy cục bộ của bạn, hãy đặt dòng sau làm máy chủ tên đầu tiên trong /etc/resolv.conf:
nameserver 127.0.0.1