Use iptables para encaminhar o ssh

3

eu encontrei vários tutoriais sobre como fazê-lo, mas nenhum deles funcionou: /

Minha configuração:

FIREWALL - acessível a partir da internet - eth0: xxx.xxx.xxx.xxx (ip público) - eth1: 192.168.1.1

SERVIDOR - acessível a partir do FIREWALL - eth0: 192.168.1.5

Como ainda desejo conectar-me ao firewall na porta 22, gostaria de encaminhar as conexões de entrada na porta 2222 para 192.168.1.5:22.

ping e ssh de FIREWALL para SERVER funciona. ping e ssh de SERVER para FIREWALL também funciona (embora o login só seja permitido com chave pública e o SERVER não seja permitido ...)

ping e ssh de qualquer lugar para o FIREWALL funcionar.

O encaminhamento de IP está ativado:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Postar minhas regras de iptables não faz muito sentido porque nenhuma das regras funcionou (usei PREROUTING, POSTROUTING, FORWARD ...) e não há outras regras.

Sim, meu firewall não bloqueia nada. Mas isso não é sobre segurança (ainda).

Eu tentei tudo o que encontrei no primeiro para páginas de: link

Alguma sugestão?

Atenciosamente, Jens

UPDATE Aqui está a saída de tcpdump -n -i any depois de usar o comando iptables de Khaled:

15:42:33.852718 IP home-ip.56008 > firewall-public-ip.2222: Flags [S], seq 1141341765, win 14600, options [mss 1460,sackOK,TS val 871214 ecr 0,nop,wscale 7], length 0
15:42:33.852752 IP home-ip.56008 > 192.168.1.5.22: Flags [S], seq 1141341765, win 14600, options [mss 1460,sackOK,TS val 871214 ecr 0,nop,wscale 7], length 0

Eu teria imaginado que na segunda linha haveria algo como     ... IP 192.168.1.1.45678 > 192.168.1.5.22 ...

Essas duas linhas repetem algumas vezes, pois o meu ssh-client tenta várias vezes conectar-se. Mas não há resposta.

2ª atualização As rotas do servidor (192.168.1.5) são aqui . Acabei de adicionar uma rota

public-firewall-ip  255.255.255.255      192.168.1.1     192.168.1.5       1

mas isso não tem efeito. No servidor, é executado o Win XP com o sshd do cygwin instalado. Eu não mencionei isso antes porque o ssh do firewall para o servidor funciona muito bem. Mas quando se trata de roteamento, sinto que o Windows é um pouco limitado.

Agora estou instalando o Wireshark no servidor e colarei o resultado em alguns miniutes.

Rastreio no servidor O rastreio no servidor mostra um SYN chegando na porta 22 e um SYN de saída, ACK para meu ip da minha casa. Eu acho que há o erro. O ACK deve ser enviado ao firewall do que ser mascarado porque no pacote de saída o IP / Porta de origem agora é 192.168.1.5:22. De jeito nenhum isso chega ao meu laptop em casa atrás de um NAT ... ou existe um jeito?

    
por Jens 26.08.2012 / 13:24

1 resposta

3

Se você está permitindo que o tráfego atravesse seu firewall e tenha o encaminhamento de IP ativado, você só precisa de uma regra de NAT para encaminhar o tráfego SSH na porta 2222. Um como este deve fazer o trabalho:

$ iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.5:22

Atualização:

O sniffer de rede é seu amigo ao depurar esses problemas. Você pode rodar o tcpdump na máquina do firewall e ver se consegue pegar a requisição chegando e a mesma requisição deve sair da máquina do firewall.

    
por 26.08.2012 / 14:04