内核级负载均衡 LVS DR模式 部署记录
DR 模式,Director 和 realserver 都在一个内网里面,他们都绑定上同一个 VIP, 原理是通过 Director Server 修改数据包的 MAC 地址, 所以得让 realserver 不响应 arp,不然肯定会造成内网 IP 冲突 规划: 机器 IP VIP 10.0.0.8 director 10.0.0.41 realserver1 10.0.0.42 realserver2 10.0.0.43 网卡 interface eth0 RealServer 设置创建虚拟网卡个人习惯,可选,可以绑定在任何网卡上面 1ip link add ipvs0 type dummy 配置不响应 ARP 请求方法1: 调整内核参数方法2: 采用arptables12345# 不响应ARP请求, 修改内核参数echo "1" > /proc/sys/net/ipv4/conf/ipvs0/arp_ignoreecho "1" >...
Shell指定分隔符
为什么要指定换行符,我们看一个例子 1234567891011#!/bin/bashdata="a b cd e f"for i in $datado echo $idone 输出的结果是: 123456abcdef 因为系统默认把空格和换行都当作了分隔符。为了避免这种情况,我们可以手动指定分隔符: 123456789101112#!/bin/bashdata="a b cd e f"IFS=$'\n' # 指定分隔符为换行for i in $datado echo $idone 这样打印出来的就是: 12a b cd e f 再看一个例子: 123456#!/bin/basha="aa,bb,cc,dd,ee"for i in $ado echo $idone 输出为:aa,bb,cc,dd,ee 我们想要的输出结果可能是这样 12345aabbccddee 可以修改成这样: 123456789#!/bin/basholdIFS=$IFS ...
Github Actions自动发布博客
偶然发现 github actions 可以执行一些命令,这下可以把我的 crontab 停掉了,也不用占用一台机器专门用来发布博客了,并且完全免费!! 首先我的 GitHub pages 和博客原始文件是分为两个仓库的,在 GitHub Pages 仓库里添加了一个 Actions 用来钉钉发通知: GitHub 仓库配置 Secret需要先将环境变量配置在 Settings –> Secrets and Variables –> Actions 里面 配置后,可以在 actions 里面通过 ${{ secrets.dingtalk_secret }} 调用到对应的数据 针对 Hexo 博客的构建123456789101112131415161718192021222324252627282930313233343536name: Deploy GitHub Pageson: push: branches: - masterjobs: deploy_github_pages: ...
Windows个人文件夹名字变英文
有时候 windows 用户文件夹里面有些会变成英文,虽然没什么影响,不过强迫症会不舒服 (比如我) 这种情况是由于文件夹内没有 desktop.ini 导致的,或者 desktop.ini 权限不正确 desktop.ini 文件是一个隐藏文件 windows10 的 desktop.ini...
KVM虚拟机常用操作记录
检查前提条件12345678# 如果是 Intel 的 CPU, 输出 VMX;如果是 AMD 的 CPU, 输出 SVMgrep -Eoc '(vmx|svm)' /proc/cpuinfo# 或者使用 kvm-ok 工具监测sudo apt updatesudo apt install cpu-checkerkvm-ok 安装 kvm123456789101112sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst libvirt-daemon# 安装图形管理工具(可选)# apt install virt-manager -y# 验证sudo systemctl is-active libvirtd# 增加用户权限sudo usermod -aG libvirt $USERsudo usermod -aG kvm $USER 添加和删除网卡(虚拟硬件)要列出要在 KVM 虚拟机中使用的可用网络,请运行以下命令: 1virsh...
Python脚本接受参数
完善一下 python 脚本,让它支持更完善的参数(长参数、短参数) 12345678910111213141516171819202122232425262728293031323334import getopt, sysdef parse_args(args=sys.argv[1:]): try: opts, args = getopt.getopt(args, "hvc:w:", ["help", "short", "verbose", "critical_num=", "warning_num="]) except getopt.GetoptError as err: print("Input parameter error") sys.exit() verbose = False short = False for opt, arg in opts: ...
使用mimikatz读取windows密码
github地址 mimikatz 是一个小工具,可以查看到 windows 加载进内存的密码数据,首先最起码要使用 Administrator 权限启动 依次执行: 从 administrator 提升到 system 1privilege::debug 获取明文密码 1sekurlsa::logonpasswords
Puppet遍历hash生成array
公司的 nagios 监控是使用 puppet 来进行自动部署的,但是需要手动修改 puppet 配置才能生效,现在的问题是添加一个新机器得先在 puppet 上添加机器,然后添加到相对应的组,我们想能否让它自动添加到对应的组里面。 vim nagios_server.pp 1234567891011121314151617181920212223242526272829nagios::nagios::add_linux_remote { 'guangzhou.localhost.com' : addr => '10.0.0.9', services => [{'name' => 'check_load', 'desc' => 'Current Load', 'notify' => 1}, ...
Hugo博客添加live2d看板娘
看板娘就是网页上面漂浮的小人,可以随着鼠标的移动而做出反应,在 hexo 上面是有现成的 npm module,在 hugo 上面只能自己引入 js 啦。 我用的是 hugo v0.84.1-4BD65E22+extended, LoveIt 版本是 0.2.10 方法 1: 使用 html 模板,引入 js 文件编辑 themes/LoveIt/layouts/partials/footer.html , 在 {{- end -}} 的上一行添加 1234567891011121314151617181920212223242526272829303132<!-- Live2D,网页上的小人,可以修改live2d_config.js来修改模型,模型都在static/live2d_models里面 --><!-- 你也可以把js文件下载下来,放到static/js/目录下,就不依赖别人的服务了 --><script type="text/javascript"...
Shell脚本接受参数
直接传参一般情况下直接传参,比如 test.sh 12#!/bin/bashecho hello $1 ./test.sh worldhello world 使用 getopts 解析参数这种方法可以忽略参数位置,使脚本更完善 test.sh 123456789101112131415161718while getopts "a:b:c" arg #选项后面的冒号表示该选项需要参数do case $arg in a) echo "a $OPTARG" #参数存在$OPTARG中 ;; b) echo "b $OPTARG" ;; c) echo "c" ;; ?) #当有不认识的选项的时候arg为? echo "unkonw...