Ubuntu 22.04 LTS 服务器环境初始化
开启 root 用户远程连接
我不要每次都要 sudo,太鸡儿麻烦。
执行 sudo passwd root 以后输入两次 root 用户的密码。
VIM 编辑 /etc/ssh/sshd_config,把 PermitRootLogin prohibit-password 注释掉,下面来一行 PermitRootLogin yes。
下文涉及的操作均以 root 用户进行。
更改 HOSTNAME腾讯云的服务器(当然不光只有它家)在初始化安装完以后,服务器的 hostname 都非常长,非常难看,平时终端的时候也占地方干扰视线,必须办了,我直接改名为 tencent。
1hostnamectl set-hostname tencent
安装 Docker身处在这个狗币网络之下,当然采用国内镜像站安装 Docker,我选择清华,虽然上不了它,但是我爱它。
12export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"curl -fsSL https://get.docker.com/ ...
利用镜像交换机获取本地直播源 OpenWRT 双 WAN 口实现局域网任意设备观看 IPTV
最近收拾屋子,发现了好久没用过的电信 IPTV 机顶盒。
自从家里买了小米的激光投影仪以后,一直看的网络电视,就想着利用这个盒子把直播源抓下来,然后配合 OpenWRT 让局域网内任意设备随时都可以观看电视直播,甚至可以分享到公网,方便其它人。
于是我特意从京东买了一款带端口镜像功能的 TP-LINK 千兆 8 口交换机,型号是 TL-SG2008D。
获取直播源整体思路思路是这样,准备两根网线:
将交换机的 千兆口 1 连接到光猫的 ITV 接口。
将交换机的 千兆口 8 连接到我的 Mac 上。
将机顶盒随便插入到交换机上的任意网口上。
然后在交换机的控制台里设置把 千兆口 1 镜像到 千兆口 8,因为我的 Mac 连接到了 千兆口 8 上,所以我可以用 WireShark 软件进行抓包分析。
设置交换机的端口镜像在按照上述思路将设备连接好以后,机顶盒先不要开机。
进入到交换机管理控制台,我手里这款交换机的 IP 是的 10.18.18.251,先将我的 Mac 改为同一网段下的任意 IP,比如 10.18.18.252。
在交换机后里的进入到 监控 -> 端口监控 页面 ...
CentOS 7.9 安装网卡驱动
由于公司没有分配本地开发服务器,我用了我自己的主机,然后打算把公司分配给我的台式主机刷成服务器以方便团队开发。
在安装了 CentOS 7.9 以后,发现无法上网,执行 ip addr 命令看查,发网没有网卡,只有一个本地 Lo 网络配置,猜测应该是网卡没有驱动导致的。
下载驱动于查了主板自带的集成网卡的型号是 RTL8125 2.5GbE,在网上搜索到一个网站可以下载到网卡型号的驱动(https://mirror.rc.usf.edu/elrepo/elrepo/el7/x86_64/RPMS/ ),进到这个网址以后直接搜索 8125 关键词找到几个驱动,我下载了最新的这个:
安装驱动将上面下载好的网卡驱动放到优盘里一份,并在主机上挂载优盘。
插上优盘以后,执行 fdisk -l 命令查看信息,找到优盘的物理路径比如 /dev/sda1 之类的,创建 /mnt/usb 文件夹,名称可以随意,执行 mount /dev/sda1 /mnt/usb 挂载优盘。
挂载成功后,我把这个网卡驱动复制出来了一份放在了 /root 目录下,然后执行 yum install k ...
ThinkPad E431 刷成 CentOS 7.9 个人家用服务器
最近闲来无事,把我上大学时买的人生第一台笔记本电脑 ThinkPad E431 给刷成 Linux 当作家用服务器,来水一下。
安装操作系统这个没什么好说的,基本思路就是从腾讯、阿里或者官网等地方下载 IOS 系统镜像,然后找个优盘和写盘工具搞就行了。
修改主机名称为了提高辨识度,先给主机改个名,命令为:hostnamectl set-hostname 主机名,主机名 随便写,比如我这个机器直接就是:hostnamectl set-hostname thinkpad。
开启远程 Root 账号登录12345# 修改配置sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config# 重启服务systemctl restart sshd
实际上就是修改 /etc/ssh/sshd_config 这个配置文件,将 #PermitRootLogin yes 前面的 # 去掉。
至此,就可以在别的机器上使用舒服的软件来远程 SSH 到 CentOS 上操作了,复制、粘贴更方便。
关闭笔记本 ...
Mac 上使用脚本自动检测 DNS 速度
最近想要找一个能够自动测试 DNS 速度的工具,最好还能自动找出速度最快的 DNS 的工具,最终结果是没找到特别满意的,但是在 Github 上有一个项目,算是基本能够满足需求。
工具的名字是:dnsperftest ,Mac 上使用起来也比较简单。
安装依赖1brew install bc bind
下载项目1git clone --depth=1 https://github.com/cleanbrowsing/dnsperftest/
修改 DNS 名单脚本里默认带的 DNS 都是国外的,我在中国大陆不需要,先进去把 DNS 改成常用的几个,比如:
阿里: 223.5.5.5、223.6.6.6
114:114.114.114.114
腾讯:119.29.29.29
百度: 180.76.76.76
执行 cd dnsperftest 进入到项目录中,vim dnstest.sh 进行修改,将原来的:
123456789101112131415PROVIDERSV4="1.1.1.1#cloudflare 4.2.2.1#level3 8.8.8.8#google ...
解决 Nginx Proxy Manager 在更新 SSL 证书时报错 Internal Error 的问题
发现问题今天突然发现,之前用 Nginx Proxy Manager 申请的 Let’s Encrypt SSL 证书过期了,就上去更新一下,结果发现报错了,在点击更新证书按钮的时候,直接弹窗报错说是:Internal Error。
更新镜像当时想着,也挺长时间没有更新 NPM 的镜像了,就打算直接去更新一波镜像看看能不能顺路解决这个问题,结果更新到了 2.10.1 以后,发现容器起不来了。进入到容器里看日志说是 80 端口被占用,但我在宿主机上查了一下,没有进程会占用 80 端口。
降级Google 了一下,在 Github Issue 里看到很多人都和我一样,也顺便找到了解决方法:降级。
在我降级到了 2.9.22 版本以后,容器还是起不来,再查看日志,报错的原因已经不是端口被占用了,说明第一个问题已经解决。
解决 DNSPod 独家问题接下来就是小众问题了,由于我用的是 DNSPod 的 DNS 做的泛域名 SSL,在用 DNSPod 的时候,会有一个问题:缺少 zope 这个组件,于是进入到容器里安装一下相关缺少的组件,回到浏览器里刷新页面以后,再次点击 更新证书 按钮以后就成 ...
解决 Github 报错: kex_exchange_identification: Connection closed by remote host
123456kex_exchange_identification: Connection closed by remote hostConnection closed by 20.205.243.166 port 22fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.
生成:ssh-keygen -t ed25519 -C "备注tliy"
在 ~/.ssh/config 里新增:
1234Host github.com HostName ssh.github.com User git Port 443
验证:ssh -T [email protected]
1234567ssh -T [email protected] authenticity of host '[ssh.github.com]:443 ([20.205.243.160]:443 ...
Gogs 部署 Webhook
Gogs 同时支持 Git 和 Web 方式的钩子,Git 方式比较适合 Gogs 代码仓库和项目部署在同一台服务器上的情况,Web 钩子适合代码仓库和项目部署在不同服务器上的情况。无论是哪种情况,Web 钩子都可以做到,相比于 Git 钩子,Web 钩子要稍微麻烦一点,因为是跨服务器的,需要写脚本,调用接口。
假设我的 Gogs 服务器部署在 A 服务器上,然后项目部署在 B 服务器上,那么配置好 Gogs 的 Web 钩子以后,仓库在收到了你订阅的操作以后,会调用你配置的接口地址(这个接口应该是 B 服务器提供),把相关信息以 API 的方式推送给 B,然后 B 服务器在收到 API 推送请求以后,应该根据情况,如仓库、分支、事件等进行相关逻辑操作。
Gogs 的 Web 钩子配置的地方在 仓库设置 -> 管理 Web 钩子,在添加新的 Web 钩子处选择 Gogs:
在之后跳出来的页面里配置上推送地址、和 密钥文本 后点击 添加 Web 钩子,会提示添加钩子成功,再次点击钩子名称可以编辑钩子。
在编辑钩子的页面的底部,可以查看到推送记录和进行测试推送。
这里我以本机为例, ...
MacOS 上使用 VirtualBox 安装 OpenWRT
临近年关了,由于一定的原因春节期间需要背着笔记本到处走,就提前收拾了一下笔记本:
把磁盘给格了,干干净净的。
重新安装了系统,升级到了最新版,舒服。
布置平时开发需要用到的环境和软件等。
OpenWRT 必须安排上,懂得都懂。
平时在家里都是直接在我的 J4125 上全局 OpenWRT,但笔记本的网络环境还是安排到本地虚拟机里比较方便。
我是用的 eSir 编译的固件,下载好,把 .gz 解压成 .img,如果你是下载的 OpenWRT 官网的镜像则不需要了。
准备镜像OpenWRT 的 .img 文件需要先转换成 VirtualBox 所能识别的 .vdi 虚拟硬盘文件。
1VBoxManage convertfromraw --format VDI openwrt-spp-winter\[2022\]-x86-64-generic-squashfs-uefi.img openwrt.vdi
看到如下信息代表没啥问题:
12Converting from raw image file="openwrt-spp-winter[2022]-x86-64-generi ...