Uma visão geral rápida para aqueles que não estão familiarizados com o Open-Mesh:
O sistema usa pequenos pontos de acesso sem fio que criam automaticamente sua própria rede de malha. Desde que um dos pontos de acesso esteja conectado à Internet por meio de uma LAN com fio (tornando esse ponto de acesso o "gateway"), todos os pontos de acesso (e seus clientes sem fio) terão acesso à Internet.
Os pontos de acesso executam uma versão modificada do OpenWRT.
Normalmente, o único caminho para o SSH em qualquer um dos pontos de acesso sem fio (nós) é o primeiro SSH no gateway, então SSH a partir daí para o nó.
O que estou tentando fazer: Abrir / encaminhar uma porta para o SSH em cada nó sem fio diretamente.
Por exemplo, meu gateway está em 10.45.13.220
na minha LAN. O primeiro nó sem fio está em 5.12.252.248
na rede em malha (ou seja, digitar ssh [email protected]
durante o login no gateway abrirá um shell para o nó sem fio). Eu gostaria de poder entrar no nó sem fio assim:
$ ssh -p 11001 [email protected]
Então, tentei encaminhar essa porta em iptables
usando os seguintes comandos:
$ 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'
Eu sei que isso está fazendo algo porque quando eu tento SSH para 10.45.13.220:11001
(de outro computador na rede) antes de digitar os comandos acima, a conexão é recusada. Mas assim que os comandos forem inseridos, a conexão expira.
Alguma ideia do que estou fazendo errado? Sou muito novo em iptables
, mas parece que isso deve ser bem direto.
Observação: o encaminhamento de IP já está ativado
EDITAR: Registrando Resultados
Após configurar o registro para as duas regras sugeridas por @slm, é isso que o dmesg
envia quando tento conectar-me a 10.45.13.220:11001 de outra caixa do Linux:
[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
Novas regras de iptables usadas (conforme sugestão de @ 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