Ok, então seguindo em link eu tenho o que pode ser uma pergunta realmente estúpida para perguntar, mas se tudo que você precisa é acesso a portas específicas, como http / https você já tentou SSH Tunneling? É muito mais fácil do que configurar uma VPN. Em última análise, você ssh de uma máquina para outra e, em seguida, faz com que a máquina de destino estabeleça uma conexão para frente com algo e faça com que essa conexão seja encaminhada de volta à sua máquina local.
Digamos que você possa acessar a parte pública (DMZ) de uma máquina AAAA que pode, por sua vez, acessar uma máquina privada BBBB e desejar se conectar a um serviço HTTPS (porta 443) e supondo que sua área de trabalho já tenha um serviço rodando em 443, então você vai ter o serviço escutar localmente em 4443.
ssh -L4443:B.B.B.B:443 [email protected]
Em seguida, faça o login e abra um navegador local e vá para link ou, se preferir, adicione uma entrada ao arquivo de hosts, enviando 127.0. 0.1 para pretendido.vhost.name e, em seguida, vá para link
Se você realmente precisa de uma vpn, então ...
Você pode fazer ping no endereço IP dos lados local e oposto do túnel do seu laptop? Você pode fazer ping em uma máquina diferente na rede de sites oposta? Se você não pode tentar tracerout ele, e veja se você receber um eco de volta a partir dos locais locais e remotos do túnel (se não, o seu encaminhamento está errado).
Quais são os vários endereços de rede? Você pode tentar dizer rota, qual dispositivo você está esperando para enviar tráfego, caso contrário, tem que ser capaz de inferir.
Eu estava relendo isso e pensei em adicionar algumas notas que possam facilitar para qualquer um que tente seguir o que eu sugeri: -
Para tornar possível o acesso ao link e ter esse túnel, você precisa adicionar uma entrada ao seu arquivo de hosts. No linux isso é / etc / hosts no Windows é c: / windows / system32 / drivers / etc / hosts De qualquer forma você vai precisar de privilégios de administrador para salvar o arquivo (sudo para linux, abra o bloco de notas como administrador no windows). Em seguida, adicione a seguinte linha: -
127.0.0.1 intended.vhost.name
A outra coisa que mencionei foi a criação de um túnel de escuta em uma máquina, que pode perfurar um firewall. Como discutido anteriormente rodando ssh -L4443: BBBB: 443 adminuser @ AAAA irá abrir um terminal ssh na máquina AAAA, e enquanto isso, irá encapsular o tráfego da porta local (o -L) 127.0.0.1:4443 para BBBB: 443 (o 127.0.0.1 está implícito). Assumindo que sua máquina local é C.C.C.C e você deseja abrir a porta 4443 naquele IP, para que outras máquinas acessem, você pode fazer isso: -
ssh -LC.C.C.C:4443:B.B.B.B:443 [email protected]
Vale a pena notar aqui que se você adicionar um parâmetro -T, você altera o comportamento do ssh, para abrir a conexão ssl, depois o túnel e não iniciar o terminal dentro dele.
Quando eu fiz isso antes, eu configurei um usuário na máquina local (digamos tunneluser) e criei um conjunto de chaves ssh para ele em ~ tunneluser / .ssh e então assegure o arquivo ~ tunneluser / .ssh / id_rsa .pub é listado nas máquinas remotas ~ adminuser / .ssh / authorized_keys, então a conexão ssh será iniciada sem solicitar uma senha. Como um recurso de segurança, você pode configurar o tunneluser remotamente, com / bin / false como seu shell (em / etc / passwd), então a conexão falhará se você perder o parâmetro -T.
Uma maneira simples de implementar isso é incluí-lo em um script em /etc/init.d que é executado após a rede (usualling em rc3.d). Eu sugeriria uma camada de segurança (evite rodar como root) usando
sudo -u tunneluser "ssh -T -i/home/tunneluser/.ssh/id_rsa.pub -LC.C.C.C:4443:B.B.B.B:443 [email protected]"
Note, porém, que se o IP que você deseja escutar (o: 4443 listado acima) for uma 'porta privilegiada' (ou seja, entre o intervalo normalmente usado pelos serviços do sistema), será necessário executar o ssh como root , para obter permissão para ouvir lá.
Qualquer usuário de janela precisa simplesmente acessar o link e ele veria o site que estava em link .
Se a máquina no CCCC não tiver um bloqueio de serviço: 443, use isso em vez de: 4443 e link seriam equivalentes a link
Como um aparte, se a intenção for revertida, digamos que você está em uma máquina com acesso a CCCC você quer fazer um furo através da DMZ via máquina AAAA de tal forma que usuários que possam acessar BBBB, possam acessar o CCCC via túnel, sem ser capaz de acessá-lo diretamente, você usa -R em vez de -L (e o soquete de escuta está no lado remoto, em vez de local do túnel). Eu incluo -T para mostrar como é usado.
ssh -T -RB.B.B.B:4443:C.C.C.C:443 [email protected]