• 虚拟机开启网络代理设置


    前言:

    不管是物理主机还是实验环境中的VMware虚拟机,有时候总要访问一些镜像网站或者资源网站拉取一些学习资料,但由于国内外网络环境的差异和网络安全的问题。总是会被阻拦。物理机相对比较容易一些,今天我们来说一说虚拟机应该怎么做。

    注明

    这里所演示的虚拟机网络均为 VMnet8

    一、代理软件设置

    我这里使用的是 clashX 了解更多的话请自行百度或后台私信

    打开clashX的主页面-----找到设置(Settings)-----找到选项 Outbound----请勾选上 VMnet8 选项
    在这里插入图片描述

    二、虚拟机代理设置

    因为有时候需要频繁开关代理设置,所以我干脆将步骤写成了脚本的形式
    执行一次是开启代理,再次执行则是关闭代理

    #!/bin/bash
    
    file="/etc/profile.d/proxy.sh"
    
    # 检查文件是否存在,如果不存在则创建
    if [ ! -f "$file" ]; then
        sudo touch "$file"
        echo "代理文件不存在,已创建。"
    fi
    
    # 检查文件是否为空
    if [ ! -s "$file" ]; then
        # 文件为空,引导用户输入物理机 IP
        echo "代理文件为空,请输入您的物理机 IP 地址:"
        read IP
    
        # 写入变量到文件
        sudo tee "$file" >/dev/null <<EOF
    export http_proxy="http://$IP:7891"
    export https_proxy="http://$IP:7891"
    export no_proxy="localhost,192.168.1.0/24,192.168.31.0/24,127.0.0.1"
    EOF
    
        # 使文件中的变量生效
        source "$file"
        echo -e "\e[32m已开启代理服务           [OK]\e[0m"
    else
        # 文件不为空,清空文件并使其生效
        sudo echo -n > "$file"
    
        # 使文件为空生效
        source "$file"
        echo -e "\e[31m已关闭代理服务          [STOP]\e[0m"
    fi
    
    

    执行脚本

    source  /root/proxy.sh
    

    或者

    bash /root/proxy.sh
    

    source 命令仅在当前 shell 中执行,并不会影响到其他 shell。
    如果你用bash执行完脚本,需要直接退出终端再重新登录,那么新的 shell 将会读取到文件中的环境变量。

    验证

    可以使用 export -p 命令查看环境变量是否生效
    在这里插入图片描述
    在使用 curl 命令在进行验证

    访问Google
    在这里插入图片描述

    访问GitHub
    在这里插入图片描述
    都可以正常访问,这样的话虚拟机代理就设置完毕啦

  • 相关阅读:
    HarmonyOS实现几种常见图片点击效果
    第一个SpringMVC
    程序员凡尔赛,工作三年晒出5月工资条,直言加班太累了
    【cocos2dx】记录问题,粒子不会通过setOpacity调整整体透明度
    git版本管理的使用
    PyQt5 QLineEdit基础
    k8s部署elk8 直接通过logstash获取日志文件方式
    css第二课:外部样式link和import的运用及行内样式的介绍
    局域网如何进行内网连接和外网连接
    2023全新小红书图集和视频解析去水印网站源码
  • 原文地址:https://blog.csdn.net/m0_51277041/article/details/139563548