如何让虚拟机拥有愉快网络环境,vmware,ubuntu,centos

2024-02-05 10:44

本文主要是介绍如何让虚拟机拥有愉快网络环境,vmware,ubuntu,centos,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

博客原文

文章目录

    • 前言
    • 拥有愉快网络环境步骤:
      • 测试网关连接
    • Ubuntu
      • 修改 http 与 sock 代理地址
      • 修改 /etc/resolv.conf
      • 配置 apt 使用代理
      • 测试连接
    • Centos
      • 设置代理地址
      • 修改 NetworkManager
      • 最后重启网卡:
      • 测试代理

前言

相信计算机专业的同学在学习 linux 时, 一定会被无法获取网络资源而困惑, 本文带你打通 vmware 虚拟机与主机代理的壁垒

我的 Vmware 网关: 192.168.254.2

注: Vmware 的网关配置有巨坑, 下文会带你破译

拥有愉快网络环境步骤:

  1. 确保网关能够 ping 通
  2. 修改 http 与 sock 代理地址
  3. 修改 dns (resolv.conf)
  4. 测试连接

如果网关不通就 vmware 的网络设置问题

测试网关连接

确保你局域网内设备能够 ping 通网关

Ubuntu

修改 http 与 sock 代理地址

开启局域网连接

image-20240116192407913

v-two-ray 端口地址:

image-20240116192334539

修改 linux 代理地址

注意: 这里的 hostip, 如果是 vmware 虚拟机, 需要保证主机能够 ping 通虚拟机的网关

我的 vmware 为 nat 网关为: 192.168.254.2, 但是主机不能 ping 通 192.168.254.2, 因为 192.168.254.2 类似与虚拟网关, 但是 192.168.254.1 主机能够 ping 通, 能够 ping 通就能转载流量, 所以 hostip 改为 192.168.254.2

如果是 wsl 就用改, wsl 的网关本来就是一个真实网关

注意: 虚拟机网卡配置的网关依然得是虚拟 ip: 192.168.254.2

# add proxy
export hostip=$(ip route | grep default | awk '{print $3}')
export hostip=192.168.254.1   # 按你的 nat 配置修改为可承载流量的网关, 如果网关真实可达, 注释本行
# export socks_hostport=7890
# export http_hostport=7890
export socks_hostport=10810   # v2ray
export http_hostport=10811
# export socks_hostport=7897
# export http_hostport=7897
alias proxy='export https_proxy="https://${hostip}:${http_hostport}"export http_proxy="http://${hostip}:${http_hostport}"export ALL_PROXY="socks5://${hostip}:${socks_hostport}"export all_proxy="socks5://${hostip}:${socks_hostport}"
'
alias unproxy='unset ALL_PROXYunset https_proxyunset http_proxyunset all_proxy
'
alias echoproxy='echo $ALL_PROXYecho $all_proxyecho $https_proxyecho $http_proxy
'
#end proxy

修改 /etc/resolv.conf

/etc/resolv.conf 是一个软链接文件, 我们直接修改会无效

  1. 修改 /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 114.114.114.114
#FallbackDNS=
...
  1. 重载 resolve
$ systemctl restart systemd-resolved 
  1. 新建 /etc/resolv.conf 链接
$ mv /etc/resolv.conf /etc/resolv.conf.bak$ ln -s /run/systemd//resolve/resolv.conf /etc/

配置 apt 使用代理

虚拟机配置了代理就无法使用 apt, 需要配置 apt 代理

cat << EOF > /etc/apt/apt.conf.d/98https-http-proxy
Acquire::http::Proxy "http://192.168.254.1:10811";
Acquire::https::Proxy "http://192.168.254.1:10811";
EOF

测试连接

image-20240116204539080

为什么 ping 不通, 因为 ping 是基于 ICMP 协议, 所以 ping 不走代理

ping 不通不影响

Centos

开启局域网连接

image-20240116192407913

v-two-ray 端口地址:

image-20240116192334539

设置代理地址

centos 暴露路径也相同

# add proxy
export hostip=$(ip route | grep default | awk '{print $3}')
export hostip=192.168.254.1  # 按你的 nat 配置修改为可承载流量的网关, 如果网关真实可达, 注释本行
# export socks_hostport=7890
# export http_hostport=7890
export socks_hostport=10810
export http_hostport=10811
# export socks_hostport=7897
# export http_hostport=7897
alias proxy='export https_proxy="https://${hostip}:${http_hostport}"export http_proxy="http://${hostip}:${http_hostport}"export ALL_PROXY="socks5://${hostip}:${socks_hostport}"export all_proxy="socks5://${hostip}:${socks_hostport}"
'
alias unproxy='unset ALL_PROXYunset https_proxyunset http_proxyunset all_proxy
'
alias echoproxy='echo $ALL_PROXYecho $all_proxyecho $https_proxyecho $http_proxy
'
#end proxy

修改 NetworkManager

修改/etc/NetworkManager/NetworkManager.conf文件,在main部分添加dns=none选项:

[main]
plugins=ifcfg-rh
dns=none # 注意是这句

再手动修改/etc/resolv.conf文件,添加下面的DNS:

nameserver 114.114.114.114
nameserver 8.8.8.8

最后重启网卡:

systemctl restart network

测试代理

image-20240117103010500

为什么 ping 不通, 因为 ping 是基于 ICMP 协议, 所以 ping 不走代理

ping 不通不影响

这篇关于如何让虚拟机拥有愉快网络环境,vmware,ubuntu,centos的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680658

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级