Tunnel del traffico yum attraverso un altro server tramite ssh


10

Sto eseguendo un desktop Fedora dietro un proxy aziendale che blocca il yumtraffico (in particolare *.gze *.bz2). Ho accesso a una macchina RedHat separata tramite ssh che può scaricare qualsiasi cosa gli piaccia.

Quando lo faccio yum updatee altri comandi yum: è possibile instradare quel traffico verso la macchina RedHat per fare i download per me? Non ho accesso root sulla macchina RedHat ma posso accedere e usare wget per scaricare file. Se é cosi, come?

Risposte:


21

La mia soluzione era simile a quella di @ slm, ma ho usato SOCKS perché è più semplice e non richiede l'installazione di proxy sul server o sul client.

Esegui tutti i comandi sul computer con accesso limitato.

in yum.confimpostare il proxy come segue

proxy=socks5h://localhost:1080

da un tipo di terminale

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

premere invio e digitare la password.

ora, in un terminale separato (non quello SSH) digitare

yum update

1
Ho provato a usare l'impostazione proxy socks5h in yum.conf, ma yum si lamenta che non è http, https o ftp. (usando Centos6)
gnac il

La mia soluzione funziona con Fedora 20 e 21. Cent e Fedora hanno distribuzioni simili, quindi è un po 'strano che non funzioni.
jax

Ciao, il comando ssh che hai citato dovrebbe essere eseguito sul computer con accesso limitato giusto? Se sì, mi chiedo come il firewall non si bloccherà e causerà l'errore come "ssh: connect to host YOUR_SERVER_WITH_FULL_WEB_ACCESS porta 22: No route to host". YOUR_SERVER_WITH_FULL_WEB_ACCESS è raggiungibile dalla macchina con restrizioni?
Hei,

@Hei sì, "YOUR_SERVER_WITH_FULL_WEB_ACCESS" deve essere accessibile dalla tua macchina. Nel mio caso, la mia connessione Internet era limitata a livello locale.
jax,

4

Dovresti essere in grado di eseguire il proxy del traffico di YUM sulla connessione SSH in questo modo:

  1. aggiungere al /etc/yum.confsul server protetto:

    proxy=http://127.0.0.1:8080
    
  2. dal server con normale accesso ssh in entrata / uscita:

    $ ssh -R 8080:ssh.server:8080 user@protected.server
    
  3. Sul server in cui si desidera eseguire i comandi YUM:

    $ yum update
    

Riferimenti


Ho solo bisogno di alcuni chiarimenti. (Farò riferimento al mio desktop Fedora come desktope al server RedHat con accesso per il download completo come server). Quindi immagino che dovrò fare proxy=http://127.0.0.1:8080da solo desktopperché questo è il computer che necessita degli aggiornamenti di yum e anche da ssh -R 8080:ssh.server:8080 user@protected.serverme desktop. Da dove viene la serverconfigurazione o non ce n'è?
jax,

2
Ti manca il passaggio dell'esecuzione di un proxy HTTP in ascolto sulla porta 8080 ssh.server.
Gilles 'SO- smetti di essere malvagio' il

@Gilles ho bisogno del proxy sul mio desktopo server? Se non è il server non posso installarlo perché non ho accesso root
jax

@jax È necessario eseguire il proxy sul computer con la connessione Internet. Non è necessario eseguirlo come root. Tinyproxy è facile da installare (ci sono molte alternative).
Gilles 'SO- smetti di essere malvagio' il

@Gilles, ho scoperto altrove che è possibile creare un proxy Socks che indirizza automaticamente il traffico TCP. ssh -D 8888 user@serversul desktop, quindi devi dire a yum di usare questo server proxy=socks5h://localhost:8888. Quindi riesci a vedere qualche problema con questo? Significherebbe che non ho bisogno di installare nulla sulla macchina server che è l'ideale nel mio caso perché è una macchina condivisa. Non sarò in grado di provarlo fino a lunedì.
Jax,
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.