当前位置: 首页 > news >正文

主机本地IP与公网IP以及虚拟机的适配器和WSL发行版的IP

        在局域网内,如果你想要连接到同一网络中的另一台设备,建议使用 本地 IP 地址(也称为局域网 IP 地址)。这是因为本地 IP 地址是在局域网内分配给设备的,用于在同一网络中的设备之间进行通信。

使用本地 IP 地址的好处

  1. 安全性:局域网内的通信通常是受到路由器保护的,不易受到外部攻击。
  2. 效率:使用本地 IP 地址直接在局域网内通信,速度更快,延迟更低。
  3. 便利性:在同一个局域网内,使用本地 IP 地址可以避免复杂的端口映射和网络配置。

示例

        假设你的本地 IP 地址是 192.168.1.100,目标设备的本地 IP 地址是 192.168.1.101,并且目标设备在 52125 端口上监听,你可以在命令提示符或终端中输入以下命令:

echo Hello, Server! | nc 192.168.1.101 52125

什么时候使用公网 IP

        如果你需要从局域网外的设备访问你的设备,或者你在不同的网络中,那么你需要使用公网 IP 地址,并且可能需要进行端口映射或使用其他网络配置。

        在使用 VMware 时,通常会创建多个网络适配器来支持不同的网络配置。比如适配器(VMnet1 和 VMnet8)分别用于不同的目的。这是 VMware 为管理虚拟机网络而设计的标准配置。让我详细解释一下这两种适配器的用途:

1. VMware Network Adapter VMnet1

  • 类型Host-Only Network(仅主机网络)
  • 用途: 这个适配器用于创建一个虚拟网络,允许主机(你的计算机)和虚拟机之间进行直接通信,而不与外部网络(例如 Internet)进行通信。
  • IP 地址192.168.235.1,这个地址是主机在该网络中的标识。
  • 示例场景: 在需要将多个虚拟机和主机隔离于外部网络,但又需要它们之间互通时,使用该适配器即可。

2. VMware Network Adapter VMnet8

  • 类型NAT Network(网络地址转换网络)
  • 用途: 这个适配器允许虚拟机通过 NAT 获取到外部网络的访问权限。虚拟机可以连接到外部 Internet,但不会直接暴露给外部网络。
  • IP 地址192.168.18.1,表示该 NAT 网络的网关地址。
  • 示例场景: 当你希望虚拟机能够访问 Internet,同时又不想让虚拟机获得公共 IP 地址时,可以使用 NAT 网络。

为什么同时存在两个适配器?

  • 支持不同的网络需求: 不同的虚拟机可能需要不同的网络环境。例如:

    • 如果你希望虚拟机与主机直接通信而不需要 Internet 连接,可以使用 VMnet1
    • 如果你的虚拟机需要访问 Internet,可以使用 VMnet8
  • 灵活性: VMware 提供多个虚拟网络接口,使用户能够根据需要灵活配置不同的网络环境,这样用户可以根据需求选择合适的网络来运行虚拟机。

        WSL(Windows Subsystem for Linux)在同一台机器上为每个不同的 Linux 发行版(如 Ubuntu 和不同版本的 Ubuntu)分配不同的 IP 地址。这意味着即使你安装了多个版本的 Ubuntu,它们也会有不同的 IP 地址。

详细解释

  1. WSL 网络隔离

    • WSL 为每个不同的 Linux 发行版创建一个独立的虚拟网络接口。
    • 这意味着每个 WSL 实例(包括不同版本的 Ubuntu)都有自己的网络接口和 IP 地址。
  2. IP 地址分配

    • 默认情况下,WSL 使用 Hyper-V 虚拟交换机,并为每个 WSL 实例分配一个内部 IP 地址。
    • 这些 IP 地址通常在 172.17.xxx.xxx 或 192.168.xxx.xxx 范围内的某个特定子网中。
  3. 查看 IP 地址

    • 你可以在每个 WSL 实例中使用 ifconfig 或 ip addr 命令来查看分配给该实例的 IP 地址。
    • 例如,在 Ubuntu 20.04 中运行 ifconfig,你会看到一个类似于 172.17.222.222 的 IP 地址。
    • 然后,在 Ubuntu 18.04 中运行 ifconfig,你可能会看到另一个 IP 地址,例如 172.17.222.223

 

 

http://www.lryc.cn/news/466159.html

相关文章:

  • @MassageMapping和@SendTo注解详解
  • 2.1_Linux发展与基础
  • c#子控件拖动父控件方法及父控件限在窗体内拖动
  • Redis --- 第八讲 --- 关于主从复制哨兵
  • 【数据结构】时间和空间复杂度-Java
  • tensorRT安装详解(linux与windows)
  • MYSQL OPTIMIZE TABLE 命令重建表和索引
  • 开发指南075-各种动画效果
  • 使用 el-upload 如何做到发送一次请求上传多个文件
  • GEE引擎架设好之后进游戏时白屏的解决方法——gee引擎白屏修复
  • Linux LVS 通用命令行
  • laravel .env环境变量原理
  • Nuxt.js 应用中的 app:templatesGenerated 事件钩子详解
  • 新时代AI桌宠:XGO Rider让你的办公室瞬间高大上
  • matlab的resample函数
  • idea怎么取消自动打开项目
  • 蓄电池在线监测系统 各大UPS铅酸蓄电池监测 保障安全
  • Python基础Day13
  • 有趣的css - 跷跷板加载动画
  • 与机器学习的邂逅--自适应神经网络结构的深度解析
  • 用python怎么实现办公自动化【批量生成出货清单】
  • 【Qt】控件——Qt输入类控件、常见的输入类控件、输入类控件的使用、Line Edit、Text Edit、Combo Box、Spin Box
  • 单臂交换知识点
  • CentOS7 上安装GitLab的经历
  • 用python-pptx轻松统一调整演示文档配色方案
  • MySQL-30.索引-介绍
  • 6-2.Android 对话框之基础对话框问题清单(UI 线程问题、外部取消、冲突问题、dismiss 方法与 hide 方法)
  • git配置以及如何删除git
  • 深入理解new Function
  • 服务器训练神经网络必备工具Screen使用教程