如何通过中间服务器访问互联网并运行 apt-get?

如何通过中间服务器访问互联网并运行 apt-get?

我有一台运行 ubuntu 16.04 的机器。该机器只能访问 1 个远程服务器(也运行 ubuntu)。但是远程服务器可以完全访问互联网。

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

我需要通过 apt-get 在此本地机器上安装一些包。

有没有办法通过 10.0.0.1 的公共服务器访问互联网?

感谢你的回复。

答案1

打开终端并启动ssh动态端口转发:

ssh -D 1080 [email protected]

这将在您的计算机的 1080 端口上启动一个 socks 代理。

将这一行添加到您的/etc/apt/apt.conf文件中:

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

然后您可以运行apt update/apt install命令。完成后,您可以关闭ssh连接并恢复 中的更改apt.conf

您还可以告诉浏览器或其他应用程序使用 Socks 代理并访问互联网。

答案2

最简单的方法是在中间服务器/网关上设置代理服务器,并设置您的 apt 以使用该代理:

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

并添加这一行:

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

相关内容