分类 网络 下的文章

ikev2自动更新let's encrypt证书

由于ikev2不能使用通配符证书,使用免费一年期证书存在一定风险(比如阿里云,通过证书可以找到跟域名关联的账号,进而实名查水表),所以推荐使用let's encrypt证书。但是let's encrypt证书有一个问题就是有效期只有三个月,所以写了个脚本自动更新证书。

以下以dns更新证书方式,域名dns服务商为cloudflare为例,服务器需要已经使用ikev2自动安装脚本安装ikev2(可以选择自签名证书),python包管理工具pip,

首先拿到cloudflare的Global API Key,目前certbot还不支持cloudflare的 zone api key

创建脚本使用的cloudflare的账号密码文件,记住路径填写到脚本的CLOUDFLARE_CREDENTIALS后

# Cloudflare API credentials used by Certbot
dns_cloudflare_email = cloudflare@example.com
dns_cloudflare_api_key = 0123456789abcdef0123456789abcdef01234567

并修改密码文件权限为400,防止certbot报错

chmod 0400 #文件路径

自动更新脚本,CERT_DOMAIN是ikev2证书的域名,CLOUDFLARE_CREDENTIALS是cloudflare账号密码文件路径,LE_EMAIL是let's encrypt证书联系邮箱(证书过期提醒)

脚本会检测是否安装certbot,域名证书是否第一次签发,证书是否需要更新,并将新证书复制到ipsec的证书目录

#! /bin/bash
CERT_DOMAIN=vpn.example.com
CLOUDFLARE_CREDENTIALS='/root/letsencrypt/cloudflarednsapi.conf'
LE_EMAIL='example@gmail.com'


function checkcertbot(){
type certbot
if [ $? -eq 0 ];
then
pip install certbot-dns-cloudflare
fi
}

function checkcert(){
if [ ! -f "/etc/letsencrypt/live/${CERT_DOMAIN}/cert.pem" ];
then renewipseccert
else
CERT_EXPIRE=$(openssl x509 -checkend 1728000 -noout -in /etc/letsencrypt/live/$CERT_DOMAIN/cert.pem|grep not)
if [ -z "$CERT_EXPIRE" ];
then
renewipseccert
else
echo "The cert will not expire in 20 days,nothing to do."
fi
fi
}


function renewipseccert(){
/usr/local/bin/certbot  certonly -d ${CERT_DOMAIN} \
--agree-tos \
--non-interactive \
--email $LE_EMAIL  \
--dns-cloudflare \
--dns-cloudflare-credentials ${CLOUDFLARE_CREDENTIALS}
cp /etc/letsencrypt/live/$CERT_DOMAIN/chain.pem /usr/local/etc/ipsec.d/cacerts/ca.cert.pem
cp /etc/letsencrypt/live/$CERT_DOMAIN/cert.pem /usr/local/etc/ipsec.d/certs/server.cert.pem
cp /etc/letsencrypt/live/$CERT_DOMAIN/privkey.pem /usr/local/etc/ipsec.d/private/server.pem
service ipsec restart
fi
}

checkcertbot
checkcert

在crontab里添加每5天执行一次即可

crontab -e
0 0 */5 * * #脚本路径

40Gbps交换机CRS326-24S+2Q+RM开箱及拆解

mikrotik 2019年底发布了他家最高带宽交换机CRS326-24S+2Q+RM,24个10gbps的sfp+口,2个40gbps的qsfp+口
45度照
正面
背面
内部
此交换机配置了三个4cm的三线高转速风速,短期观察有三档温度调节,停转,低速3k转,高速6k转,噪音较大,这里更换了猫扇NF-A4x20 PWM,主板风扇接口是4口,而且手上没有NF-A4x20 FLX,所以就直接用了pwm的,短暂测试没有发现问题,系统也可以看到转速。
风扇
风扇
同时购入了两个sfp+转万兆电口模块S+RJ10
万兆电口模块
预计此交换机将替代现在的xs716t成为我的核心交换机

群晖FS1018升级4万兆网络

最近看各位up主纷纷升级了万兆,并且mikrotik新出了40gbps的交换机,我也升级一下我的全固态nas。
我的synology全固态nas FS1018原本用的网卡是x710-da2,这次升级成为xl710-qda2,intel 的40gbps网卡,100gbps的话就需要mellanox的了,intel目前还没有,而且mellanox便宜的二手卡大部分是InfiniBand网卡而不是以太网卡。
群晖FS1018使用的是两张pcie x4转接的12个sata,xl710-qda2使用的是pcie-3.0 x8的接口,按接口来说足够4000MB/s了,但是由于群晖买软件送硬件的特性,FS1018配备的这个奔腾D1508比较孱弱,不知道是否能跑满,由于交换机还没到所以速度测试后面补上。
xl710-qda2使用的是国产寨卡(大厂保修3年),模块也是intel的,是原装还是山寨不清楚
第一次接触40g光纤,使用的mpo接口,以太网卡使用8芯,由于历史原因网速大部分成品都是12芯的,12芯兼容8芯,这里使用的也是12芯。在10g网络以下光纤一般使用双芯lc接口,家用宽带使用单芯sc接口,而mop接口单排8或12芯,更有双排24芯,具体请自行搜索。
下面上图
网卡x710-da2和xl710-qda2
xl710-qda2芯片
xl710-qda2上机
intel 40g模块
模块光纤接口
模块上机
mpo接口光纤

群晖的兼容性列表里没有xl710-qda2,但是按经验intel的驱动兼容自家大部分产品,换之前还稍微有点担心,下图是群晖正确识别
群晖识别xl710-qda2
以下是ssh登陆群晖看到的dmesg内容

[ 58.168571] Intel(R) 10GbE PCI Express Linux Network Driver - version 5.1.3
[ 58.176352] Copyright(c) 1999 - 2017 Intel Corporation.
[ 58.189592] i40e: Intel(R) 40-10 Gigabit Ethernet Connection Network Driver - version 2.3.6
[ 58.198928] i40e: Copyright(c) 2013 - 2017 Intel Corporation.
[ 58.218788] i40e 0000:01:00.0: fw 6.0.48442 api 1.7 nvm 6.01 0x80003492 0.0.0
[ 58.459081] i40e 0000:01:00.0: MAC address: 68:91:d0:xx:xx:xx
[ 58.470715] i40e 0000:01:00.0: PCI-Express: Speed 8.0GT/s Width x8
[ 58.478036] i40e 0000:01:00.0: User requested queue count/HW max RSS count: 0/64
[ 58.486401] i40e 0000:01:00.0: Features: PF-id[0] VFs: 64 VSIs: 66 QP: 4 RSS FD_ATR FD_SB NTUPLE CloudF VxLAN NVGRE PTP VEPA
[ 58.511205] i40e 0000:01:00.1: fw 6.0.48442 api 1.7 nvm 6.01 0x80003492 0.0.0
[ 58.751255] i40e 0000:01:00.1: MAC address: 68:91:d0:xx:xx:xx
[ 58.762888] i40e 0000:01:00.1: PCI-Express: Speed 8.0GT/s Width x8
[ 58.770209] i40e 0000:01:00.1: User requested queue count/HW max RSS count: 0/64
[ 58.778572] i40e 0000:01:00.1: Features: PF-id[1] VFs: 64 VSIs: 66 QP: 4 RSS FD_ATR FD_SB NTUPLE CloudF VxLAN NVGRE PTP VEPA

在ssl2buy.com购买通配符证书

在阿里云申请的单域名证书过期了,由于设备众多需要重新申请,索性买个通配符证书(wildcard俗称野卡)。为什么不用letsencrypt的通配符证书,每三个月更新一次证书还不如阿里云的单域名一年更新一次。

经过简单了解,选择了ssl2buy.com购买证书,确实别别的地方便宜一些。
这次购买的是alphassl的40刀一年,购买了2年。
付款后按提示开始配置,需要自己生成csr(Certificate Signing Request),这里使用https://csrgenerator.com/
天好心情信息后会生成如下

-----BEGIN CERTIFICATE REQUEST-----


-----END CERTIFICATE REQUEST-----
-----BEGIN PRIVATE KEY-----


-----END PRIVATE KEY-----

把上面生成的第一部分

-----BEGIN CERTIFICATE REQUEST-----


-----END CERTIFICATE REQUEST-----

填入配置页面,会有个选择域名认证的方式,我选择了dns,
会给你一个txt的根域,解析生效后在配置页面点击验证。
几分钟后就会生成通配符域名证书
这里没有中间证书,为了移动设备等的兼容性需要配置好中间证书,这里通过一个工具来补全https://myssl.com/chain_download.html
保存为fullchain.pem
然后把第一步中

-----BEGIN PRIVATE KEY-----


-----END PRIVATE KEY-----

保存为privkey.pem
nginx中修改成这两个文件即可。

联想thinkcentre M920x与Intel X710-T4组建万兆迷你服务器

硬件:
m920x准系统
正显9900t
ddr4 32g*2
970evo 2t*2
x710-t4

单烤fpu,3.9ghz,风扇全速,噪音直升机,5秒真男人后,稳定2.5ghz,cpu功率 35w,风扇半速,温度73,噪音可以接受。

x710-t4刚刚好能放进去,但是需要稍微动手改造,以原装散热片为例(某宝有的卡是改装的长方形散热片),首先拿下x710-t4散热片后,切掉右上角突出的部分,然后pcb右上角的螺丝孔剪掉1/4,最后m920x的wifi天线架,需要把部分铁皮掰平,防止挤压网卡上的电容。

网卡挡板是i350的,需要稍微紧一下,不然一个螺丝固定的会松 主板bios 不支持sr-iov

ps:最好用塑料纸包住网卡背面并弯折到正面右侧散热片,防止支架、屏蔽泡棉等短路。我就是因为屏蔽泡棉短路了网卡右侧电容导致不能开机,排查了很久才找到原因。

改装位置参考图中红圈位置
nic
inside
front
back

软件:
计划esxi
routeros v7
opnsense
win
ubuntu

intel vpro 即AMT配置
开机logo时按enter
然后按ctrl+p进入amt配置页面
默认密码是admin,修改密码
打开所有配置,设置好IP地址
下载intel amt管理软件,我这里macos 使用的是meshcommander
打开软件后,填入amt的IP地址,用户名admin,密码刚才改的

amt的web管理页面地址http://[IP]:16992

amt对比ipmi目前发现在重启的时候kvm会断开,不知道是软件的问题还是amt就是这么设计的