V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
leaves615
V2EX  ›  Linux

lxc 容器访问 k3s 的 nodeport 不通的问题。

  •  
  •   leaves615 · 2 天前 · 583 次点击

    在同一台 host centos 中安装了 lxd 和 k3s 。 两个独立使用不存在问题。

    当在 lxd 的容器系统中访问 k3s 中的 service 输出的 nodeport 端口时,出现 telnet 可以通,curl <host_ip>:port 的时候,显示连接成功,就是没有响应,直到超时。

    lxd 容器访问 host 系统的端口就是正常的。

    在局域网内访问 nodeport 的端口 <host_ip>:port 是正常访问的。

    有没有大师遇到过类似问题。该怎么解决?

    第 1 条附言  ·  2 天前
    br 模式的方法没有找到。

    换一个方法实现了互通。lxc 以 macvlan 方式配置网卡创建的容器,可以实现互通。
    10 条回复    2024-06-28 22:31:32 +08:00
    zfjdif
        1
    zfjdif  
       2 天前
    当时装的时候好像遇到过这个问题,最后用虚拟机装就好了,蹲一下其他解决方案
    dann73580
        2
    dann73580  
       2 天前
    是用 pve 吗?我知道 lxc 容器默认没有 tun 接口,某些组网情况会失败。
    leaves615
        3
    leaves615  
    OP
       2 天前
    没用 pve
    @dann73580
    leaves615
        4
    leaves615  
    OP
       2 天前
    lxc 用桥接 使用局域网
    leewaytown
        5
    leewaytown  
       2 天前
    br 和 macvlan 的区别:过不过宿主机的网络 stack
    telenet 和 curl 的区别:TCP vs HTTP
    这样看是不是宿主机把 HTTP 请求 block 了
    :)
    leaves615
        6
    leaves615  
    OP
       2 天前
    @leewaytown 具体的在哪个环节 block/drop 了。没有找到相关的方法和工具进行排查和配置。linux 网络层面的比太懂。
    julyclyde
        7
    julyclyde  
       1 天前
    那你 telnet 手工发个 HTTP 请求看看?
    leaves615
        8
    leaves615  
    OP
       21 小时 46 分钟前
    @julyclyde 试过一样不通,通过 TCPDUMP 发现 HTTP 请求包成功到达了 k3s 的服务,当时 HTTP 响应包无法到达 lxc 容器,后续就是双边出现包重发,直到 RST
    julyclyde
        9
    julyclyde  
       20 小时 5 分钟前
    @leaves615 检查一下 rp_filter 的设置?
    隐隐约约觉得似乎有关系,但这个症状还是有点不太对劲……
    leaves615
        10
    leaves615  
    OP
       16 小时 38 分钟前
    rp_filter 没学会怎么看和判断是否配置正确。能否告知具体怎么操作。
    @leaves615 #8
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2609 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:10 · PVG 15:10 · LAX 00:10 · JFK 03:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.