源起

在学习Kubernetes过程中,需要经常调用Github以及拉取镜像。一开始打算使用openwrt配置旁路由,然后使用openclash来实现访问外部。后来在实际搭配过程中发成本太高,本来内存就紧张,还需要单独拉出2G内存给虚机。所以,现在这里采用外部proxy代理的形式来实现正常访问互联网。

开启服务

允许局域网访问使用7890端口来提供网络代理服务。

clash

配置访问

获取服务IP

此处的IP是宿主机的上网IP,而不是VMware Workstation的NAT网关地址。
clash

配置代理

直接配置系统代理

cat >> ~/.bashrc << EOF
export https_proxy=http://192.168.1.10:7890
export http_proxy=http://192.168.1.10:7890
export all_proxy=socks5://192.168.1.10:7890
EOF
source ~/.bashrc

使用脚本来实现代理

  1. 创建脚本 setproxy.sh
    #!/bin/bash
    # encoding: utf-8

    Proxy_IP=192.168.1.10
    Proxy_Port=7890

    # Set System Proxy
    function xyon(){
    export https_proxy=http://$Proxy_IP:$Proxy_Port
    export http_proxy=http://$Proxy_IP:$Proxy_Port
    export all_proxy=socks5://$Proxy_IP:$Proxy_Port
    echo -e "System Proxy is $Proxy_IP:$Proxy_Port"
    }

    # unSet System Proxy
    function xyoff(){
    unset all_proxy
    unset https_proxy
    unset http_proxy
    echo -e "System Proxy is Disabled"
    }

    # Default Function is Set Proxy
    if [ $# != 0 ]
    then
    if [ $1 == 'off' ]
    then
    xyoff
    elif [ $1 == 'on' ]
    then
    xyon
    else
    echo "Please Input on or off!"
    fi
    else
    echo "Please input command."
    fi
  2. 调用脚本
    chmod +x setproxy.sh
    # 因为父子shell的问题,使用source来使得脚本设置来修改当前父Shell环境变量
    # 开启代理
    source setproxy.sh on
    # 关闭代理
    source setproxy.sh off