Tôi có máy chủ GNS3 và tôi đang cố gắng thêm các quy tắc iptable để khi ai đó trong nhóm của tôi kết nối trên cổng 1100, họ sẽ được chuyển đến một IP nội bộ, chẳng hạn như 192.168.122.2:22. IP nội bộ này thuộc về máy chủ pháo đài của dự án GNS3. Mục tiêu cuối cùng là có thể nhập các địa chỉ IP nội bộ từ một máy cục bộ.
Đây là giao diện IPTABLE của tôi (ví dụ: sử dụng IP công cộng giả 1.2.3.4):
PREROUTING chuỗi (CHẤP NHẬN chính sách)
num target prot opt source đích
1 DNAT tcp -- 0.0.0.0/0 1.2.3.4 tcp dpt:1100 tới:192.168.122.2:22
ĐẦU VÀO chuỗi (chính sách CHẤP NHẬN)
num target prot opt source đích
ĐẦU RA chuỗi (chính sách CHẤP NHẬN)
num target prot opt source đích
Chuỗi POSTROUTING (CHẤP NHẬN chính sách)
num target prot opt source đích
1 MẶT NẠ tất cả -- 0.0.0.0/0 0.0.0.0/0
Chuỗi DOCKER (0 tài liệu tham khảo)
num target prot opt source đích
Chuỗi LIBVIRT_PRT (0 tài liệu tham khảo)
num target prot opt source đích
Từ máy cục bộ của tôi, tôi thực hiện lệnh ssh [email protected] -p1100
.
Ubuntu là tên người dùng cần thiết để truy cập IP nội bộ của dự án GNS3.
Sau khi thực hiện lệnh này, tôi nhận được đầu ra sau trên máy chủ GNS3 (1.2.3.4):
cloud@gns3:~$ connect_to 192.168.122.2 cổng 1100: không thành công.
Có vẻ như lệnh SSH của tôi đang đến máy chủ GNS3 và cố gắng thực hiện chuyển tiếp cổng. Tuy nhiên, vì lý do nào đó, nó đang cố chuyển tiếp tới cổng 1100 thay vì 22? bất cứ ai có thể xác định lý do tại sao?
Đây là những gì tôi đã cố gắng cho đến nay:
- Đặt chuyển tiếp cổng ipv4 thành 1
- đặt GatewayPorts và AllowTcpForwarding thành 1 trong
- chạy trên máy cục bộ (tôi nghĩ điều này đã thay đổi một số cấu hình trên máy chủ) -
ssh -R 1.2.3.4:1100:192.168.122.2:22 [email protected]
- Đã thêm quy tắc vào IPtables bằng lệnh
Sudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump DNAT --to-destination 192.168.122.2:22
- Cũng đã thêm Masquerading:
sudo /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE