本文最后更新于 2024-09-04,文章内容可能已经过时。

背景:

某项目全部内网环境,只有跳板机有访问互联网的权限,现在需要给内网的服务器更新系统,以及在线下载docker镜像

之前,使用过cc-proxy 这样的工具,当然现在这个工具已经停止维护了,使用完之后,还是及时断开的比较好,主要用于一些临时的场景;

  • cc-proxy 官网: http://www.ccproxy.com/

cc-proxy 工具配置

  • 需要注意的是,如果代理的主机有多个网卡,这里最好手动定义使用哪张网卡

image-20240904191346853

image-20240904191435080

代理上网配置

  • 使用环境变量的方式: export http_proxy=http://172.16.200.200:8888 , export https_proxy=http://172.16.200.200:8888
  • 取消代理 unset http_proxy , unset https_proxy 即可

临时,设置http和https 代理;当前会话中使用代理,可以通过环境变量来临时设置代理。这些设置在会话结束后会失效。

$ export http_proxy=http://172.16.200.200:8888
$ export https_proxy=http://172.16.200.200:8888

模拟下载,查看浏览是否经过cc-proxy

$ wget https://mirrors.tuna.tsinghua.edu.cn/openeuler/openEuler-22.03-LTS-SP4/ISO/x86_64/openEuler-22.03-LTS-SP4-everything-x86_64-dvd.iso

image-20240904192601666

image-20240904192624627

可以看到下载的软件包是通过cc-proxy 代理

取消 http_proxy , https_proxy 代理

$ unset http_proxy
$ unset https_proxy

代理更新操作系统,安装软件

临时,设置http和https 代理;当前会话中使用代理,可以通过环境变量来临时设置代理。这些设置在会话结束后会失效。

$ export http_proxy=http://172.16.200.200:8888
$ export https_proxy=http://172.16.200.200:8888

$ yum update -y
$ yum install net-tools

image-20240904193242518

取消 http_proxy , https_proxy 代理

$ unset http_proxy
$ unset https_proxy

代理下载docker镜像

上面都是临时设置的环境变量,但是在docker 这里并不生效;我们还是通过修改docker 的守护进程的systemd 文件 来实现代理下载

#修改docker 的systemd 文件

$ vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
Environment="HTTP_PROXY=http://172.16.200.200:8888"
Environment="HTTPS_PROXY=http://172.16.200.200:8888"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"

ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=65535
LimitNPROC=65535
LimitCORE=65535
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target


#reload
$ systemctl daemon-reload

#重启docke
$ systemctl restart docker



#模拟下载镜像
$ docker pull centos

image-20240904194250558

image-20240904194717244