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


12

我有一台运行ubuntu 16.04的计算机。机器只能访问1台远程服务器(也正在运行ubuntu)。远程服务器可以完全访问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

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

是否可以通过10.0.0.1的公共服务器访问Internet?

谢谢您的回复。


您可以ssh访问该服务器吗?
pLumo

是。我可以运行ssh root@10.0.0.1并访问公共服务器
Tran Ngu Dang

Answers:


6

最简单的方法是在中间服务器/网关上设置代理服务器,并设置易于使用此代理的地址:

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

并添加以下行:

Acquire::http::Proxy "http://user:password@proxy.server:port/";

谢谢您的支持。我无法通过RoVo设置SOCKS。但似乎在10.0.0.1建立一个Squid代理服务器确实工作
陈范五党

14

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

ssh -D 1080 root@10.0.0.1

这将在端口1080上的计算机上启动袜子代理。

将此行添加到您的/etc/apt/apt.conf文件:

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

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

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


我运行命令并收到此错误:无法获取ports.ubuntu.com/ubuntu-ports/pool/universe/a/autossh/… 无法启动与1080:80(0.0.4.56)的连接。-connect(22:Invalid arguments)
Tran Ngu Dang

动态端口转发似乎是正确的:tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN 21096 / ssh
Tran Ngu Dang

我是否需要将远程服务器设置为代理服务器?
Tran Ngu Dang

抱歉,该行输入apt.conf有误,我对此进行了编辑。请再试一遍。
pLumo

1
DNS请求不是通过Socks Proxy发送的,在apt.conf中将更改socks5://socks5h://,应该可以工作,两手交叉。抱歉,很难为我测试,因为我有联系...
pLumo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.