Como rotear o tráfego de rede de um host por outro host?

9

Não sou o administrador do sistema da nossa rede corporativa, mas tenho duas estações de trabalho Linux (hosts A e B) com acesso root a ambas.

Ambos os hosts podem se ver bem (ssh, ping, etc funciona de um para o outro). No entanto, apenas o host A pode acessar nosso firewall corporativo e acessar a Internet etc; o host B não pode.

Pergunta: Como eu poderia ter todo (e não apenas o HTTP) o tráfego de rede de entrada e saída no host B roteado pelo host A, sem envolver o administrador do sistema? No momento, não sei se precisaria usar o NAT para o host B e / ou transformar o host A em um servidor proxy e / ou transformar o host A em um roteador.

No Host B, tentei emitir um route add -host <HostA> gw <HostA's Gateway>comando, mas não funcionou: não consegui pingacessar o www.google.com no Host B. Por favor, perdoe minha ignorância sobre esse assunto de roteamento / rede.

atormentar
fonte

Respostas:

16

Você tem várias soluções para fazer isso:

Maneira mais fácil: NAT

Faça do A um roteador permitindo o encaminhamento: sysctl net.ipv4.ip_forward=1 Coloque net.ipv4.ip_forward=1em /etc/sysctl.conf para torná-lo permanente.

Em seguida, em A, nat trafic, digitando: iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE

Finalmente em B: direcione todo o tráfego via A:

ip route del default  
ip route add default via IP_of_A

Outra solução: Proxify ,

mas você precisa configurar todos os componentes para usar o proxy:

Em B, abra uma conexão SSH para A com este comando:

ssh -D8000 -N -f user@IP_of_A 

Isso abrirá uma meia de proxy em B e retransmitirá todo o tráfego via A. Se você usa um navegador da Web, por exemplo, precisará configurar uma meia de proxy v5 no 127.0.0.1 escutando na porta 8000. Você não precisará configurar o ip encaminhamento ou toque nas rotas.

DrGkill
fonte
Ao emitir o ip route addcomando, recebi o seguinte erro:Error: either "to" is duplicate, or "gw" is a garbage.
Harry
Aliás, DrGkill, eu agradeceria muito se você também pudesse mencionar as outras maneiras. E também, algum livro / recurso em que esses conceitos são abordados de maneira prática. Não preciso da teoria do tipo Tannenbaum, mas sim de conceitos e comandos reais do Linux que eu possa experimentar e aprender seriam úteis. Não tenho certeza, se o aparentemente antigo [ faqs.org/docs/linux_network/index.html ] ( Linux Network Administrator's Guide) ainda está atual e cobre a receita que você deu acima. Muito obrigado e que Deus abençoe.
Harry
A sintaxe correta é ip route add default viaou route add default gw.
Quanta 29/08
Erro editado, mais a maneira proxy adicionada. Aproveitar.
precisa saber é o seguinte
1
Graças quanta! O comando foi aceito com sucesso. Mas, quando agora ping www.google.com, recebo um From hostA (<ipaddrOfHostA>) icmp_seq=1 Destination Host Prohibitederro e 100% de perda de pacotes.
Harry
1

Acredito que você precisará desativar seu firewall.

service iptables stop

Não tenho certeza se isso é necessário no Host A e no Host B, mas ele passou a mensagem "Destino Proibido pelo Host"

Eric
fonte