【Linux|网络】Ubuntu 22.04.1 LTS 虚拟网络连接模式、多节点实验环境搭建

1、背景环境

在我们需要进行集群部署的软件学习的时候,最必要的是搭建好一个服务器环境,其中的关键需求就是能够让服务器互联。因此,我写了这篇文章的重要任务就是分享如何能够将服务器互联,也就是搭建多节点的虚拟机环境。

通过本文你可以了解到的内容有:

  • ① 计算机网络的基本内容;
  • ② VMware Workstation 的虚拟网络配置;
  • ③ Linux 网络基础命令以及网络配置方法。

实验环境

  • VMware® Workstation 16 Pro
  • Ubuntu 22.04.1 LTS

2、计算机网络基础

在开始虚拟网络配置之前,我们需要回答这样一个问题:电脑是如何上网的

当然这个问题不难回答,我们用网线连接电脑或者用无线网卡连接 WIFI 就可以上网了,但是我想进一步回答这个问题,让我们一起讨论其中的基础服务

  • 局域网(LAN,Local Area Network):指在一个相对较小的地理范围内连接多台计算机设别,比如办公室、家庭等等。

  • 广域网(WAN,Wide Area Network):指一种覆盖范围非常广泛的计算网络,可以跨越多个城市、国家,甚至洲际。

  • 网关(Gateway):指一种网络设备或软件,用于连接两个不同的网络或协议,并在它们之间进行数据交换。

一般, 我们家里的网络就是局域网或者叫内网,而广域网相对的就是互联网或者叫外网,想要让内网和外网相连接,就需要网关


路由器(Router) 是常用的网络设备,它主要用于连接两个或多个网络,并且在这些网络之间转发数据包,起到一个网关的作用。

在我们购买了网络服务后,互联网提供商会分配一个公共 IP 地址给到路由器,这样我们所有的上网请求最终都将通过这个公共的 IP 地址去请求,并且也通过这个 IP 地址来接收服务器的响应。

这里我们就会有一些疑问:

  • 1、我有手机、平板、电脑等等这些设备,怎么通过一个 IP 地址来去访问的呢?
  • 2、假设我有100台电脑,我难道要一个个地去给它们配置 IP 地址吗?
  • 3、我上网的时候,为什么我可以通过输入网址来去访问网站而不是 IP 地址?

【问题一の解决】

网络地址转换(NAT,Network Address Translation):是一种将私有 IP 地址转换为公共 IP 地址的技术,它允许多个设备共享一个公共 IP 地址,从而节省 IP 地址资源。

【问题二の解决】

动态主机配置协议(DHCP,Dynamic Host Configuration Protocol):是一种自动分配 IP 地址的协议,它简化了网络管理,避免了手动配置每个设备的 IP 地址。

【问题三の解决】

域名系统(DNS,Domain Name System):将我们容易读的域名转换为计算机可以读的 IP 地址,比如将 www.example.com 转为 12.13.33.43

3、虚拟网络连接模式

我们先了解到 VMware Workstation 中常见的网络连接模式

在编辑->虚拟网络编辑器中,我们一般会有三个虚拟网络分别是 VMnet0VMnet1VMnet8,分别负责进行不同的连接模式,并且在启用了 DHCP 功能的时候,虚拟机地址是动态分配的。

(1)桥接模式 Bridged Mode

  • 定义:桥接模式将虚拟机的网络适配器直接连接到物理网络,就像虚拟机和主机在同一个交换机上。这样,虚拟机可以像物理机一样获取IP地址,并与网络中的其他设备通信。
  • 优点:虚拟机可以直接访问局域网中的其他设备,适合需要与其他设备进行直接通信的场景。
  • 缺点:需要确保网络中有足够的 IP 地址分配给虚拟机。
虚拟机 <-> 虚拟机虚拟机 -> 宿主机宿主机 -> 虚拟机虚拟机 -> 互联网互联网 -> 虚拟机
桥接模式

【注意】:桥接模式下,可以将虚拟机和宿主机理解为同一局域网下的设备,因此它们之间是能够相互通信的,也因为虚拟机和宿主机处于同一个网段,所以互联网会将虚拟机视作同一网关下的不同设备来进行访问。

