分类 技术 下的文章

静音全万兆全固态nas(持续更新)

历时半年,终于把硬件凑齐了
硬件:主板 x11sdv-16c,内存 64g*2,散热 d15s,硬盘笼 516sp,硬盘 860evo-4t,网卡 x710-4t
硬件1

软件:待续
测试:待续

群晖的radius server使用openldap认证的坑

群晖的radius server是魔改的freeradius,可以使用本地ldap server和远程ldap,分别对应两套配置文件。
在使用远程ldap时,会读取控制面板/ldap客户端的配置信息,每次重启radius server都用读取的配置重置radius server的远程ldap配置文件,坑就在这里:radius server有个连接远程ldap的start_tls = no配置信息默认是yes,然而openldap默认是不开放ldaps://的,配置ldaps需要证书等一系列配置,比较繁琐,并且内网使用ldap://也没有什么安全问题,群晖radius server每次修改配置都会重置start_tls为yes,然后就连不上远程ldap了。
解决办法:
1,修改start_tls配置文件

vi /usr/local/synoradius/rad_ldap_starttls
start_tls =no

然后radius server的配置不动,在客户端每次不勾选客户端应用,再够远应用,达到不重置配置文件重启认证服务器。

2,修改ldap配置文件

vi /volume1/@appstore/RadiusServer/etc/raddb/mods-enabled/ldap
    tls {
#        $INCLUDE /usr/local/synoradius/rad_ldap_starttls
       $INCLUDE /var/packages/RadiusServer/target/syno_conf/rad_ldap_starttls
    }

注释掉原来的引用,修改成重启radius server不会重置的配置文件。

3,修改radius server的重启脚本
由于群晖魔改,配置文件启动脚本路径比较混乱,还没有找到重置配置文件的位置。

ps:由于群晖的packages的特殊性,每次升级后理论上上面三个方法都会失效,需要重新修改。

通过rclone备份vps数据到google drive

1,安装rclone

apt update && apt install curl unzip -y
curl https://rclone.org/install.sh | sudo bash

2,配置rclone

rclone config

有Leave blank normally字样的直接回车就行,注意选择Use auto config?选择Say N if you are working on a remote or headless machine or Y didn't work。
复制一串url到浏览器按提示登陆后会得到一串密钥,复制到终端里会车即可。

3,配置定时同步
crontab -e
rclone sync 要备份的目录 rclone的配置名称:google drive的路径

注意不会备份目录的根目录

google cloud platform(gcp)的一个关于网络的坑

gcp这个网络坑是vm网卡的mtu是1460,一般其他vps或云服务的都是1500。

在gcp上使用更换付费账号的方式重新撸了300刀一年,其实在15/16年就用过一年,当时台湾服务器还没被草烂,联通直连能跑满带宽,后来用的人越来越多,很多ip被墙了,到期之后就没再用。

最近发现gcp新放出来一批ip,识别地址是美国,还没有被各大视频网站(Netflix,hbo,hulu等)加入黑名单,所以又撸了一年,先用着。

之前用gcp只是用ss,没有碰到mtu的问题。这次用gcp做落地机出现了问题。
境内路由器隧道到阿里云香港然后隧道到gcp香港,再出去,由于隧道的原因链路最小mtu是1390,小于gcp网卡1460,所以没有问题。

我的苹果设备需要一个ikev2服务器访问美国服务,按之前的一键脚本一路下来很顺利,却打不开谷歌的各种服务,但是ping正常,telnet正常,刚开始以为是dns问题,一键脚本默认是8.8.8.8,服务器是169.254.169.254的内网ip,修改dns服务器地址之后依然不行。然后想到是不是gcp对nat有什么限制,遍历gcp设置,各种查文档,改配置也是一无所获。

ikev2建立连接后,客户端通过telnet发现是可以建立tcp连接的,然后通过curl -v去请求测试,发现curl -v google.com可以收到301状态码,但是curl -v www.google.com卡在tcp建立连接后接收http报文,curl -v https://www.google.com 卡在tls协商,其实从这基本可以确定是mtu问题了,因为卡住之前都是小包碰不到分片或丢包,到接收http报文或者tls协商都是大包,超过mtu都是要分片或丢包,由于关于mtu的问题很久没有遇到了,一时没想起来。

惆怅迷惑之际拿起了wireshark抓包,curl -v www.google.com后,wireshark出现“tcp previous segment not captured”,终于意识到大包被丢包了,可能是mtu问题。ifconfig发现imac的ipsec0接口mtu是1400,sudo ifconfig ipsec0 mtu 1200 up,问题解决。但是不能每个客户端都修改mtu,ios怎么修改mtu?

查询文档,谷歌建议vm网卡使用1460,说是全球链路中最大1460,先不管了修改vm网卡为1500,vm只作中转不从vm直接上传什么应该问题不大。

gcp关于strongswan的文档根本没有提到mtu问题。

proxmox配置https证书、端口、源和关闭订阅提醒

proxmox安装完后默认管理地址是https://IP:8006,由于是自签名证书,所以浏览器打开提示证书错误。
一、修改证书及端口让浏览器正常打开。
1,安装pve时配置固定ip,配置域名解析到这个ip
2,申请域名证书
3,ssh登陆到pve,找到/etc/pve/nodes/<主机名>/<主机名>-ssl.key和<主机名>-ssl.pem,把pem和key替换成域名证书内容
4,由于8006端口是写入二进制文件的,所以不能从配置文件修改,这里通过iptables添加端口转发

iptables -t nat -I PREROUTING -d <IP> -p tcp --dport 443 -j DNAT --to-destination <IP>:8006

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8006

5,禁止外部访问8006端口

iptables -A INPUT -s 127.0.0.1 -p tcp --dport 8006 -j ACCEPT
iptables -A INPUT -p TCP --dport 8006 -j REJECT

iptables -A INPUT -i ! lo -p tcp --dport 8006 -j DROP

6,保存iptables

iptables-save > /etc/iptables.up.rules
echo -e '#!/bin/sh\n/sbin/iptables-restore < /etc/iptables.up.rules' > /etc/network/if-pre-up.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables

这样浏览器打开https://你的域名,就是正常的了。

二、配置更新源
1,删除原来的企业源

rm /etc/apt/sources.list.d/pve-enterprise.list

2,添加官方免费源

echo 'deb http://download.proxmox.com/debian/pve stretch pve-no-subscription' >>/etc/apt/sources.list.d/pve-free.list

3,更新

apt update

三、关闭订阅提醒
1,编辑文件

nano /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

control+w 搜索data.status,把if(data.status!=='Active') 修改为if(false),control+x保存退出
2,退出重新登陆
3,此方法可能在升级pve后失效,失效后再修改即可