wqc30311 发布的文章

我这里以我们的all in one主板为例,我们主板,查找USB设备时,可以看到有两个芯片组,一个是板载的不能原生直通,一个是可以原生直通的,现在我就来演示如何把不能原生直通的这个USB芯片开启直通。

目前我要直通的这个板载USB芯片组处于灰色状态,直通状态显示不支持

ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享
一、第一步我们记录下这个设备的供应商ID、设备ID以及类ID
ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享
其中查看顺序为1.供应商ID 2.设备ID。类ID为查询ID这个稍后不用填入直通列表

二、开启ESXI的SSH功能
ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享
三、查询确认ID,这一步不是必须的,只是验证一下
lspci -v | grep "Class 0c03" 这的0C03就是类ID0XC03
ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享
ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享
四、添加直通代码
vi /etc/vmware/passthru.map
在最后添加

Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI

8086 8C31 d3d0 default

其中8086是供应商ID 8C31是设备ID d3d0和default固定值
ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享
然后保存退出,并重启启动ESXI

esc
:wq
现在当我们重启完成,就已经显示可以设置直通了,直通状态显示禁用,现在我们就可以去切换直通了。

ESXI | 6.7-7.0如何强制直通板载USB芯片组 – Vedio Talk - VLOG、科技、生活、乐分享

ESXI主机直通网卡时,一般默认管理口是网口一,这个口是不能直通的,但是还是有的朋友会不注意全部网口都直通,直通后web管理界面就进入不了,有的朋友直接恢复ESXI主机,这样之前的配置就全部消失了,以下是在不全部恢复的情况下,恢复管理口为不直通的状态,从而重新可以进入web管理界面。
解决方法:
一、登录ESXI的ssh

二、输入命令进入编辑状态
vi /etc/vmware/esx.conf
ESXI | 网卡全部直通后,无法进入WEB管理后台,恢复管理口不直通的方法 – Vedio Talk - VLOG、科技、生活、乐分享

三、找到vmnic0下面的
/device/00000:001:00.0/owner = "passthru"
ESXI | 网卡全部直通后,无法进入WEB管理后台,恢复管理口不直通的方法 – Vedio Talk - VLOG、科技、生活、乐分享

把passthru修改为vmkernel
/device/00000:001:00.0/owner = "vmkernel"
ESXI | 网卡全部直通后,无法进入WEB管理后台,恢复管理口不直通的方法 – Vedio Talk - VLOG、科技、生活、乐分享

按“ESC”退出编辑模式,输入“:wq”保存退出

介绍
几种通过自己服务器实现内网穿透的教程

基于Docker的FRP内网穿透部署
服务器搭建(FRPS)
创建配置文件

# 创建存放目录
sudo mkdir /etc/frp
# 创建frps.ini文件
nano /etc/frp/frps.ini
frps.ini内容如下:

