Tổng quan nhanh cho những người không quen thuộc với Open-Mesh:
Hệ thống sử dụng các điểm truy cập không dây nhỏ tự động xây dựng mạng lưới riêng của họ. Miễn là một trong những điểm truy cập được kết nối với internet thông qua mạng LAN có dây (biến điểm truy cập đó thành "cổng"), tất cả các điểm truy cập (và ứng dụng khách không dây của họ) sẽ có quyền truy cập internet.
Các điểm truy cập chạy phiên bản sửa đổi của OpenWRT.
Thông thường, cách duy nhất để SSH vào bất kỳ điểm truy cập không dây (nút) nào là trước tiên SSH vào cổng, sau đó SSH từ đó đến nút.
Những gì tôi đang cố gắng thực hiện: Mở / chuyển tiếp một cổng để SSH vào từng nút không dây trực tiếp.
Ví dụ: cổng của tôi nằm 10.45.13.220
trong mạng LAN của tôi. Nút không dây đầu tiên nằm 5.12.252.248
trên mạng lưới (tức là gõ ssh root@5.12.252.248
trong khi đăng nhập vào cổng sẽ mở một vỏ cho nút không dây). Tôi muốn có thể đăng nhập vào nút không dây như vậy:
$ ssh -p 11001 root@10.45.13.220
Vì vậy, tôi đã thử chuyển tiếp cổng đó iptables
bằng cách sử dụng các lệnh sau:
$ iptables -t nat -A PREROUTING -p tcp -d 10.45.13.220 --dport 11001 \
-j DNAT --to-destination 5.12.252.248:22
$ iptables -t filter -A FORWARD -p tcp -d 5.12.252.248 --dport 22 -j ACCEPT`
Tôi biết điều này đang làm một cái gì đó bởi vì khi tôi cố gắng SSH đến 10.45.13.220:11001
(từ một máy tính khác trên mạng) trước khi nhập các lệnh trên, kết nối bị từ chối. Nhưng một khi các lệnh đã được nhập, kết nối sẽ hết thời gian.
Có ai biết tôi đang làm gì sai không? Tôi khá mới mẻ iptables
, nhưng có vẻ như nó khá đơn giản.
Lưu ý: Chuyển tiếp IP đã được bật
EDIT: Đăng nhập kết quả
Sau khi thiết lập ghi nhật ký cho cả hai quy tắc được đề xuất bởi @slm, đây là những gì sẽ dmesg
xuất hiện khi tôi cố gắng kết nối với 10,45.13.220:11001 từ một hộp linux khác:
[1015021.850000] IN=br-lan1 OUT= MAC=ac:86:74:0c:fd:00:6c:62:6d:12:85:9d:08:00 \
SRC=10.45.13.246 DST=10.45.13.220 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=16916 DF \
PROTO=TCP SPT=41908 DPT=11001 WINDOW=14600 RES=0x00 SYN URGP=0
[1015021.850000] IN=br-lan1 OUT=br-lan1 MAC=ac:86:74:0c:fd:00:6c:62:6d:12:85:9d:08:00 \
SRC=10.45.13.246 DST=5.12.252.248 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=16916 DF \
PROTO=TCP SPT=41908 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0
[1015022.850000] IN=br-lan1 OUT=br-lan1 MAC=ac:86:74:0c:fd:00:6c:62:6d:12:85:9d:08:00 \
RC=10.45.13.246 DST=5.12.252.248 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=16917 DF \
PROTO=TCP SPT=41908 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0
Các quy tắc iptables mới được sử dụng (theo đề xuất của @ @ slm):
iptables -t nat -A PREROUTING -p tcp --dport 11001 -j LOG --log-level debug
iptables -t nat -A PREROUTING -p tcp --dport 11001 -j DNAT --to 5.12.252.248:22
iptables -A FORWARD -i br-lan1 -p tcp -j LOG --log-level debug
iptables -A FORWARD -i br-lan1 -o bat0.2@bat0 -p tcp -d 5.12.252.248 --dport 22 \
-j ACCEPT