记一次 Linux 下网卡启动异常排查

这篇博客可能写的比较乱,机器连不上网,我整个操作是通过 IPKVM 完成的,无法复制日志,委屈一下读者了。 前情提要 我这是一台《NAS》,之前一直都是只装一张显卡,刚刚我尝试装第二张显卡,开机之后发现 NAS 连不上网,于是开始排查之路。 排查历程 首先我观察机器连接的交换机,发现交换机对应网口灯都不亮,用各种操作排除了交换机、网线的问题之后,我用 ip addr 一看发现网卡 enp6s0 是 down 的,用 lspci 能找到网卡,说明不是第二张显卡抢走了 PCIe 通道导致网卡无法启动。 然后我尝试用 ip link set enp6s0 up 手动 up 网卡,发现是可以启动的,虽然拿到的是本地链路 IPv6,但至少说明网卡硬件是没问题的。 经 AI…

记一次网络访问异常 ERR_CONNECTION_RESET 排查

最近访问 chatgpt.com 的时候,不间断的报 ERR_CONNECTION_RESET,ChatGPT 桌面应用也报 net::ERR_CONNECTION_RESET,这个问题很恼火,非常影响日常生活(迫真),于是开始了排查。 首先以前出现过,我用 EasyTier 的时候把 IP 网段设置为 172.16.0.0/16,然后学校某个内网服务也在这个网段上导致访问异常的情况,于是我首先开始排查 chatgpt.com 的 DNS,看它解析到什么 IP 上,结果如下: Server: 192.168.6.1 Address: 192.168.6.1#53…

校园全域联网:终极之究极突破客户端数量方案

这个方案无需软路由,但是需要至少有一台设备始终校园网在线,核心思路还是让其他设备的流量通过一台已登录校园网的设备出网。 当未登录校园网的设备可以访问局域网 IP 时,此方案可用。 首先你需要在已登录校园网的设备上运行任意代理软件的服务端,例如开启了允许局域网、监听了 sock5 端口的 mihomo,即 mihomo 的配置中包含如下内容: bind-address: 0.0.0.0 socks-port: 7891 allow-lan: true authentication: - user:password 注意!请务必确保设置复杂的用户名和密码,并妥善保管!!!! 若你的校园网环境会对 sock5 流量限速,可考虑伪装流量,例如伪装为 HTTP/3 请求。 接下来,在其他需要使用校园网的设备上,使用以下配置启动 mihomo 即可(注意补全相应字段): proxies: - name:…

在无 TUN / 无 iptables 的容器环境中实现内网穿透 + DNS 劫持 + SSH 代理

在使用某算力平台的过程中,我有一个需求,我不希望在访问我自己的服务的时候,使用我内网穿透服务器中转流量,这成本太高,我希望使用我现有的 EasyTier 虚拟网络来访问,这样走的是 P2P。 但是这个平台提供的是容器,存在以下限制: * 无法使用 TUN 实现透明代理 * 无法使用 iptables 劫持 DNS 流量 因此需要一些手段。 使用 EasyTier + Mihomo 提供访问其他节点的能力 首先完成 EasyTier 组网,并使用以下配置让 EasyTier 启用 SOCK5 代理。 socks5_proxy = "socks5://127.0.0.1:1080" 这将允许其他应用通过 EasyTier 访问其他节点。 接下来,在 Mihomo 的配置中添加一个节点和代理组:…

解决 git 命令使用 SSH 时无法连接、没有使用代理的问题

我自己的网络环境是透明代理,再不济自己电脑上也能开 TUN,所以 git 命令就算走 ssh,搭配如下配置让连接 GitHub 使用 443 端口,就能走 HTTP 代理: Host github.com HostName ssh.github.com Port 443 User git 但是在不可控的容器环境里无法使用 TUN 的情况下,无法完成透明代理,SSH 也就无法使用代理了。 解决方案如下: 在 ~/.ssh/config 最前面添加以下配置: Host * ProxyCommand nc -x <sock5代理> %h %p 其中 <sock5代理>…

校园网突破限速、限终端数量终极办法:组网+多播

我目前所在的学校校园网单端限速 500Mbps,确实已经足够高了,不过依旧限制两个客户端。由于我有多台设备、IoT设备,数量远超限制,因此需要考虑使用一些手段。 此方法理论适用于所有高校的校园网。 1. 方案构思 1.1 利用负载均衡实现带宽叠加 首先,通过实验发现,判断是什么类型的设备是依靠浏览器自己识别,然后通过参数传递给认证网关,并且认证设备靠上游网关获取到的 MAC 地址区分,也就是说完全可以使用路由器接入校园网,让下游设备完成登陆认证,这样认证网关认证的是路由器的 MAC 地址。 接下来,如果是简单的认证,无法实现突破限速,我这里的校园网允许一个账号登陆一个手机端一个电脑端,因此我们可以通过多播的方式,让软路由虚拟出两个网口,并通过 MWan3 负载均衡,这样就能在一定程度上实现突破 500Mbps 限速。 为什么说一定程度上呢?原因如下: 1. 由于实现方式是负载均衡,这种方式仅仅是将不同请求分发给不同的网口进行通信,也就是说,单个 TCP 连接就只能一直使用同一个网口进行通信,也就是说速度无法突破 500Mbps。 2.…

cp: cannot stat './staging_dir/target-x86_64_musl/root-x86/boot/.': No such file or directory

今天编译 OpenWrt 的时候遇到以下报错: ... cp: cannot stat '/tmp/openwrt/staging_dir/target-x86_64_musl/root-x86/boot/.': No such file or directory ... 然后编译停止,检查目录里确实没有这个文件夹。经过网上冲浪发现答案:https://github.com/coolsnowwolf/lede/issues/10323#issuecomment-1294942809 修改以下两项配置,把数值设置大一点: # 修改分区大小 CONFIG_TARGET_KERNEL_PARTSIZE=512 CONFIG_TARGET_ROOTFS_PARTSIZE=1024 再次编译则成功。…

解决 Docker 部署下 LanCache 与 nginx 共存的问题

在部署 LanCache 的时候,发现官方文档中都没有将 80/443 端口映射到其他地址,而我实际部署下来,也确实不能映射到其他端口然后用本机已存在的 nginx 实例反代。加入官方 Discord,好巧不巧当时加进去的时候刚好有个老哥问了同样的问题,得到的答复是 LanCache 必须使用 80/443 端口。 在我的 NAS 上,LanCache 和 nginx 都是 docker 部署,参考 docker-compose.yaml 如下。 nginx: version: "3" services: nginx: image: nginx:1.25.2-bookworm restart: unless-stopped…