背景:
某项目全部内网环境,只有跳板机有访问互联网的权限,现在需要给内网的服务器更新系统,以及在线下载docker镜像
之前,使用过cc-proxy 这样的工具,当然现在这个工具已经停止维护了,使用完之后,还是及时断开的比较好,主要用于一些临时的场景;
- cc-proxy 官网: http://www.ccproxy.com/
cc-proxy 工具配置
- 需要注意的是,如果代理的主机有多个网卡,这里最好手动定义使用哪张网卡
代理上网配置
- 使用环境变量的方式: 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
可以看到下载的软件包是通过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
取消 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