Apt-cacher-ng 本身就是一个 HTTP 协议代理,但是和其他 HTTP 代理服务器的区别在于:
Apt-cacher-ng 本来是服务于 Debian 和 Ubuntu,但是其通用性的设计,同样可以作为 Fedora, CentOS, Cygwin 等软件包代理。核心配置就是 Repomap 指令。
Remap-RepositoryName: MergingURLs ; 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. 测试是否成功。