Win10子系统Ubuntu实战(二)

在 Windows 10 中安装 Ubuntu 子系统(Windows Subsystem for Linux,简称 WSL)有几个主要的用途和好处:Linux 环境的支持、跨平台开发、命令行工具、测试和验证、教育用途。总体而言,WSL 提供了一种将 Windows 和 Linux 生态系统融合在一起的方式,为用户提供更灵活和多样化的开发和使用体验。本文将是系列文章的第二篇。
 

一、Ubuntu环境问题与解决方案

1、无法连外网

通过上篇文章,我们搞定了Ubuntu在局域网(内网)的通信,但是因为内网网卡没有连接外网,这样会导致安装Ubuntu软件的时候会失败,如下图:

Win10子系统Ubuntu实战(二)_第1张图片

 2、解决方案

(1)搭建内网源服务器

优点:

  • 在内网中搭建源服务器,可以加速软件的安装,减少对外网的依赖。
  • 内网服务器可以提供自定义软件包,满足特定需求。

缺点:

  • 需要维护源服务器,确保软件包及时更新。
  • 在初始设置和维护上可能需要一些额外的工作。

建议:

  • 这是一个良好的选择,特别是在一个相对封闭的内网环境中。

(2)手动安装软件包

优点:

  • 可以手动下载软件包并在离线环境中进行安装。

缺点:

  • 容易漏掉依赖项,可能需要手动解决依赖关系。
  • 不方便进行软件的更新。

建议:

  • 适用于安装较少的软件或者特定的软件包,但不适合大规模应用和频繁更新。

(3)增加一个Ubuntu子系统虚拟网卡连接外网

优点:

  • 可以通过新的虚拟网卡连接外网,实现对外通信。
  • 不需要额外的服务器维护。

缺点:

  • 可能需要一些额外的配置,特别是在 NAT 方式下。
  • 需要确保网络配置不与现有网络冲突。

建议:

  • 如果内网环境允许,这是一个灵活的选择。确保虚拟网卡的配置不干扰到其他网络。

(4)补充方案:

  • 另一个选择是使用代理服务器,通过代理服务器访问外网。这可以通过设置环境变量或者在 apt 配置中指定代理来实现。这对于临时需要访问外网的情况可能更为方便。

最终选择取决于你的具体需求、网络环境和管理复杂性。在做出决定之前,建议评估每个方案的可行性和适用性。

根据我的情况,上述方案我都不选,我选择必要时关闭或打开桥接的方式。

 二、解决过程

1、当前网卡情况

如下图,eth0对应的虚拟网卡是vEthernet(WSL),子系统用的也是该虚拟网卡。

Win10子系统Ubuntu实战(二)_第2张图片

2、连接外网

(1)选择网桥点击属性,接着取消桥接模式

Win10子系统Ubuntu实战(二)_第3张图片

(2)退出子系统并关闭

wsl --shutdown

(3) 重新进入子系统

Win10子系统Ubuntu实战(二)_第4张图片

(4)安装nfs验证联网

sudo apt-get update
sudo apt install nfs-kernel-server
sudo mkdir -p /mnt/justdoit
sudo chown nobody:nogroup /mnt/justdoit
sudo chmod 777 /mnt/justdoit
sudo nano /etc/exports


  # 最后一行写入以下配置
  /mnt/justdoit *(rw,sync,no_subtree_check)
  # 或 写入最高权限
  /mnt/justdoit  *(rw,sync,no_root_squash,no_subtree_check)

sudo systemctl restart nfs-kernel-server
sudo ufw disable

 执行上述指令后,nfs安装成功,并创建了nfs挂载点 /mnt/justdoit:Win10子系统Ubuntu实战(二)_第5张图片

3、连接内网 

(1)选择网桥点击属性,接着选择桥接模式(虚拟网卡与内网网卡桥接)

Win10子系统Ubuntu实战(二)_第6张图片

(2)直接应用原先设置好的网卡设置

sudo netplan apply

(3)在局域网Linux设备上挂载

如下图,没有报错,挂载成功。

Win10子系统Ubuntu实战(二)_第7张图片

三、内网/外网切换技巧

1、可以增加一个shell脚本维护内网/外网切换

假如我们选择非桥接模式,那么我们可以设置一个网卡脚本,专门面向外网网卡的设置;

假如我们选择桥接模式,那么我们可以设置一个网卡脚本,专门面向内网网卡的设置,如上述方式,即应用指定网卡配置即可。

通过上述方式,在涉及内网和外网的网络配置时,通过设置不同的网卡脚本,可以提供更好的灵活性和维护性。下面是这种做法的好处:

内网/外网切换灵活性:

通过设置不同的网卡脚本,你可以轻松地切换系统连接的网络环境。例如,你可以在需要时快速切换到内网或外网,而无需手动配置每个网络环境。

维护简便:

使用脚本进行内网/外网的切换可以减少手动配置的工作量。当你需要切换网络环境时,只需运行相应的脚本即可,而不必手动更改网络配置。

避免配置混淆:

在桥接模式下,内网和外网可能会使用不同的网卡,因此通过设置专门的网卡脚本,可以避免配置混淆。你可以为每个网络环境设置特定的配置,而不会影响其他环境。

避免误操作:

通过使用脚本,可以减少由于手动配置而引起的错误。配置文件的结构化和注释可以提高脚本的可读性,减少误操作的风险。

提高自动化程度:

脚本可以集成到自动化工作流中,例如部署脚本、自动化测试等。这有助于提高整体系统的自动化程度,减少人工介入。

快速部署和重现:

使用脚本可以更容易地在不同的系统上部署相同的配置,从而提高配置的可重现性。这对于在多个环境中快速部署相同的网络配置非常有用。

总体而言,通过使用脚本进行内网/外网切换,可以使网络配置更加灵活、简便,减少配置错误的可能性,提高系统的可维护性和自动化程度。

你可能感兴趣的:(ubuntu,linux,windows)