Posso usar meu computador doméstico A para conectar-me por SSH a um servidor B onde o acesso à rede externa está bloqueado. Em outras palavras, todas as solicitações de Internet de B geram um erro: A rede está inacessível . Posso redirecionar todas essas solicitações para passar pelo computador A que possui acesso irrestrito à Internet?
O servidor B é um servidor que hospeda um dos meus sites. Quero baixar arquivos para instalar algum software. Mas a conexão está bloqueada. Eu era capaz de transferir arquivos, mas foi complicado porque as versões de software são diferentes em A e B , então as dependências onde diferente e é necessário arquivos diferentes em A e B .
Pesquisei na Internet e parece que preciso de um túnel reverso. Mas só encontrei soluções em que uma porta é redirecionada . Mas não é o que eu preciso, pois não quero que B acesse A, mas a Internet.
Respostas:
Você pode executar um proxy no Computador A ao qual o computador B se conectaria para acessar a Internet através do Computador A.
Algo assim
Instale um proxy como o squid em A que escute na porta 3128 e, em seguida, você pode ssh no servidor com isso -
ssh -L 3128:127.0.0.1:3128 user@B
Isso permitirá que B acesse a Internet através de A
fonte
Basta adicionar mais alguns passos claros às respostas do @Lawrence e do @ SpiRail.
Faça a configuração da seguinte maneira:
Configuração no host A:
yum install squid
http_access deny all
depois adicionehttp_access allow all
/etc/squid/squid.conf/etc/squid/squid.conf
seguinte maneira:Configuração no host B:
source /etc/environment
Agora nossa configuração está concluída.
Criando túnel SSH com encaminhamento de porta remota
Execute o seguinte comando SSH no Host A
ssh -R 3129:localhost:3128 user@HostB
Se você deseja criar um túnel SSH persistente, pode usar o autossh da seguinte maneira:
autossh -M 20000 -f -NT -R 3129:localhost:3128 user@HostB
Para que o comando autossh acima funcione, você deve ter as chaves SSH configuradas do HostA para o HostB
Verificando a internet:
wget https://google.com
Diagrama de fluxo de tráfego :
fonte
A resposta de @ Lawrence foi boa o suficiente para que eu conseguisse entender tudo. Mas aqui estão as etapas mais detalhadas que eu usei.
Eu usei isso para usar o meu laptop dongle 4G para rotear a Internet para um raspberry pi com uma conexão de linha fixa a um roteador wifi.
Se o seu host for um mac: instale o squidman http://squidman.net/squidman/
(não apenas o squid genérico, tive muitos problemas ao construí-lo) As configurações padrão pareciam boas o suficiente para mim.
conecte ao 4G conecte ao wifi - configure um ip estático no seu wifi e remova o endereço do gateway (a menos que você esteja fazendo coisas avançadas), caso contrário, você terá duas rotas padrão e isso é muito irritante. - verifique se o seu roteador wifi não está usando o mesmo intervalo 192.168.xy (configure um "x" diferente neste caso)
No PI
com visudo adicione o texto:
Agora o wget funcionará e o sudo apt-get também poderá instalar pacotes.
Se você quiser o git, também está aqui: /programming/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
fonte
visudo
daqui? Onde você adiciona o texto? (Eu não posso usarsudo
na minha hospedagem na Web)