如何让虚拟机拥有愉快网络环境,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

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex