无显示输出时重启 Linux
今天调试 PVE 的防火墙时玩脱了,之前开启的 SSH 因为网络问题断开了,没开个新的就在 WebUI 上把 Firewall 开启。
直接键盘显示器连上主机发现没有显示输出,狂按键盘 Ctrl + Alt + Del 居然触发了重启。安全关机也算救了回来吧。
回来后按 Proxmox VE Firewall 说明在集群防火墙页面添加一个名为 management 的 IPSet 就能避免以后被拦在外面了。
PVE Firewall 阻拦了 ICMPv6 响应
开启 PVE Host 的防火墙后,发现个奇怪的现象。从 PVE 向外 ping 没问题,但从外向内 ping 就被阻拦。
Chain PVEFW-HOST-IN (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * ::/0 ::/0
50 11883 DROP all -- * * ::/0 ::/0 ctstate INVALID
0 0 ACCEPT all -- * * ::/0 ::/0 ctstate RELATED,ESTABLISHED
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 ipv6-icmptype 133
20 2560 RETURN ipv6-icmp -- * * ::/0 ::/0 ipv6-icmptype 134
1 72 RETURN ipv6-icmp -- * * ::/0 ::/0 ipv6-icmptype 135
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 ipv6-icmptype 136
0 0 RETURN 2 -- * * ::/0 ::/0
0 0 RETURN tcp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src tcp dpt:22
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src ipv6-icmptype 128
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src ipv6-icmptype 133
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src ipv6-icmptype 134
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src ipv6-icmptype 135
0 0 RETURN ipv6-icmp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src ipv6-icmptype 136
0 0 RETURN tcp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src tcp dpt:8006
0 0 RETURN tcp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src tcp dpts:5900:5999
0 0 RETURN tcp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src tcp dpt:3128
0 0 RETURN tcp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src tcp dpt:22
0 0 RETURN tcp -- * * ::/0 ::/0 match-set PVEFW-0-management-v6 src tcp dpts:60000:60050
2 152 RETURN all -- * * ::/0 ::/0
0 0 all -- * * ::/0 ::/0 /* PVESIG:s8wIEvSJZJINuAc5Bit+Y6u/CaU */通过对比开关前后的表现,定位到是 ctstate INVALID 这行拦截了 ICMPv6 返程。
也有人落下了相似的结论:
- Is there anyway to turn off the ctstate invalid DROP rule in pve-firewall? : r/Proxmox 但很可惜这个参数 不影响
PVEFW-HOST-IN的内容。 - ipv6 - Multicast ICMPv6 comes back with conntrack state invalid - Unix & Linux Stack Exchange
总之对于 PVE-Firewall 为什么把 -A PVEFW-HOST-IN -m conntrack --ctstate INVALID -j DROP 放在前面还是不得而知。
实际原因是 使用 MACVLAN 为主机同时分配静态 IP 并取得动态 IP 多网卡产生了回程非对称路由。最终我打算关掉 PVE 层的防火墙,让 Openwrt 来处理过滤。
Obsidian Linter 格式化斜体下划线和双引号时会添加前后空格
之前在 Obsidian Linter 设置过 Emphasis Style - Content Rules - Linter 的 ” 保持突出样式一致性 ” 为 underscore,想要和 * 粗体 * 使用的 asterisk 区分开。
但同时我又开启了 Space between Chinese Japanese or Korean and English or numbers -Spacing Rules - Linter 确保中日韩文与英文数字之间有一个空格,配置为 -+;:'"°%$)]。
代代 “你好”
效果是只要在英文符号边上多了个空格,就会在两边都加上,从而破坏 Markdown 格式
"你好"→" 你好 "*你好 *→* 你好 *
总之感觉是 bug。
把配置改为 -+;:'°%$)] 能缓解引号的问题,但下划线代表斜体还是有问题,只好继续用星号代表斜体了。
PVE 下的网桥应该关闭 multicast snooping
长久以来的问题和临时地解决方案终于有了结论:
echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping