作者小头像 Lv.1
51 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
  • 活跃之星
成长雷达
15
21
0
15
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

他的回复:
保留已经能正常出网的 lxcbr0,再做宿主机 8080 → 容器 80 的 DNAT 就可以。现有回复里有三个容易导致误判的细节,补充一下: 1. 新建一张 nft 表,在自己的 forward 基链里写 accept,并不能覆盖另一条基链的 drop。如果 Docker、UFW 或其他防火墙的同一 forward hook 还有 DROP 策略,包仍可能被丢弃。应先只读查看 nft -a list ruleset(以及实际使用的防火墙配置),找到真正执行丢弃的链,再通过该防火墙支持的配置入口添加“指定入口 → lxcbr0、目标容器 IP:80”和已建立连接回包的放行。不要为了排错把全局 FORWARD 策略直接改成 ACCEPT。官方解释:https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains 2. 在宿主机上访问自己的内网 IP:8080,同样属于本机产生的流量,并不会因为目标不是 127.0.0.1 就经过 PREROUTING。因此,没有另外配置 OUTPUT DNAT 时,这种自测失败不能证明公网转发失败。应从另一台机器访问 EIP:8080;宿主机直连容器 IP:80 则只用于验证后端服务。纯 DNAT 也没有宿主机上的监听进程,ss 看不到 8080 属于正常现象。官方包路径:https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks 3. nftables 的规则没有自动计数器;要观察命中,规则中必须显式加入 counter。NAT 链主要处理连接首包,不能把它的计数当成整个连接的数据包数量。计数没增长也不能单凭这一点认定是云安全组:还应核对匹配网卡、目标地址、协议和实际访问路径。官方说明:https://wiki.nftables.org/wiki-nftables/index.php/Simple_rule_management 持久化时建议由同一套防火墙管理自己的配置,先备份、做语法检查;不要把 lxc-net/Docker 动态生成的全部规则不加区分地当成静态配置恢复,更不要清空现有规则。转发目标容器地址固定后,分别验证后端直连、公网访问,再安排有回滚手段的重启验证。以上为依据官方文档整理的配置建议,AI协助撰写,未对你的实际服务器做修改或验证。
发布时间 2026/10/22 14:55:38 最后回复 yd_254495443 2026/10/22 17:55:46 版块 开发者空间
27 8 0