Linux 网络设备 - Bridge 详解

说白了,Linux中的Bridge功能是进行虚拟网络连接的一项关键技术。
其实很简单,但复杂之处在于数据包流向机制和配置细节。
我们先来说说最重要的事情。
Bridge可以被认为是一个虚拟交换机。
在我们去年做的项目中,我们使用Bridge来实现容器之间的通信。
网桥的数据包​​流向流程如下:当数据包通过veth0_br进入br0时,br0会根据MAC地址表判断数据包流向。
还有一点是,tap0 TAP设备只是用来接收以太网帧,并不进行任何报文回传操作。
这个细节非常关键,因为它让我们只能观察 br0 的行为。

我最初以为Bridge在设置后会自动工作,但后来我发现这是错误的。
还需要配置物理网卡的三层功能,否则容器无法访问外网。
等等,还有一件事。
我们通过在 ns0 和 ns1 中创建 vethpair 设备并观察 MAC 表更新来验证网桥学习机制。
在这个过程中我们使用了内核的ping请求和arp广播功能。

最后,实验结果表明,虽然网络环境初步建立,但容器间通信和外部网络访问仍需要进一步配置。
我们将enp0s5 物理网卡插入到br0中,解决了容器通过物理网卡访问外网的问题。
在这个过程中,我们发现物理网卡的三层功能失效,需要重新配置IP绑定和路由策略。
我认为值得尝试将容器网络和物理网络放在同一个三层环境中,这样实验可以演示容器和物理机之间的连通性。
总体而言,通过以太网帧在二层设备中的流动直观地解释了LinuxBridge的功能和行为,为后续探索节点间的容器通信奠定了基础。

实验:本地VNC连接Linux桌面版OS

说实话,在使用VNC本地连接他们的Linux桌面操作系统之前,我已经帮助朋友做过很多次了,而且有很多陷阱。
下面我就根据自己的经历给大家做一个概述。
可能有点啰嗦,但我会尽力清楚地解释每个链接的细节。
第1 步:下载VNCServer 进入realvnc.com官网,不要走错下载页面。
他们的免费版本就足够了。
确保它是 Linux 版本,而不是 Windows 版本。
我第一次安装VNCServer的时候差点就安装了Windows版的。
还好我发现得及时,不然我得卸载重装好久了。
直接使用官方网站提供的链接,不要从任何scratch网站下载,这样不安全。

第2 步:设置VNC密码 安装后,最重要的一步是设置密码。
直接在终端中输入 vncpasswd ,它会要求您输入密码两次。
不要使用非常简单的密码,但应该容易记住。
毕竟是本地连接的,忘记密码就更烦人了。
当时我输入的是“Linux2 02 4 ”,结果发现每次连接都要输入,有点烦人。
后来我改成“vnc1 2 3 ”,登录提示说密码不足。
非常尴尬。
所以记得多尝试几次,直到系统确认密码存在。

第三步:检查端口状态 这非常重要,尤其是当您在该区域进行测试时。
使用命令 ss -tulnp | grep 5 9 0。
我以前经历过端口捕获。
当时系统中安装了另一个远程管理软件,端口为5 9 01 因此VNC无法连接,我以为密码错误。
检查端口后发现有其他软件占用了该端口。
因此,应首先执行该命令,以防止该端口被其他人使用。
第四步:启动VNC服务器 启动命令为vncserver:1 这里的“:1 ”可以用“:2 ”“:3 ”等代替。
每个数字对应一个显示窗口。
刚开始的时候没看懂提示,连接了三遍。
这样一来,系统中又多出了三个窗口。
后来发现一个连接就够了,多了就是浪费资源。
启动后的碎片包括配置,注意,注意,密码是什么 5 .如果无法连接,检查日志! 如果无法连接,不用担心,先检查一下记录。
使用 grep vnc /var/log/messages。
我有一个朋友由于防火墙问题而无法连接。
日志上明明写着“连接被拒绝”,但他挣扎了半天假装没看到。
所以,你必须阅读记录。
很多时候,这就是问题所在。
特别是初学者,建议全屏打开文档,逐行阅读。

第六步:多个窗口和解决方案 如果需要多个窗口,例如一个窗口查看桌面,另一个窗口查看终端,可以在启动命令中添加一个数字,例如vncserver:2 至于分辨率,可以在启动前使用xrandr调整,或者直接在VNC查看器中配置。
以前我帮人安装的时候,客户要求两个窗口,一个1 9 2 0x1 08 0,一个1 2 8 0x7 2 0。
启动后发现两个窗口的分辨率是一样的,真​​是着急。

第 7 步:清理旧的 X1 1 文件 这是非常重要的一步,尤其是在重新安装或升级系统之后。
直接进入/tmp/.X1 1 -unix目录,删除除X0之外的所有文件。
我有一个客户安装了 3 次 VNC,但每次都错过了这一步。
结果每次都报“连接失败”。
后来我删除了整个目录并重新启动系统,一切正常。

第 8 步:开始故障排除 最让人头疼的是启动失败。
如果连接失败,请尝试删除/tmp/.X1 1 -unix/X0和/tmp/.X1 1 lock,然后重新启动系统。
我有一个朋友,用这个方法保存了很多次系统,但是后来每次重启的时候,我发现系统里有很多临时文件,最后还是得清理掉。
所以这种方法虽然可以解决一时之需,但是治标不治本。

总的来说,VNC使用起来很方便,但是各方面细节都要注意,尤其是端口、日志和文件清理。
我帮人装衣服的时候,我会看七八遍,担心有问题。
幸运的是,Linux系统相对稳定。
如果不起作用,重新启动它通常可以解决问题。

Linux实验五 怎么把diif和tree结合

是的,这就是问题所在。
树命令在 Ubuntu 中不可用。

使用 sudo apt-get install tr​​ee 进行安装。

查看帮助,树--help。

直接输入tree即可查看当前目录的树形结构。

-L1 只查看第一层,-L2 只查看第二层,以此类推。

保存结构,tree -L2 > /home/xyh/tree.txt。

自己看看是否一样。