typecho 发布的文章

在思科交换机上,可以使用以下命令查看接口简报:

  • 查看接口简要状态[__LINK_ICON]:使用 show interfaces status 命令,可查看接口的简要状态,包括端口名称、连接状态、所属VLAN、双工模式、速率和接口类型等信息。例如:

plaintext

Switch# show interfaces status
Port Name Status Vlan Duplex Speed Type
Fa0/1 connected 1 auto auto 10/100BaseTX
Fa0/2 notconnect 1 auto auto 10/100BaseTX
 

  • 查看接口IP地址及状态[__LINK_ICON]:使用 show ip interface brief 命令,能快速查看所有接口的IP地址及状态,方便检查IP配置情况。输出结果会显示接口名称、IP地址、状态和协议状态等。例如:

plaintext

Switch# show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/1 192.168.1.1 YES manual up up
FastEthernet0/2 unassigned YES unset down down
 

  • 查看接口描述信息[__LINK_ICON]:若想查看接口描述信息,可使用 show interfaces description 命令,有助于快速了解每个接口的用途。示例如下:

plaintext

Switch# show interfaces description
Interface Status Protocol Description
FastEthernet0/1 up up Connect to Server
FastEthernet0/2 up up Connect to Router
 

  • 查看接口流量状态[__LINK_ICON]:使用 show interfaces usage 命令,可查看接口的带宽状态,了解接口的流量使用情况。

在思科交换机上,可以通过以下命令查看Trunk接口的情况:

  • 查看所有Trunk接口详细信息[__LINK_ICON]:使用 show interfaces trunk 命令,可查看所有Trunk接口的详细信息,包括端口编号、Trunk协议工作模式、封装类型、状态、默认本地VLAN ID、允许通过的VLAN列表以及当前活动的VLAN列表等。例如:

plaintext

Switch# show interfaces trunk
Port Mode Encapsulation Status Native VLAN
Fa0/1 on 802.1q trunking 1
Port Fa0/1
Allowed VLANs: 1-10,20
Active VLANs: 1,5,10
 

  • 查看特定接口的Trunk配置[__LINK_ICON]:若要查看某个特定接口的Trunk配置,可使用 show running - config interface  命令。例如查看接口 FastEthernet0/1 的配置,命令为 show running - config interface FastEthernet0/1 ,输出内容会显示该接口是否启用Trunk模式以及允许通过的VLAN列表等信息。
  • 查看接口的详细模式[__LINK_ICON]:使用 show interfaces <接口> switchport 命令,可查看特定接口的详细模式信息,能确认接口是处于Access还是Trunk模式,以及相关的VLAN配置等。例如 show interfaces GigabitEthernet0/1 switchport ,可查看 GigabitEthernet0/1 接口的相关信息。

Samba 服务器(Linux 系统中实现 SMB 共享的服务)。从 Windows 访问时提示“没有权限”,核心原因是 Samba 服务配置、Linux 系统权限、Windows 访问设置三者中存在权限不匹配,具体排查方向如下:

一、优先排查 Samba 服务自身配置(最常见原因)

Samba 共享权限需在  /etc/samba/smb.conf  配置文件中明确设置,若未允许访问或权限不足,会直接导致 Windows 提示无权限。

1. 检查共享目录的 Samba 权限配置

打开配置文件: sudo vi /etc/samba/smb.conf ,找到您设置的共享段(如  [share] ),确保包含以下关键配置(根据需求调整):

ini

[share] # 共享名称(Windows 访问时显示的名称)

path = /home/smb_share  # 实际共享的 Linux 目录路径
public = no  # 是否允许匿名访问(no=需 Samba 账号密码)
writable = yes  # 是否允许写入(yes=可读写,no=只读)
valid users = smbuser  # 允许访问的 Samba 账号(需提前创建)
create mask = 0644  # 新建文件的权限
directory mask = 0755  # 新建目录的权限

 

  • 若  public = yes  仍无法访问,需检查是否漏加  guest ok = yes (允许匿名)。
  • 配置后需重启 Samba 生效: sudo systemctl restart smb nmb 。

    2. 确认 Samba 账号已创建并生效

    Samba 权限依赖独立的“Samba 账号”(与 Linux 系统账号可同名,但密码独立),若未创建或密码错误,会提示无权限:

  • 创建 Samba 账号(需先存在同名 Linux 账号,如  smbuser ):
     sudo smbpasswd -a smbuser (按提示输入并确认密码)。
  • 检查账号是否激活: sudo pdbedit -L (列出所有有效 Samba 账号,确保目标账号在列)。

二、排查 Linux 系统目录的基础权限(易忽略)

