月度归档: 2023 年 10 月

  • dnsmasq解析本地域名的若干方法

    写这个主要是因为如果在公网上配置了IPv6地址的话本地IPV4解析就失效了
    – 方法1,用–address
    2.86版本以后改变了–address=/example.com/1.2.3.4配置的行为,A记录以外的其它记录类型仍然 会向上游转发,这在以前版本是不会的,要保持与以前相同的行为要使用如下写法:
    --address=/example.com/1.2.3.4 --local=/example.com/
    – 方法2,用hosts
    --server=/example.com/
    然后在hosts文件中添加
    1.2.3.4 example.com
    在华硕路由器上的hosts文件是/jffs/configs/hosts.add
    – 方法3,用–dynamic-host添加动态IPV6地址
    –dynamic-host example.com,0::1.2.3.4,br0
    dnsmasq会从br0上获取接口地址添加到ip地址前缀中

    Views: 88

  • frp的xtcp打洞测试

    • 在windows上无论如何都会失败(windows成功率更低)
      后来发现只是我这台电脑有问题,不过仍然说明兼容性并不好
    • xtcp依懒于stun,然而并没有稳定的stun服务器,自建的stun服务器都用不了(可能需要开放全部端口才行)
      国内可用的stun服务器stun.miwifi.com:3478,stun.qq.com:3478
    • stun测试
      执行命令./frpc nathole discover --nat_hole_stun_server stun.miwifi.com:3478,如果 正确返回IP端口号则说明stun能正确工作,如果不能xtcp大概率也不会通
    • 从结果来看xtcp的打洞成功率远低于wireguard+wgsd

    Views: 172

  • WireGuard部署及NAT打洞

    主要参考文档:

    wireguard文档
    相关中文翻译
    – https://blog.51cto.com/u_15077562/4574884
    – https://icloudnative.io/posts/wireguard-docs-theory/
    nat穿透
    相关中文翻译
    – https://xie.infoq.cn/article/3f68cde0163b359b13fa1a8f0
    – https://icloudnative.io/posts/wireguard-endpoint-discovery-nat-traversal/

    总结

    • nat穿透的时候需要NAT后的节点共同连到一个有公网IP的节点上
    • 在nat背后的两个节点相连的时候需要至少一个是全椎形NAT,或者双方都为限制椎形
    • coredns部署在具有公网IP的节点上
    • wgsd_client需要在nat背后的节点上定时运行,可以5分钟或10分钟一次
    • wgsd的代码可以自己编译,尤其在windows上只能自己编译,在对应目录中运行go build就可以了
    • nat状态表的过期时间一般为2分钟,所以keepalive周期最好在1分钟以内
    • nat后节点不需要与公网节点能正常通信,只需要能向公网节点发起连接就行,所以coredns最好在公网开放端口,这样在不能与公网节点通信时也能用
    • 运营商级NAT都不是全椎形
    • nat类型探测工具
      https://github.com/HMBSbige/NatTypeTester
    • nat类型介绍
      https://support.huawei.com/hedex/hdx.do?docid=EDOC1100331440&id=ZH-CN_CONCEPT_0183792552
      https://zhuanlan.zhihu.com/p/657998085

    Views: 837

  • windows10/11禁用和开启Hyper-V

    1. 禁用
      bcdedit /set hypervisorlaunchtype off
    2. 开启
      bcdedit /set hypervisorlaunchtype auto

    Views: 61

  • 生成HPE ILO证书

    使用.NET远程控制台的时候发现会有证书错误,导致无法使用.NET远程控制台,所以用acme.sh生成正确的证书
    登录ILO后找到存取管理->安全性,然后点击自定义证书,填写正确的域名,生成CSR,等一会儿再点一次生成CSR,把CSR保存下来
    然后执行命令

    acme.sh  --signcsr --csr dl360.csr --dns dns_gd
    acme.sh --install-cert -d dl360.hetao.me --fullchain-file /opt/certs/dl360.hetao.me/fullchain.pem --cert-file /opt/certs/dl360.hetao.me/dl360.hetao.me.pem
    cd /opt/certs/dl360.hetao.me
    sed '4r dl360.hetao.me.pem' ilocert.cfg>dl360cert.cfg
    hponcfg -f dl360cert.cfg
    


    ilocert.cfg的内容如下

    <RIBCL VERSION="2.0">
    <LOGIN USER_LOGIN = "adminname" PASSWORD = "password">
    <RIB_INFO MODE = "write">
    <IMPORT_CERTIFICATE>
    <!-- Replace the following text and comments with the certificate -->
    <!-- INCLUDE the full header and full footer of the certificate -->
    </IMPORT_CERTIFICATE>
    <!-- The iLO will be reset after the certificate has been imported. -->
    <RESET_RIB/>
    </RIB_INFO>
    </LOGIN>
    </RIBCL>
    

    也可以用命令行操作

    然后会生成证书文件dl360.hetao.me.pem(不是fullchain.pem),把里面的证书再粘到ILO中,ILO会自动重置,ILO再次启动后就好了,.NET远程控制台也能用了。
    注意:
    ilo固件刷新后需要重新生成CSR,不然导入证书时会不识别

    Views: 59

  • pve(KVM)中抑制ignored rdmsr消息

    这个问题跟nvidia显卡虚拟化有关,执行以下命令可解决
    echo “options vfio_iommu_type1 allow_unsafe_interrupts=1” > /etc/modprobe.d/iommu_unsafe_interrupts.conf && update-initramfs -u -k all

    参考:
    https://pve.proxmox.com/wiki/PCI_Passthrough#NVIDIA_Tips

    Views: 35