全球主机交流论坛
标题:
nftables inet表设置的规则生效后ipv6无法连接
[打印本页]
作者:
昵称以后再定
时间:
2021-9-9 11:17
标题:
nftables inet表设置的规则生效后ipv6无法连接
本帖最后由 昵称以后再定 于 2021-9-9 12:14 编辑
已自行解决(暂时且玄学的),我也不知道原理,蹲一个屌大的更好的方案
今天改完网站配置用 ssllabs 测试的时候,才发现前段时间买的配好 nftables 防火墙的 dmit spro ipv6 是连不上的我 AAAA 记录了个寂寞,但是关了防火墙就好了。大概率是 nftables 设置的问题
不过我实在是看不出来,规则也写在 inet表内能同时匹配 ipv4 ipv6,不知道为什么一开 ipv6 就死 超时
规则如下,屌大的来看看,第一次用带 ipv6 的机器
table inet filter {
……
chain input {
type filter hook input priority filter; policy drop;
ct state invalid
ct state established,related accept
……
tcp dport 22222 accept # SSH
tcp dport 443 accept
}
chain forward {
type filter hook forward priority filter; policy drop;
}
chain output {
type filter hook output priority filter; policy accept;
}
}
复制代码
作者:
昵称以后再定
时间:
2021-9-9 12:11
本帖最后由 昵称以后再定 于 2021-9-9 12:14 编辑
已自行解决(暂时且玄学的),我也不懂原理,蹲一个屌大的更好的方案
dmit 在 网口 eth0 上同时附加 ipv4 ipv6,且 ipv6 有两个一个外部地址一个内部地址(其他主机商可能也有类似的配置)ifconfig 输出如下
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1350
inet …… netmask 255.255.255.0 broadcast ……
inet6 内网地址 prefixlen 64 scopeid 0x20<link>
inet6 面板上显示的外网ipv6 prefixlen 48 scopeid 0x0<global>
……
复制代码
在规则中增加 iif "eth0" accept ,或把相应链默认策略改成 accept ?
弄成大概下面这样
table inet filter {
……
chain input {
type filter hook input priority filter; policy drop;
ct state invalid
ct state established,related accept
……
iif "lo" accept
iif "eth0" accept
iif != "lo" ip daddr 127.0.0.0/8
iif != "lo" ip6 daddr ::1
……
tcp dport 22222 accept # SSH
tcp dport 443 accept
}
chain forward {
type filter hook forward priority filter; policy drop;
}
chain output {
type filter hook output priority filter; policy accept;
}
}
复制代码
暂时解决
欢迎光临 全球主机交流论坛 (https://4414.19990909.workers.dev/)
Powered by Discuz! X3.4