encaminhamento de porta usando proxy ip

encaminhamento de porta usando proxy ip

Estou tentando acessar minha máquina remotamente através de ssh com meu IP público.

A maneira normal de fazer isso seria permitir o encaminhamento de porta no meu roteador e depois fazê-lo: ssh ubuntu@myPublicIpmas meu ISP usa CGNAT, então não posso encaminhar a porta com meu IP público atribuído. Então usei o tinyproxy na minha instância AWS e conectei minha máquina local ao endereço IP do proxy.

Significa que cada solicitação que faço através da minha máquina local passa pelo IP do proxy. Agora meu IP público foi substituído pelo IP do proxy. Minha pergunta é como posso configurar o encaminhamento de porta em minha máquina Linux local que tem o proxy habilitado para que eu possa conectar-me à máquina remotamente usando ssh como: ssh ubuntu@myProxyIp.

Responder1

Para acessar uma máquina atrás de NAT/firewall/qualquer coisa, você não precisa de nada, exceto que essa máquina seja capaz de fazer uma conexão de saída com a rede pública e acesso ssh a uma instância na rede pública.

A configuração na máquina por trás do NAT é garantir que ela faça uma conexão ssh de saída com o encaminhamento de porta reverso habilitado:

ssh -R:60000:127.0.0.1:22 [email protected]

onde [email protected]está a conta e o endereço da instância na rede pública que você tem acesso. Este comando, basicamente, significa o seguinte: estabelecer uma conexão SSH para friendly.domain.tldusar o usuário joepara autenticar e expor nossa porta tcp 22 local na extremidade remota como porta tcp 60000. Se o software do servidor SSH for recente o suficiente (e a configuração permitir), você pode também mapeie diretamente sua porta local encaminhada para um endereço IP voltado para a Internet friendly.domain.tld, mas presumo aqui que tal configuração não seja permitida.

Agora que nossa máquina estabeleceu o link de saída, tudo o que precisamos fazer para nos conectar a ele de qualquer lugar é usá-lo friendly.domain.tldcomo proxy em nossa conexão SSH. Para isso você precisará abrir duas janelas de terminal: a primeira será usada para estabelecer um link com a friendly.domain.tldinstância para encaminhar a porta tcp 60000 exposta para sua máquina local:

ssh -L60000:127.0.0.1:60000 [email protected]

Isso mapeia a porta tcp 60000 na interface de loopback friendly.domain.tldpara a interface de loopback da instância na qual você está executando o comando ssh.

Deste ponto em diante, você pode se conectar à sua máquina por meio de NAT simplesmente usando:

ssh -p60000 my_account@localhost

onde my_accountestá uma conta na sua máquina atrás do NAT.

Ao todo, existem três túneis SSH em jogo:

machine_behind_nat <=1=> friendly_instance <=2=> your_laptop
            <=================3==================>

A razão para tal configuração é garantir que, mesmo que "friendly_instance" seja interrompido, sua comunicação com a máquina por trás do NAT não seja comprometida (não confiamos em "friendly_instance", além de permitir que ele transfira bytes por meio de sua interface de loopback. Estamos usando criptografia ponta a ponta em nosso túnel nº 3, que percorre os túneis nº 1 e nº 2.

eu cobriessa configuração no meu blogse você quiser um pouco de experiência e outros truques, você pode fazer com o ssh.

Responder2

Dependendo do que você realmente precisa para encaminhar a porta, você pode fazer um encaminhamento de porta reverso dinâmico com ssh.

Se você precisar apenas do proxy da porta 22:

ssh -R 22:0.0.0.0:2222 user@remote_server

Você pode então fazer ssh em sua máquina local fazendo:

ssh -p 2222 localuser@ProxyIP

Se você deseja encaminhar dinamicamente:

ssh -R 0.0.0.0:2222 user @remote_server

Você pode acessar qualquer coisa na sua rede local usando cadeias de proxy. Preste atenção, pois qualquer pessoa que conheça seu ip remoto e porta do proxy SOCKS pode acessar sua rede local. Você pode querer implementar um firewall para restringir quem pode acessá-lo.

Aqui está um bom artigo falando sobre isso:https://posts.specterops.io/offensive-security-guide-to-ssh-tunnels-and-proxies-b525cbd4d4c6

informação relacionada