Samba 权限生效的前提是:Linux 系统本身对“共享目录”的权限,允许 Samba 服务(或 Samba 账号)访问。即使 Samba 配置允许,Linux 目录权限不足仍会阻断访问。

1. 查看并调整共享目录的 Linux 权限

执行命令查看权限(将  /home/smb_share  替换为您的共享目录):
 ls -ld /home/smb_share 

  • 要求:目录的“所有者”或“所属组”需包含 Samba 账号(如  smbuser ),且至少具备  r-x  权限(读+执行,执行权限是进入目录的前提)。
  • 若权限不足,执行命令调整(示例:给所属组添加  r-x  权限):
     sudo chmod g+r-x /home/smb_share 
  • 若需允许写入,需添加  w  权限: sudo chmod g+w /home/smb_share 。

    2. 检查 SELinux 限制(CentOS/RHEL 特有)

    Linux 系统的 SELinux 安全机制可能默认阻止 Samba 访问目录,需手动允许:

  • 临时关闭 SELinux 测试(若测试后可访问,说明是 SELinux 问题):
     sudo setenforce 0 (重启后失效,仅用于测试)。
  • 永久允许 Samba 访问目录(推荐):
     sudo semanage fcontext -a -t samba_share_t "/home/smb_share(/.*)?" 
     sudo restorecon -Rv /home/smb_share (刷新 SELinux 上下文)。

三、排查 Windows 端访问设置(细节问题)

1. 确认访问方式正确

Windows 访问 Samba 共享的路径格式: \Samba服务器IP\共享名称 (如  \192.168.1.100\share ),避免输错 IP 或共享名称。

2. 验证登录账号密码正确

当 Windows 弹出“输入网络凭据”时,需输入 Samba 账号和密码(不是 Linux 系统账号密码,也不是 Windows 本地账号),且注意区分大小写。

3. 清除旧的错误凭据(若曾输错过密码)

若之前保存过错误的账号密码,Windows 会重复使用导致权限失败,需清除:

  • 打开 Windows “控制面板 → 用户账户 → 管理你的凭据 → Windows 凭据”。
  • 找到对应 Samba 服务器(如  192.168.1.100 )的凭据,点击“删除”,重新访问时输入正确账号密码。

四、快速排查流程(按顺序操作)

1. 先测试 Samba 服务是否正常:在 Linux 本地执行  smbclient -L //localhost/share -U smbuser (输入密码后能看到共享列表,说明 Samba 服务和账号正常)。

2. 再检查 Linux 目录权限: ls -ld /home/smb_share  确保 Samba 账号有访问权限。

3. 最后在 Windows 端清除旧凭据,重新用  \IP\共享名  访问,输入正确 Samba 账号密码。

按以上步骤排查,90% 以上的“权限问题”可解决,核心是确保 Samba 配置权限、Linux 目录权限、Windows 登录凭据三者一致且有效。

在 Ubuntu 系统中安装 KVM 需先确认硬件支持,再通过命令行完成安装,具体步骤如下:

1. 确认硬件虚拟化支持

首先检查 CPU 是否开启虚拟化(Intel-VT 或 AMD-V),在终端执行以下命令:

bash

grep -Eoc '(vmx|svm)' /proc/cpuinfo
 

  • 输出 大于 0:支持虚拟化,继续下一步;
  • 输出 0:需重启电脑进入 BIOS/UEFI,手动开启虚拟化功能。

2. 安装 KVM 核心组件

更新系统软件包后,安装 KVM 及相关工具( qemu-kvm  为核心虚拟化模块, libvirt-daemon  用于管理虚拟机, virt-manager  为图形化管理工具):

bash

1. 更新软件源

sudo apt update

2. 安装 KVM 组件

sudo apt update

sudo apt install -y \
    qemu-kvm \
    libvirt-daemon-system \
    libvirt-clients \
    virtinst \
    bridge-utils \
    cpu-checker

 

如果你有桌面环境,可以再安装:

sudo apt install -y virt-manager

检查 KVM:

lsmod | grep kvm

正常 Intel CPU 一般看到:

kvm_intel
kvm

AMD 则通常是:

kvm_amd
kvm

检查:

sudo kvm-ok

如果没有 kvm-ok:

sudo apt install -y cpu-checker
sudo kvm-ok

正常:

INFO: /dev/kvm exists
KVM acceleration can be used 

3. 将当前用户添加到相关组

避免每次操作都需输入  sudo ,将用户加入  kvm  和  libvirt  组(需注销或重启生效):

bash
  
sudo adduser $USER kvm
sudo adduser $USER libvirt
 

4. 验证安装

执行以下命令,若输出  running  则表示 KVM 服务已正常启动:

bash
  
sudo systemctl status libvirtd
 

