Ubuntu 设置终端代理

NAT模式下虚拟机代理通杀(WSL和VMWare)

编辑~/.bashrc并添加

# 设置系统代理为 route 的 IP 地址:端口
proxy_port=10809
route_ip=$(ip route | grep default | awk '{print $3}')
if [[ -n "$route_ip" ]]; then
        export http_proxy="http://${route_ip}:${proxy_port}"
    export https_proxy="http://${route_ip}:${proxy_port}"
    export no_proxy="localhost,127.0.0.1,::1"
    echo "代理已设置为 $route_ip:${proxy_port}"
else
    echo "未找到 route 的 IP 地址,未设置代理"
fi

注意!!! 防火墙一定要给代理端口放通,或直接关闭windows防火墙,否则有可能局域网代理不生效
补充1: vscode需要在对应Remote SSH 设置里添加http proxyremote ssh http proxy

ubuntu临时添加代理

gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host '192.168.0.94'
gsettings set org.gnome.system.proxy.http port 7897
gsettings set org.gnome.system.proxy.https host '192.168.0.94'
gsettings set org.gnome.system.proxy.https port 7897
gsettings set org.gnome.system.proxy.ignore-hosts "['localhost', '127.0.0.1', '::1']"

或者

export http_proxy="http://172.26.112.1:10809"
export https_proxy="http://172.26.112.1:10809"
export no_proxy="localhost,127.0.0.1,::1"

export http_proxy="http://192.168.0.14:10809"
export https_proxy="http://192.168.0.14:10809"
export no_proxy="localhost,127.0.0.1,::1"

关闭则设置

gsettings set org.gnome.system.proxy mode 'none'

unset http_proxy
unset https_proxy
unset no_proxy

Docker设置代理

sudo mkdir /etc/systemd/system/docker.service.d
sudo vim proxy.conf

添加内容

[Service]
Environment="HTTP_PROXY=http://192.168.31.233:7897"
Environment="HTTPS_PROXY=http://192.168.31.233:7897"
Environment="NO_PROXY=localhost,127.0.0.1"

最后输入docker info,验证是否添加成功
进入docker容器以后,要再次设置终端的代理,即export http_proxy…

docker buildx的代理详见
Docker代理设置及Dockerfile编译指令 - 编程 - 学不会-热爱学习的技术论坛