Pigeonforce
好久没上来写东西了,上班的杂事越来越多了,本来图闲才来的,现在根本闲不了一点,手上一堆烂事等着做,人都麻了最近进了一批新机器,全部装pve来替代原来的vmware,原来的虚拟机都比较大,要清理一部分数据,因为vmware workstation不支持热扩容,很多虚拟机都是挂了很多块虚拟盘,再用lvm合并空间的方式扩容,迁移的话多块虚拟盘不好迁,要提前合并在一起这批虚拟机不知道为什么都用lvm分了swap的空间,一部分机器开了swap,一部分只是分了空间却没启用,不是很懂当时装系统的人在想什么,在这批虚拟机里有一台比较离谱的:可以看到这台机器lvm分了49g的swap却没有开启先看看fstabswap是注释的状态,应该问题不大,直接删掉swap的lv当时觉得没问题,还顺手处理了几个别的问题,之后就把这台虚拟机导出了没想到导入的时候开机开不起来了直接人傻了,明明fstab里注释掉了swap,也执行了systemctl daemon-reload,为什么开机的时候还会找swap?没办法,只能在旧机器上回滚快照,把虚拟机开起来临时跑,翻了好多systemd的文档,也试过重新生成initramf
带鉴权的端口转发可以用Frp做,但Frp最少需要一个服务端和一个客户端,部署麻烦,这次做的端口转发不需要鉴权,直接用Nginx来做了,记一下方便以后抄用的镜像是这个:nginx:1.25.2-alpine-slim需要两个配置文件:一个是/etc/nginx/nginx.confuser nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } include /etc/nginx/conf.d/portforward.conf;因为不提供http服务,相关的配置全删掉,/etc/nginx/conf.d下默认会带一个default.conf,懒得再写文件覆盖它了,在上面的include中指定单个文件了另一个是/etc/nginx/conf.d/portforward.conf stream { upst
之前用rancher创建了几个rke集群,rancher提供的kubeconfig包含两个context,一个是通过rancher转发到apiserver的,一个是直连apiserver的,但是这两个context都用的是同一个user,这个user又藏在rancher的命名空间里面现在需要把这个rke集群切换到另一个rancher上面管理,从旧rancher上面踢出集群后,集群上rancher的命名空间会被删掉,kubectl用的user也会跟着被删掉,导致kubectl无法连接到集群,只能回滚虚拟机为了切换到新rancher,需要单独为kubectl创建一个新的user,在rke脱离rancher后仍然能控制集群创建账号并授权创建一个新的ServiceAccount可以写yamlapiVersion: v1 kind: ServiceAccount metadata: name: kubectl-admin namespace: default当然也可以直接一句话kubectl create serviceaccount kubectl-admin然后给这个SA授权
有台机器跑的旧版k3s,被扫出来有漏洞需要修复。尝试过网上升级OpenSSL版本的方法,没啥用,因为k3s的ingress是traefik,这玩意的pod里自带了tls相关的组件,不依赖节点的OpenSSL,升级OpenSSL也不能修复这个漏洞因为机器在跑生产,ingress组件走生产流量,不能随便升级,CVE-2016-2183这个漏洞主要是3DES算法有缺陷,禁用该算法即可修复漏洞环境信息OSCentOS 7k3sv1.21.14+k3s1traefik2.6.1漏洞扫描用nmap工具来扫描k3s节点暴露的443端口root@ubuntu:~# nmap -p 443 --script ssl-enum-ciphers 192.168.50.125 Starting Nmap 7.93 ( https://nmap.org ) at 2024-05-21 11:15 CST Nmap scan report for 192.168.50.125 Host is up (0.00027s latency). PORT STATE SERVICE 443/tcp open h
有几台vmware的虚拟机挂载了很多块虚拟盘,这些虚拟盘都位于同一块物理盘中,在虚拟机中通过lvm组成一个卷。考虑到后期有将虚拟机迁移到pve的需求,多块虚拟盘导出导入比较麻烦,折腾下lvm的合盘操作,记一下笔记备用创建测试环境开了台新的虚拟机来测试,要从头创建一个lv来做测试虚拟机挂了三个盘,一个系统盘,两个测试用的数据盘[root@lvm-test ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part └─rl-root 253:0 0 49G 0 lvm / sdb 8:16 0 10G 0 disk sdc 8:32 0 10G 0 disk sr0 11:0 1 1024M
某套线下环境网络不稳定,有dns劫持的问题,对业务影响比较大,需要配置dns加密来对抗劫持,DNS加密方案有 DNS over HTTPS(DoH)以及DNS over TLS(DoT)两种,dnsmasq似乎是不支持这两种方式的,所以需要装一个dnscrypt-proxy,将查询请求通过DoH/DoT发出,将查询结果返回给dnsmasq。1.安装yum install dnscrypt-proxy2.配置配置文件/etc/dnscrypt-proxy/dnscrypt-proxy.toml修改dnscrypt-proxy监听的端口,因为53端口已经被dnsmasq占用,这里修改成5353listen_addresses = ['127.0.0.1:5353']来到sources这一块,把自带的远程源全部注释掉,不然每次启动都要到远程源下载可用服务器列表,影响启动速度,自带源又都放在github上,下不到就会启动失败,用自己配的自定义服务器就行,下面会写[sources] ## An example of a remote source from https://github.c
最近有几台机器老是被ssh爆破,虽然是强密码不容易被试出来,但是刷一堆错误日志看着也怪难受的,有些比较老的机器上是用crontab+shell脚本来定时拉黑ip,新装的机器不想用脚本,换fail2ban来试试水安装主流发行版的软件源都包含了fail2ban包,直接装就行Debian系:apt install fail2banRH系:yum install fail2banRH系可能不会自动启动服务,要自己手动开下systemctl enable fail2ban systemctl start fail2ban配置fail2ban自带了模板配置文件,位置是/etc/fail2ban/jail.conf,不要直接更改这个文件,否则可能会被其他程序覆盖,在/etc/fail2ban/jail.d目录下新建一个custom.local文件,在这个新文件里面写配置fail2ban自带了很多规则,可以支持除ssh以外众多服务的爆破防御,我这里只需要对ssh防护,就不写别的配置了[DEFAULT] bantime = 7d # 封禁时长 findtime = 5m # 触发封禁的时间间隔 maxr
因为牙膏厂的win驱动有bug,12代的核显直通给win10之后会出现代码43的问题,所以12代的核显需要开启sriov将核显虚拟化,之后再传给虚拟机,简单记下操作流程。用到的dkms项目地址:https://github.com/strongtz/i915-sriov-dkms首先要跟着之前的pve安装初始化开启iommu,添加内核模块那一步有点变动,我安装的是pve 8.1.3,内核版本6.5.11-4,有一个模块就不需要手动添加了:cat >> /etc/modules << EOF vfio vfio_iommu_type1 vfio_pci vfio_virqfd #not needed if on kernel 6.2 or newer EOF安装依赖:apt install git dkms build-*克隆dkms项目:export http_proxy=http://192.168.0.170:2081 export https_proxy=http://192.168.0.170:2081 git clone https://github.
公司有部分虚拟机运行在vmware workstation上,现在需要迁移到pve上组集群运行,记一下操作的流程导出vmware虚拟机在vmware workstation中选中要导出的虚拟机,选择菜单栏的“文件”-“导出为OVF”,选择导出的位置导出完成后会看到几个文件,其中以“vmdk”结尾的文件就是虚拟机的磁盘文件,把磁盘文件复制到pve节点上导入到PVE在PVE中创建一个空白虚拟机,不要挂载磁盘,手动导入vmware导出的磁盘文件通过Shell登录pve,执行以下命令导入磁盘文件:qm disk import 5001 ./pgsqlVm_old-disk1.vmdk local --format qcow25001是空白虚拟机的id,后面是vmdk文件的位置,local是磁盘文件导入后存储的位置,格式选qcow2导入完成后,可以看到虚拟机多了一块未使用的磁盘双击这块磁盘,修改参数,挂载到虚拟机内还需要修改启动顺序,让虚拟机从我们导入的磁盘启动修改完成后即可启动虚拟机Linux启动失败修复直接导入的磁盘可能会出现系统启动失败的现象:出现这个错误的原因是原系统在vmware虚拟机
好久以前就申请了https证书给网站配上了,当时没有做笔记,现在证书快过期了,要重新申请下顺便记一下https证书的申请流程,免得以后忘了又要重新折腾申请用的工具是"acme.sh"项目地址:https://github.com/acmesh-official/acme.sh 国内镜像:https://gitee.com/neilpang/acme.sh准备工作先git克隆代码到本地,不想配代理可以用国内gitee的镜像mkdir acme cd acme git clone https://gitee.com/neilpang/acme.sh.git执行安装,邮箱写自己的,默认会安装到~/.acme.sh/目录下./acme.sh --install -m youremail@domain.com安装完重新登录终端,执行下acme.sh命令su acme.sh安装成功的话会显示acme.sh的帮助信息[root@test ~]# acme.sh https://github.com/acmesh-official/acme.sh v3.0.5 Usage: a
鸽了
一定来,不会咕咕咕