5. 启动 KVM 管理工具

  • 图形化界面:在 Ubuntu 应用菜单中搜索  Virtual Machine Manager (或终端执行  virt-manager );
  • 命令行:可通过  virsh  命令管理虚拟机(如  virsh list --all  查看虚拟机列表)。

6、配置你的 br0

先执行下面这 4 个命令:

ip -br addr
ip route
ls -l /etc/netplan/
cat /etc/netplan/*.yaml

获取相关的网络配置信息
image.png

先备份 Netplan

非常建议:

sudo cp /etc/netplan/50-cloud-init.yaml \
        /etc/netplan/50-cloud-init.yaml.bak

然后编辑:

sudo nano /etc/netplan/50-cloud-init.yaml

把现在:

network:
  version: 2
  ethernets:
    eno2:
      dhcp4: true

改成:

network:
  version: 2

  ethernets:
    eno2:
      dhcp4: false

  bridges:
    br0:
      interfaces:
      - enp3s0
    addresses:
    - 192.168.1.100/24
    routes:
    - to: default
      via: 192.168.1.1
    nameservers:
      addresses:
      - 192.168.1.1
      - 8.8.8.8
    parameters:
      stp: false
      forward-delay: 0

保存:

⚠️ 不要直接 netplan apply

因为你现在很可能是 SSH 远程登录。
先去掉

parameters:
  stp: false
  forward-delay: 0

否则sudo netplan try执行不成功
先执行:

sudo netplan generate

如果没有任何错误,再执行:

sudo netplan try

这是非常重要的一步。

netplan try 会临时应用新的网络配置。

如果网络正常,确认配置。

如果网络真的断了,没有确认,Netplan 会自动回滚。

检查ip -br addr

应用更改:sudo netplan apply

在使用 VirtualBox 时,如果遇到无法启用 AMD-V(AMD虚拟化技术)扩展的问题,可能是因为与 KVM 内核模块冲突。AMD-V 是 AMD处理器上的一个硬件特性,用于提高虚拟化性能。而 KVM 是 Linux 下的一个开源虚拟化模块,它允许在 Linux 上运行虚拟化技术。

要解决这个问题,你可以尝试以下几种方法:

1. 禁用 KVM 内核模块

你可以尝试禁用 KVM 内核模块,这样 AMD-V 就可以被启用。以下是操作步骤:

查看当前加载的模块:

打开终端,输入以下命令来查看当前加载的内核模块:

lsmod | grep kvm

临时禁用 KVM:

你可以通过重新加载 VirtualBox 的内核模块来暂时禁用 KVM。首先卸载 VirtualBox 的内核模块,然后重新加载它们:

sudo modprobe -r kvm_amd # 如果你的处理器是 Intel 处理器,则使用 kvm_intel
sudo modprobe -r kvm # 卸载 kvm 模块
sudo modprobe kvm # 重新加载 kvm 模块

永久禁用 KVM:

如果你希望永久禁用 KVM,可以编辑 /etc/modprobe.d/blacklist.conf 文件(如果不存在,则创建此文件),并添加以下行:

blacklist kvm_amd
blacklist kvm

然后重新启动系统。

2. 检查 BIOS/UEFI 设置

确保在 BIOS/UEFI 设置中启用了 AMD-V(或 Intel VT-x,取决于你的处理器类型)。有时候,即使 Linux 禁用了 KVM,BIOS/UEFI 设置中也可能需要手动启用这些虚拟化技术。

重启你的电脑并进入 BIOS/UEFI 设置。

在设置中找到“AMD Virtualization”(或“Intel Virtual Technology”)选项,并确保它被启用。

保存设置并重启电脑。

3. 更新 VirtualBox 和内核

确保你的 VirtualBox 和 Linux 内核都是最新版本。有时候,软件更新可以解决兼容性问题或已知的bug。

sudo apt update && sudo apt upgrade # 对于基于 Debian 的系统
sudo yum update # 对于基于 RHEL 的系统

更新 VirtualBox:

sudo apt install virtualbox # Debian/Ubuntu
sudo yum install VirtualBox # CentOS/RHEL

4. 检查 VirtualBox 配置文件

检查 VirtualBox 的配置文件,确保没有错误的设置阻止了 AMD-V 的启用。你可以尝试重置 VirtualBox 的网络配置或重新安装 VirtualBox。

5. 使用命令行选项启动 VirtualBox

在启动 VirtualBox 时,使用命令行选项来尝试解决问题:

VBoxManage setextradata global GUI/SuppressMessages dialogID # 根据提示信息具体操作,例如禁用某些警告或错误信息。

通过上述方法,你应该能够解决 VirtualBox 无法启用 AMD-V 的问题。如果问题仍然存在,可能需要查看更详细的系统日志或联系技术支持获取进一步帮助。