web-dev-qa-db-fra.com

Comment accéder à Internet et exécuter apt-get via un serveur intermédiaire?

J'ai une machine exécutant Ubuntu 16.04. La machine ne peut accéder qu'à 1 serveur distant (exécutant également ubuntu). Le serveur distant a cependant un accès complet à Internet.

root@localmachine:~# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 02:1e:10:1f:00:00  
          inet addr:10.1.0.94  Bcast:10.1.0.95  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4366027 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1813925 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:669835698 (669.8 MB)  TX bytes:265999026 (265.9 MB)

root@localmachine:~# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=62 time=58.4 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=62 time=59.2 ms

J'ai besoin d'installer un paquet sur cette machine locale via apt-get.

Existe-t-il un moyen d'accéder à Internet via le serveur public à 10.0.0.1?

Merci pour votre réponse.

12
Tran Ngu Dang

La façon la plus simple serait de configurer un serveur proxy sur le serveur/passerelle intermédiaire et de configurer votre aptitude à utiliser ce proxy:

Sudo vi /etc/apt/apt.conf.d/proxy.conf

Et ajoutez cette ligne:

Acquire::http::Proxy "http://user:[email protected]:port/";
6
Alpy

Ouvrez un terminal et lancez ssh redirection de port dynamique:

ssh -D 1080 [email protected]

Cela démarrera un proxy de chaussettes sur votre ordinateur sur le port 1080.

Ajoutez cette ligne à votre /etc/apt/apt.conf fichier:

Acquire::socks::Proxy "socks5h://localhost:1080";

Ensuite, vous pouvez exécuter votre apt update/apt install commandes. Lorsque vous avez terminé, vous pouvez fermer la connexion ssh et annuler les modifications dans apt.conf.

Vous pouvez également demander à votre navigateur ou à d'autres applications de tiliser ce proxy Socks et d'accéder à Internet.

14
pLumo