Come instradare il traffico di rete di un host tramite un altro host?


9

Non sono l'amministratore di sistema della nostra rete aziendale, ma ho due workstation Linux (host A e B) con accesso root ad entrambi.

Entrambi gli host possono vedersi bene (ssh, ping, ecc funziona dall'uno all'altro). Tuttavia, solo l'host A può uscire dal nostro firewall aziendale e accedere a Internet, ecc .; l'host B non può.

Domanda: In che modo è possibile instradare tutto il traffico di rete in uscita e in entrata (e non solo HTTP) sull'host B tramite l'host A, senza coinvolgere il mio amministratore di sistema? In questo momento, non so se avrei bisogno di usare NAT per l'host B, e / o rendere l'host A un server proxy e / o rendere l'host A un router.

Sull'host B, ho provato a inviare un route add -host <HostA> gw <HostA's Gateway>comando, ma non ha funzionato: non sono stato in grado di pingwww.google.com dall'host B. Per favore, scusa la mia ignoranza su questo argomento di routing / networking.

Risposte:


16

Hai più soluzioni per farlo:

Modo più semplice: NAT

Make A un router per l'inoltro permettendo: sysctl net.ipv4.ip_forward=1 Mettere net.ipv4.ip_forward=1in /etc/sysctl.conf per renderla permanente.

Quindi su A, nat trafic digitando: iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE

Infine su B: instrada tutto il traffico tramite A:

ip route del default  
ip route add default via IP_of_A

Altra soluzione: Proxify ,

ma devi configurare tutti i componenti per usare il proxy:

Su B, apri una connessione SSH ad A con questo comando:

ssh -D8000 -N -f user@IP_of_A 

Ciò aprirà un calzino proxy su B e inoltrerà tutto il traffico tramite A. Se ad esempio si utilizza un browser Web, sarà necessario impostare un calzino proxy v5 su 127.0.0.1 in ascolto sulla porta 8000. Non sarà necessario configurare ip inoltro o toccando percorsi.


Quando ip route addho emesso il comando, ho riscontrato questo errore:Error: either "to" is duplicate, or "gw" is a garbage.
Harry,

A proposito, DrGkill, apprezzerei moltissimo se potessi menzionare anche gli altri modi. Inoltre, alcuni libri / risorse in cui questi concetti sono trattati in modo pratico. Non ho bisogno di una teoria simile a Tannenbaum, piuttosto concetti e reali comandi di Linux che posso provare e imparare sarebbero utili. Non sono sicuro, se apparentemente datato [ faqs.org/docs/linux_network/index.html[(Linux Network Administrator's Guide) è ancora attuale e copre la ricetta che hai dato sopra. Grazie mille e Dio vi benedica.
Harry,

La sintassi corretta è ip route add default viao route add default gw.
maggio

Errore modificato, oltre alla modalità proxy aggiunta. Godere.
DrGkill,

1
Grazie quanti! Il comando è stato accettato correttamente. Ma, quando ho ora ping www.google.com, ricevo un From hostA (<ipaddrOfHostA>) icmp_seq=1 Destination Host Prohibitederrore e una perdita di pacchetti del 100%.
Harry

1

Credo che dovrai disabilitare il tuo firewall.

service iptables stop

Non sono sicuro che sia necessario sia per l'host A che per l'host B, ma mi ha fatto passare il messaggio "Divieto dell'host di destinazione"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.