新建脚本文件
nano setproxy.sh
输入以下内容
#!/bin/bash
# 代理服务器地址和端口,根据实际情况进行修改
HTTP_PROXY_SERVER="http://172.16.44.88:10802"
HTTPS_PROXY_SERVER="$HTTP_PROXY_SERVER"
NO_PROXY_SERVER="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local"
#全局代理
env_file="/etc/environment"
#全局用户代理
profile="/etc/profile.d/99proxy.sh"
#apt代理
apt_proxy="/etc/apt/apt.conf.d/99proxy"
# microk8s代理
microk8s_container_env="/var/snap/microk8s/current/args/containerd-env"
# 检查脚本是否以root权限运行
if [ "$(id -u)" != "0" ]; then
echo "该脚本需要root权限来修改 $env_file"
exit 1
fi
# 检查传入的参数
if [ "$1" == "on" ]; then
# 添加代理配置
echo "添加代理配置..."
sed -i '/^export HTTP_PROXY=/d' $env_file
sed -i '/^export HTTPS_PROXY=/d' $env_file
sed -i '/^export NO_PROXY=/d' $env_file
echo "export HTTP_PROXY=\"$HTTP_PROXY_SERVER\"" >> $env_file
echo "export HTTPS_PROXY=\"$HTTPS_PROXY_SERVER\"" >> $env_file
echo "export NO_PROXY=\"$NO_PROXY_SERVER\"" >> $env_file
#添加apt代理
sudo rm -f $apt_proxy
sudo tee $apt_proxy << EOF
Acquire::http::proxy "$HTTP_PROXY_SERVER";
Acquire::https::proxy "$HTTPS_PROXY_SERVER";
EOF
#添加全局用户代理
sudo rm -f $profile
sudo tee $profile << EOF
export HTTP_PROXY="$HTTP_PROXY_SERVER"
export HTTPS_PROXY="$HTTPS_PROXY_SERVER"
export NO_PROXY="$NO_PROXY_SERVER"
EOF
#添加microk8s代理
sed -i '/^HTTP_PROXY=/d' $microk8s_container_env
sed -i '/^HTTPS_PROXY=/d' $microk8s_container_env
sed -i '/^NO_PROXY=/d' $microk8s_container_env
echo "HTTP_PROXY=\"$HTTP_PROXY_SERVER\"" >> $microk8s_container_env
echo "HTTPS_PROXY=\"$HTTPS_PROXY_SERVER\"" >> $microk8s_container_env
echo "NO_PROXY=\"$NO_PROXY_SERVER\"" >> $microk8s_container_env
echo "代理配置已更新。"
elif [ "$1" == "off" ]; then
# 删除代理配置
echo "删除代理配置..."
#删除全局环境变量代理
sed -i '/^export HTTP_PROXY=/d' $env_file
sed -i '/^export HTTPS_PROXY=/d' $env_file
sed -i '/^export NO_PROXY=/d' $env_file
#删除apt代理
sudo rm -f $apt_proxy
#删除全局用户代理
sudo rm -f $profile
#删除microk8s代理
sed -i '/^HTTP_PROXY=/d' $microk8s_container_env
sed -i '/^HTTPS_PROXY=/d' $microk8s_container_env
sed -i '/^NO_PROXY=/d' $microk8s_container_env
echo "代理配置已删除。"
else
echo "无效的参数。使用 'on' 来添加或替换代理,使用 'off' 来删除代理。"
exit 1
fi
保存退出 ,为脚本增加执行权限。
chmod +x setproxy.sh
重启服务器生效