CentOS com AutoSSH, Port Forwarding Clarification

3

Estou usando o autossh e configuro-o como mostrado no exemplo a seguir: link

Eu achei que funciona muito bem, mas preciso de alguns esclarecimentos. Particularmente, a diferença entre 127.0.0.1 e * nos exemplos a seguir:

ForwardPort=(
    "L 127.0.0.1:3397:127.0.0.1:3306"
)

versus

ForwardPort=(
    "L *:3397:127.0.0.1:3306"
)

O primeiro parece fazer o redirecionamento se vier da própria máquina hospedeira, onde o segundo parece encaminhar de qualquer lugar. Para mim isso traduziu como se o * fosse para qualquer IP para encaminhar o tráfego, mas alguém me disse que apenas diz para qualquer adaptador na máquina. Estou curioso é qualquer IP ou qualquer adaptador? Eu assumo que o resultado final é o mesmo, mas gostaria de esclarecimento para o meu próprio entendimento.

Atualizar

Atualizei meu teste para incluir um IP específico de uma rede que estou usando e tentei me conectar à porta e descobri que ele não funcionava com a porta específica especificada, por exemplo

ForwardPort=(
    "L x.x.x.x:3397:127.0.0.1:3306"
    "L 127.0.0.1:3397:127.0.0.1:3306"
)

Como isso não funcionou, isso me faz acreditar que meu amigo estava certo sobre os adaptadores. Se alguém puder me fornecer alguns detalhes de como funciona o material do adaptador, ou um link para um bom artigo que explique isso, agradeço.

    
por VenomFangs 06.02.2015 / 17:08

1 resposta

0

Descobri a minha resposta, imaginei que iria postar a minha resposta, no caso de alguém estar interessado ou googles uma resposta como eu fiz e não encontrá-lo.

Então quando eu fiz x.x.x.x este foi o IP da WAN do meu servidor remoto. O autossh não tem idéia disso, já que o IP não é um de seus adaptadores. Se você executar ifconfig no servidor, receberá o loopback local de 127.0.0.1 e outros adaptadores como eth0 , que teria o IP da WAN. Ao fazer o * , ele faz o encaminhamento para quaisquer solicitações provenientes do loop local de volta, bem como da WAN. Portanto, * roteia todas as solicitações, onde 127.0.0.1 apenas faz as que vêm da própria máquina.

Se você quisesse permitir encaminhamentos externos, mas limitar quem poderia fazer isso, você poderia fazer isso fazendo * e limitando a comunicação do servidor por meio de iptables .

    
por 06.02.2015 / 17:50