当前位置: 首页 > 工具软件 > Apt-cacher-ng > 使用案例 >

Apt-cacher-ng 配置Linux代理网络

范嘉
2023-12-01

Apt-cacher-ng 本身就是一个 HTTP 协议代理,但是和其他 HTTP 代理服务器的区别在于:

  • 能够“识别”出从不同站点(源)请求下载的软件包是否是同一个软件包,即源的合并功能。
  • 支持请求重定向。即可以不直接从客户请求的地址下载,而是重定向到预先设定的可能更快的镜像进行下载。

Apt-cacher-ng 本来是服务于 Debian 和 Ubuntu,但是其通用性的设计,同样可以作为 Fedora, CentOS, Cygwin 等软件包代理。核心配置就是 Repomap 指令。

Remap-RepositoryName: MergingURLs ; TargetURLs

其中:

  • RepositoryName 是本地的软件包镜像库(目录)的名称,该名称一旦确定不要变更。例如针对不同的系统软件包镜像,写为:debian, ubuntu, centos, 或 cygwin。
  • MergingURLs 是用空格分割的 URL 地址或者匹配 URL 的字符串。当请求的软件包地址和这些地址匹配后,就认为是针对 RepositoryName 软件包镜像库的请求。
  • 分号后面的 TargetURLs 也是用空格分割的 URL 地址。TargetURLs 是可选项,如果设置,则对该软件包镜像库的访问重定向由 TargetURLs 指定的地址。

Linux机器设置代理端口转发

以此为例:

一台windows机器A(可以通过代理http://109.105.113.200:8080连接外网),一台Linux机器B(无法连接外网,但可以通过局域网和机器A连接),现在想给Linux机器B通过apt安装软件,但因为Linux机器B无法连接外网,所以无法使用apt安装软件。

现在的解决方案就是:在windows机器A中安装Linux虚拟机C,虚拟机C自然可以通过宿主机器windows机A连接外网,并且可以通过局域网和Linux机器B相连,现在Linux机器B需要连接外网安装软件,所以就要通过局域网连接Linux机器C,来间接的访问外网,也就是设置Linux机器C为代理,给Linux机器B转发网络数据包。


步骤如下:

 

1.     在windows机器(机器A)的虚拟机ubuntu系统(机器C)中设置代理IP上网,使apt能通过此代理链接网络

                            (图形界面或者/etc/apt/apt.conf)(http://109.105.113.200:8080)(此代理为此宿主windows机器A链接外网的代理IP)

2.     在windows机器(机器A)的虚拟机ubuntu系统(机器C)中安装apt-cacher-ng

                            apt-get installapt-cacher-ng

3.     修改apt-cacher-ng的配置文件/etc/apt-cacher-ng/acng.conf,在proxy处配置代理IP,“proxy:http://109.105.113.200:8080”,使apt-cacher-ng也能通过此代理链接网络

4.     在windows机器(机器A)的虚拟机设置中开启端口转发(在NAT中),增加3142端口,apt-cacher-ng的默认转发端口为3142,可在上面文件中修改

5.     在windows机器(机器A)的虚拟机设置中开启新网卡(Host-Only),配置主机(windows机器A)虚拟网卡IP和虚拟机ubuntu系统(机器C)中Host-Only IP处于同一网段,并且可以ping通

                             注意:开启新网卡后,虚拟机ubuntu系统中也就有了两个网卡,其中NAT网络需要自动获取IP,Host-Only网络才需要配置IP地址。

6.     修改需要使用apt-cacher-ng转发数据的机器(机器B)的apt配置文件,/etc/apt/apt.conf,

                               “Acquire::http::proxy"http://109.105.112.16:3142/";”

         或者:修改(机器B)系统整体的配置文件,来设置代理,vim/etc/profile,在尾行加入

                               “export http_proxy=http://109.105.112.16:3142”即可,source/etc/profile使其生效。

7.     测试是否成功。


 类似资料: