内部DNS服务器夜间突发流量排除

最近需要把CentOS的业务换到龙蜥,正好龙蜥有自己的监控体系SysOM,虽然还不太完善,但需要的功能都可以使用,下图为SysOM网络监控图

时间集中在21:30以后,然后会持续到第二天9点左右,经过查询日志,发现有业务部门晚上在跑程序,速度达到1秒1个到2个的解析速度,果断封禁,命令如下
禁止ip

firewall-cmd --permanent --add-rich-rule=’rule family="ipv4" source address="1.1.1.1" reject’

以后如果需要放开,执行

firewall-cmd --permanent --remove-rich-rule=’rule family="ipv4" source address="1.1.1.1" reject’

最后别忘了执行

firewall-cmd --reload

写一下最后的结果,业务部门换了114的公共DNS,至此完美解决。

排除Veeam的Error: Failed to open VDDK disk错误

测试新版本的Veeam12的时候,不管增加的是Vcenter还是Esxi,6.7的版本全是正常备份,8.0的版本全部失败,报打开VDDK 磁盘失败错误,经过长时间的探索,逐步对Veeam的备份机制有所了解,先说结论

部署Veeam的ip地址和Esxi8管理ip可通信,但和Esxi8的vmotion的ip不能通信导致,但在Esxi6.7版本及之前不存在这个问题。

推测原因是Esxi7及以后版本改变了数据通信模式,如果没有配置vmotion ip,那么备份时候数据还是走管理ip,但是一旦发现主机配置了vmotion ip,则只从vmotion ip走数据;Esxi6.7及之前的版本是只要管理ip和Veeam的ip是通的,就可以走备份数据。

提供思路,希望能帮助有相同困扰的朋友。

301和302跳转的区别

首先说一下,浏览器里301缓存会多久失效,这是一个极为复杂的问题,目前已知:

IE7, IE8 不会缓存
IE 11 会缓存,时间未知,重启无效
Chrome 会缓存,时间未知,重启无效
Firefox 会缓存,时间未知,重启无效

所以,如果是临时测试使用,那应该用302临时跳转替代301,301是永久重定向,不适合临时。302跳转代码如下:

location / {
        rewrite ^ https://www.china.cn redirect;
}

如果非要使用301跳转,又不想浏览器缓存,那可以使用如下代码:

location / {
        add_header Cache-Control no-cache;
        rewrite ^ https://www.china.cn permanent;
}

 

使用Containerd建立bind应用的几个难点

一、镜像建立脚本需要修改

https://hub.docker.com/r/internetsystemsconsortium/bind9 是启动方法
https://github.com/isc-projects/bind9-docker 里是build方法,点击Dockerfile查看第一行是否有绿勾,如下图

绿勾代表编译通过,如果是红叉,那就等等作者,如果不能等的话,也有其它方法,我们以后再说。

看Dockerfile内容如下

FROM ubuntu:jammy
MAINTAINER BIND 9 Developers <bind9-dev@isc.org>
ENV DEBIAN_FRONTEND noninteractive
ENV LC_ALL C.UTF-8
ARG DEB_VERSION=1:9.18.12-1+ubuntu22.04.1+isc+1

# Install add-apt-repository command
RUN apt-get -qqqy update
RUN apt-get -qqqy dist-upgrade
RUN apt-get -qqqy install –no-install-recommends apt-utils software-properties-common dctrl-tools gpg-agent

# Add the BIND 9 APT Repository
RUN add-apt-repository -y ppa:isc/bind

# Install BIND 9
RUN apt-get -qqqy update
RUN apt-get -qqqy dist-upgrade
RUN apt-get -qqqy install bind9=$DEB_VERSION bind9utils=$DEB_VERSION

# Now remove the pkexec that got pulled as dependency to software-properties-common
RUN apt-get –purge -y autoremove policykit-1
RUN mkdir -p /etc/bind && chown root:bind /etc/bind/ && chmod 755 /etc/bind
RUN mkdir -p /var/cache/bind && chown bind:bind /var/cache/bind && chmod 755 /var/cache/bind
RUN mkdir -p /var/lib/bind && chown bind:bind /var/lib/bind && chmod 755 /var/lib/bind
RUN mkdir -p /var/log/bind && chown bind:bind /var/log/bind && chmod 755 /var/log/bind
RUN mkdir -p /run/named && chown bind:bind /run/named && chmod 755 /run/named
VOLUME ["/etc/bind", "/var/cache/bind", "/var/lib/bind", "/var/log"]
EXPOSE 53/udp 53/tcp 953/tcp

CMD ["/usr/sbin/named", "-g", "-c", "/etc/bind/named.conf", "-u", "bind"]

我们需要将最后一行的-g参数改为-f参数,如果服务器用-f参数启动,则named.run会被stderr所代替,severity 按照服务器当前Debug级别记录日志,如果是-g则启动调试模式,输出到显示器上,所以正常工作环境下,不适用-g参数,使用nerdctl重新编译。

nerdctl build -t bind:new -f .

二、目录权限

大家参考,目录内权限递归。需要注意的是配置文件及日志文件均不会自动建立,需要从容器中拷贝或新建。

三、网络

本次使用的机器包含了V4和V6地址,所以没有使用端口映射的方式启动,使用了–network host 模式,直接使用宿主机的网络地址。

在龙蜥8.6上安装Confluence7.19.1

为什么用龙蜥?

最近的CentOS8结束生命周期闹得沸沸扬扬,经过对目前现有国产操作系统总结归纳,龙蜥可做到CentOS8一键升级到龙蜥,且应用稳定性可以保障。但你要说他是挂皮的CentOS,也不尽然,我比较看重它重构CentOS后新增加的一些功能,龙蜥8.6是双内核,RHCK(RHEL Compatible Kernel)和ANCK(OpenAnolis Cloud Kernel),其中ANCK内核有阿里团队重点打造,且经过了阿里各种重大市场活动的检验,最主要的是Cgroup功能,可以防止有BUG的应用不断蚕食系统资源,导致系统崩溃的情况发生。

安装Confluence数据库需关注的重点

安装MySQL或MariaDB数据库不是本篇重点,但这里面务必需要按照Confluence官方文档来设置,这样才能减少踩坑的几率。

具体参照如下文档
https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html

BIN包安装Confluence7.19.1

说几个重点需要关注的地方
1、采用atlassian-agent方式,把启动写入setenv.sh最为稳妥
2、如果不是一次安装成功的,一定要注意,每次安装BIN包都会新建立一个confluence账户,比如第一次建立一个confluence,第二次就是confluence1,第三次就是confluence2,以此类推,然后我这次碰到的一个诡异的问题就是使用startup.sh启动一切正常,使用start-confluence.sh启动就会报权限错误,根据观察使用startup.sh启动使用root权限,使用start-confluence.sh启动使用的是最后一次安装成功的confluence【1-*】用户权限,但是如果你想系统开机启动confluence,那使用的必然是start-confluence.sh文件,目前可以通过修改user.sh中的启动用户来解决这个问题,但这不是官方解决方式,所以这个东西务必还是一次安装好。
3、新系统不要升级安装,建议新安装一套,然后使用旧系统的备份数据还原即可。

结尾放张图,上线测试中。。。

Meta Quest 2 激活&升级指南(2021-12-24更新)

首先,Meta Quest 2 是我从amazon海外购上买的,算上运费和税费,到手2045。不买不知道,原来进入元宇宙的门槛如此之低啊。

其次,我之前的科学上网仅限于使用某个软件进行简单的FQ,这个对于注册FB账号这类的需求可以很容易满足,但即便如此,我还是被FB封了一回号,事情是这样的,我注册了一个很新的FB账号专门用来玩Quest2,然后从JP登录一次,从HK登录一次,结果FB说你的账号不符合我们社区的规定,给了30天申诉期,和其他人的遭遇不同,我这个其实就是验证账户是否是本人用,也不用啥身份证,就传了张照片而已,第二天就给解开了。所以目前从我使用FB新账户看,仅需要注意FQ的时候用一个节点,登录地区保证不变就行了。

最后,这东西都是Made in china,所以不用怕激活和更新啊,耍起来吧。

背景介绍完了,进入正文吧!

一、初识 Meta Quest 2

DHL送来的,Amazon的封装纸箱,打开以后就是Quest2,包装和顺丰比有点简陋

妥妥的中国制,但在中国非科学上网不能玩儿 :(

研究了半天开箱方法,后来发现竖起来逛荡一下,牛皮纸箱就露出来了

牛皮纸箱里面就是这个样子了

中间那个盒子里猜也知道就是说明书和充电器和数据线,然后就是主体,左右两个手柄+一个头显,盒子上写了第一步把手柄下方塑料夹片拿掉,手柄就有电了;第二步把头显拆包装开机,最后一步调整头带,SO EASY,不展开了。这里说一下,如果你是带眼镜的,它给了一个塑料的眼镜托,用起来很不爽,那个东西就不要用了,PDD上买个专用的磁吸VR镜片,不仅能保护头显的镜头沉浸感还好,作为带眼镜的我强烈推荐这个配件,以后有好的配件陆续更新。

二、激活设备

说实话,这块真没费劲,一定要用手机一定要用手机一定要用手机,重要的事情说三遍,我是iphone xs max,用的软件是shadowrocket,这个app具体咋用网上一堆教程,不展开了。其实我理解跟PC上的V2rayn一样,国服没有,换地区下。既然你能下FB,就能下这个。然后手机再装个Oculus,也是跟他们俩一个服下。所以,最后手机上有三个App——FB\Oculus\ShadowRocket, 这里再废话一下,我用的是shadowrocket,你就用你自己最熟悉的App,只要能FQ就行。

第一次先用FB账户登录Oculus,Quest2右侧电源键长按5秒开机(3秒开不了),然后在Oculus App 中添加你的Quest2设备,Oculus App 会自动匹配五位设备码激活,完全不用手动输入了(听说之前需要,现在完全自动激活)。这五位设备码你要记录一下,以后万一如果恢复出厂需要。

三、升级到目前最新的V35版本

这里卡住我几个小时,所以记录下来给大家参考。
最初我想用手机开热点,后来发现没戏,手机开热点必须使用运营商网络,需要知道的是,运营商对UDP会清洗,目前Quest2的线上更新发送的全是UDP包,这里其实跟玩儿外服游戏道理相同。

中间过程不表了,最终采用的方式是采用笔记本ADB手动更新+笔记本上V2RayN+SSTap+移动WIFI共享代理方式解决更新问题。

ADB更新V35方法参考映维网,现已提供 Quest 2的v35固件包下载
参考:
https://news.nweon.com/92135

这里提醒一下,手机连接Quest2是可以显示开发者模式的,诀窍在于连接成功以后要等一会儿,感觉是Quest2和Oculus App 之间需要同步数据

头显更新完V35并不会直接进入主界面,还是需要科学上网,所以用到笔记本上V2RayN+SSTap+移动WIFI共享代理方式

SSTAP是个好软件,但经过测试,如果100M以内的代理是可以胜任的,超过100M,实际流量就会变成几百大B,这里吐槽一下Quest2升级策略,如果它发现连接的WIFI流量小或者不稳定,就直接重新从0开始下,这可能才是好多朋友说的卡在0%处,其实未必是卡在这里,而是下了%几以后WIFI不稳,就重新下了。而实际新机器要升级到最新的V35,需要传输1个G左右的数据,显然使用V2RayN+SSTap+移动WIFI共享代理这种方式是无法满足要求的。

重要:这里说一下启动顺序,V2RAYN启动后,用浏览器测试是否能访问FB,成功后,启动笔记本移动WIFI,会生成一个新的本地连接,最后再启动SSTAP,用手机连一下笔记本WIFI,看是否能上FB,能上证明正常了。如果打开顺序有问题,会有影响。

参考:
https://www.bilibili.com/read/cv12921736?ivk_sa=1024320u (视频)
https://www.bilibili.com/read/cv12921736 (文字)

对了,我开箱就看见我手柄上有个黄线,有知道这是啥意思的朋友吗?