(2)NAT模式 Network Address Translation Mode

  • 定义:NAT 模式通过主机的网络连接来访问外部网络,同时用虚拟网卡实现主机网络与虚拟机网络通信。虚拟机通过 NAT 设备和 DHCP 服务器获取 IP 地址,并通过主机的 IP 地址访问外部网络。
  • 优点:虚拟机可以访问外部网络,而不需要额外的 IP 地址,适合需要访问外部网络但不需要被外部网络访问的场景。
  • 缺点:因为虚拟机和主机共享一个网络标识,所以外部网络无法直接访问虚拟机。
虚拟机 <-> 虚拟机虚拟机 -> 宿主机宿主机 -> 虚拟机虚拟机 -> 互联网互联网 -> 虚拟机
网络地址转换×

【注意】:当我们尝试把 VMnet8 虚拟网卡禁用时,会发现宿主机无法 ping 通虚拟机,而虚拟机可以 ping 通宿主机。这是因为在 NAT 模式下,虚拟网卡被禁用后,宿主机无法通过 NAT 设备去找到虚拟机的 IP 地址;而虚拟机仍然可以通过宿主机的物理网卡进行通信,因为这时宿主机就相当于一个路由器

(3)主机模式 Host-Only Mode

  • 定义:主机模式将虚拟机与主机隔离开来,只允许虚拟机与主机之间通信。虚拟机通过虚拟网卡和虚拟交换机与主机通信。
  • 优点:适合需要隔离虚拟机与外部网络的场景,确保虚拟机的安全性。
  • 缺点:虚拟机无法访问外部网络。
虚拟机 <-> 虚拟机虚拟机 -> 宿主机宿主机 -> 虚拟机虚拟机 -> 互联网互联网 -> 虚拟机
仅主机模式×××

【注意】:虚拟机是无法 ping 通宿主机的原因可能是仅主机模式下是没有 NAT 设备的,因此也就没有从 VMnet1LAN 的网关,所以虚拟机无法 ping 通宿主机;但是因为有虚拟网卡,所以宿主机可以 ping 通虚拟机

4、虚拟机多节点环境配置

根据上述内容来说,我们想配置一个多节点的 Linux 虚拟机环境的话,就要这样做:

  • 1、打开虚拟网络编辑器,设置 VMnet8 也就是 NAT 模式下的 子网IP子网掩码
  • 2、分别给虚拟机配置静态 IP 地址,这样方面对每个设别进行管理。

这里,给到实践要配置的具体参数,参数完全可以根据实际需求进行更改,

VMnet8 子网IPVMnet8 子网掩码VMnet8 网关Master IP地址Node1 IP地址Node2 IP地址
192.168.247.0255.255.255.0192.168.247.2192.168.247.128192.168.247.129192.168.247.130

①设置 VMnet8 虚拟网络的子网、掩码、网关

②配置静态 IP 地址

首先我们切换到 root 模式,在管理员模式下,编辑 /etc/netplan/01-network-manager-all.yaml 的文件。

su root
vim /etc/netplan/01-network-manager-all.yaml 

然后,大概的文件格式如下,我们把 DHCP 服务关闭,并且设置对应的网关,此外 DNS 服务可以设置为网关或者其他的知名 DNS 服务器。

# Let NetworkManager manage all devices on this system
network:
  ethernets:
    ens33:    # network adapter
      dhcp4: false
      dhcp6: false
      addresses:
        - 192.168.247.128/24 # static IP
      routes:
        - to: default
          via: 192.168.247.2 # gateway
      nameservers:
        addresses:
          - 192.168.247.2   # local domain
          - 8.8.8.8
  version: 2
  renderer: NetworkManager

接着,我们将设置好网络配置应用一下,然后看看有没有设置成功。

netplan apply
ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:cd:f1:4d brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.247.128/24 brd 192.168.247.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fecd:f14d/64 scope link 
       valid_lft forever preferred_lft forever

最后,我们只需要对虚拟机进行克隆,并且修改对应的静态 IP 地址就可以了。

③测试虚拟机的互联

Master 虚拟机视角分别 ~·

Master 虚拟机 -> Node1 虚拟机 / Node2 虚拟机

参考内容

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值