Tag: mikrotik

  • Add Letsencrypt certificate to Mikrotik router

    RouterOS 7 开始可以用 /certificate/enable-ssl-certificate 命令完成http-01 challenge 并得到一张证书。

    得到 90 天的证书,就想安排一个 auto renew 的程序。

    这里有个问题:/certificate/enable-ssl-certificate 命令究竟包不包 auto renew?

    我好像在哪里看到过用 /certificate/enable-ssl-certificate 命令可以得到一张证书,其自会 auto renew。但这一点后来就再也找不到出处了,我就认为我看花眼了,或者记错了。

    网上有很多教如何在 Mikrotik 路由器上 anto renew 证书。大致涉及到四步骤:

    删除旧证书

    生成新证书

    再重新添加到用到证书的各项服务里,如 HTTPS、SSTP

    在 Schedule 里让上述代码每60-89天运行一次

    最近我正研究着 Deepseek 为我写的 auto renew script(逻辑上更复杂一点,会根据证书剩余时间来决定下次运行 script 的日子),突然发现快过期的证书已经更新了,而我还什么都没做啊?!

    于是我问 Deepseek:/certificate/enable-ssl-certificate 这个命令除了创建一张证书,会不会在到期前自动续订证书?

    Deepseek 回答不会。

    然后我说,我刚刚已经观察到它会自动续订了。

    Deepseek 回答说它错了,我是对的。为了证明我是对的,它说 Router 里有隐藏的 script 和 schedule。

    /system script print where name~”letsencrypt”

    /system scheduler print where name~”cert”

    但我又试了一下,没发现这两条。在 Mikrotik 问题上,Deepseek 已经在我面前暴露了很多错误。所以,没发现这两条也正常。

    但我相信 /certificate/enable-ssl-certificate 这个命令包娶妻,还包生子。那我就没必要继续研究 auto renew 了,等过60多天再看看。

    新证书直接用于 HTTPS,不需要删除旧证书再加载新证书。

    新证书用在 SSTP,有点小麻烦,可能是 bug:证书更新后 SSTP 显示加载的是新证书,但 VPN 连接时的错误总是说对应的端口没打开。Disable 再 Enable SSTP server 并没有用,必须先把 SSTP server 里的证书换个别的,然后切换回新证书。

    下次证书续订后,估计仍需要我来设置 SSTP server。

  • Mikrotik hybrid VLAN port

    我就想吐槽一下自己,我整整一个圣诞到新年的假期,都在研究如何在 Mikrotik router 上做一个 hybrid VLAN port。其实我可能第一天就做出来了,但是怎么都不生效,让我觉得可能自己还不会设置,反复调整,直到今天我才发现,原来是忘了 Mikrotik router 和我的目标设备之间还有一个 EdgeSwitch。

    之前我创建了 VLAN trunk,我想在此基础上加一个 untagged VLAN,以便进入一对未设定 management VLAN 设备 Metrolinq 的管理界面。

    我完全忘了这一对 Metrolinq 并有没有直接接入 Mikrotik router,而是接入了 EdgeSwitch,EdgeSwitch 再接入 Mikrotik router。这也是最近网络基础设施大升级的一部分,这么做的好处是用 EdgeSwitch POE 供电给 Metrolinq,抛弃 Metrolinq 原配的 POE adapter,因为我感觉原配的 POE adapter 似乎不太稳定,发生过多次莫名其妙的断网,靠重启 POE adapter 恢复。

    所以,不管我在 Mikrotik router 做什么调整,EdgeSwitch 仍是原来那个 VLAN trunk,新增的 untagged VLAN 根本到不了 Metrolinq。

    我的假期就这么浪费掉了,本来可以干很多其他事情的。也不是完全没有收获,反复研读 Mikrotik Wiki,理解力有点提高。