[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = spoto1234
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081

# 身份验证
token = 12345678
#服务器镜像:snowdreamtech/frps
#重启:always
#网络模式:host
#文件映射:/etc/frp/frps.ini:/etc/frp/frps.ini

docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
中转客户端配置(FRPC)
服务器镜像:snowdreamtech/frpc
重启:always
网络模式:host
文件映射:/路径/frp/:/etc/frp/
配置文件示例:

[common]
# server_addr为FRPS服务器IP地址
server_addr = x.x.x.x
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288

# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。
# type 为连接的类型,此处为tcp
# local_ip 为中转客户端实际访问的IP
# local_port 为目标端口
# remote_port 为远程端口

[ssh]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18022

[unRAID web]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18088

[Truenas web]
type = tcp
local_ip = 192.168.1.235
local_port = 80
remote_port = 18188

[speedtest]
type = tcp
local_ip = 192.168.1.229
local_port = 6580
remote_port = 18190

[webdav]
type = tcp
local_ip = 192.168.1.235
local_port = 18080
remote_port = 18189

[RDP PC1]
type = tcp
local_ip = 192.168.1.235
local_port = 3389
remote_port = 18389
如果监听服务可以有IP限制的设置,需要允许的访问IP为中转内网设备的内网IP;
FRP由于端口会暴露在互联网上,虽然说使用方便但安全性较差;
基于Zerotier根服务器的内网穿透部署
创建(伪)根服务器 | 项目地址:https://github.com/Jonnyan404/zerotier-planet
docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=4000 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=mrdoc.fun -p 4000:4000 keynetworks/ztncui
创建 moon 服务器 | 项目地址:https://github.com/jonnyan404/docker-zerotier-moon
#创建容器
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 [公网ipx.x.x.x]

#查看moon ID
docker logs zerotier-moon
群晖 DSM 7.x 安装Zerotier客户端
登录SSH并创建虚拟网络设备TUN
#获取权限
sudo -i

#创建“创建虚拟网络设备TUN”的脚本,并设为开机自动运行
echo -e '#!/bin/sh -e \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh

#给予脚本运行权限
chmod a+x /usr/local/etc/rc.d/tun.sh

#运行脚本创建TUN
/usr/local/etc/rc.d/tun.sh

#确认TUN是否创建成功
ls /dev/net/tun
创建存放配置文件的目录

mkdir /var/lib/zerotier-one
创建Zerotier应用容器:

docker run -d \
--name zt \
--restart=always \
--device=/dev/net/tun \
--net=host \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
-v /var/lib/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest
常用命令:

#查看zerotier状态
docker exec -it zt zerotier-cli status

#加入网络
docker exec -it zt zerotier-cli join [xxxxxxxxxxxx]
#加入moon服务器
docker exec zt zerotier-cli orbit [moon_ID] [moon_ID]
#确认是否加入
docker exec zt zerotier-cli listpeers
Windows 客户端加入moon服务器
cd C:\ProgramData\ZeroTier\One
zerotier-cli orbit [moon_id] [moon_id]

这个原因主要是版本过旧引起,需要更新到最新本。
进入路由器后台点扩展功能-配置扩展环境-opt 环境同时启用启用 opt 自动更新和启用 扩展脚本 自动更新。
等待更新完成。。。
可在查看当前版本
当前 opt 文件:【2022-5-22】,最新 opt 文件:【2022-5-22】
当前 script 文件:【2022-04-04】,最新 script 文件:【2022-04-04】

如果还是不行那就真的端口冲突了。
重置OPT文件,使用默认配置文件先测试能成功运行后再修改自己的配置文件。

什么是 HACS
HACS 可以理解为 Home Assistant 上的一个第三方应用商店

确认 Home Assistant 版本
在 Home Assistant 里,点击「配置」,下滑找到「信息」,找到「安装类型」。

如果「安装类型」显示:Home Assistant Container。那么你可以跟着这篇教程往下走。

如果「安装类型」没有显示:Home Assistant Container ,而是显示其它的类型,如Home Assistant OS/Home Assistant Core/Home Assistant Supervised,请前往官方文档查阅其安装方法
两种安装方法
我们可以选择「在主机操作系统上运行安装程序」和「在容器内运行安装程序」,这次我选择的是后者。

操作步骤
打开你的 Home Assistant Docker 终端,新增,输入以下命令
wget -q -O - https://install.hacs.xyz | bash -

  1. 重启 Home Assistant
  2. 打开 Home Assistant ,点击「配置」,点击「集成」,点击右下角的「添加集成」,在搜索框里输入「HACS」并点击,等待约 1 分钟, HACS 设置完成。

若超过 10 分钟,建议重试

  1. 接受协议。需要全选,无法不选。点击「提交」。

如果提交以后遇到 error ,重试一下

  1. 设备注册。需要先拥有Github账号,没有的话注册一个并在浏览器上登录

相信玩 Home Assistant 应该都有或者都能顺利注册 Github
将灰色块中的代码复制,点击蓝色连接,将代码粘贴。点击「Continue」。点击「授权」。

  1. 点击「完成」