更新:
离开问题一小段时间后,我意识到有一件事我可以检查或测试,但我没有。
回到一个旧版本的Linux让我可以解决这个问题,但仍然很重要的是提出了一个问题:缺少什么来使这个问题适用于新版本的Linux?
Linux 4.19.13-1-lts #1 SMP Sun 12月30日07:38:47 CET 2018 x86_64 GNU/Linux
原:
问题是:我还应该检查什么来尝试隔离并修复这个问题,以便将网络连接到LXC的vm工作中?
为了调试此问题,我禁用了正常的LXC容器启动。相反,我使用额外的日志记录手动运行它们。
$(日期+%Y%m%d-%H%M%S).log -日志优先级=调试-F -n容器名
局域网主机可以与主机进行ping/对话,也可以与局域网主机对话
两种不同的痕迹
在桥上:如所料
tcpdump -pi bridge port 67 or port 68 or icmp[icmptype] == icmp-echo or icmp[icmptype] == icmp-echoreply
(time) IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from (mac) (oui Unknown)...然而,它不会被中继/转发到物理网络设备:
tcpdump -i bridge_IF port 67 or port 68 or icmp[icmptype] == icmp-echo or icmp[icmptype] == icmp-echoreply
(no dhcp packets)这座桥看上去是对的
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.bridgemac no enpNs0
enpNs0
vethXXXXXX那里的一切看上去都和预期的差不多。
(provided by iptables-nft)
ebtables -L
Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
nft list ruleset
table bridge filter {
chain INPUT {
type filter hook input priority -200; policy accept;
}
chain FORWARD {
type filter hook forward priority -200; policy accept;
}
chain OUTPUT {
type filter hook output priority -200; policy accept;
}
}
table ip filter {
chain INPUT {
type filter hook input priority 0; policy accept;
}
chain FORWARD {
type filter hook forward priority 0; policy accept;
}
chain OUTPUT {
type filter hook output priority 0; policy accept;
}
}还有sysctl和模块配置项。
# cat /etc/sysctl.d/*
net.bridge.bridge-nf-call-iptables=0
kernel.unprivileged_userns_clone=1
# lsmod | grep table
nf_tables 147456 2 nft_reject_ipv6,nft_reject
nfnetlink 16384 1 nf_tables
x_tables 49152 1 ip6t_REJECT
# cat /etc/modprobe.d/*
blacklist ip_tables
blacklist iptable_filter
blacklist iptable_nat
blacklist ip6_tables
blacklist ip6table_filter
blacklist x_tables
install br_netfilter--
到目前为止,一切看起来都应该有效,但事实并非如此。
(container) # ip addr add x.x.x.x/y dev z
(container) # ping VMHOST
Works, ping reply.
(container) # ping ROUTER-GW
Nope, Destination Host Unreachable然而,现在一些真正意想不到的事情发生了(更确切地说,没有发生)。
(VHMOST) # ping ROUTER-GW
Nope, Destination Host Unreachable
Also, the connection to the VMHOST (often) times out at this point.最后一个问题似乎指向了一个问题,我到目前为止还没有检查过,我不确定Linux名称空间中的任何内容是否与这个问题有关。
查看LXC日志并不能提供任何显而易见的信息,但我复制了我认为可能相关的所有内容。实际上什么都说不出来,但我确实想知道名称空间是否被搞砸了。
lxc-start VM TIMESTAMP.390 DEBUG network - network.c:setup_hw_addr:2767 - Mac address "REDACTED" on "eth0" has been setup
lxc-start VM TIMESTAMP.393 INFO conf - conf.c:mount_entry:2039 - No such file or directory - Failed to mount "/sys/fs/fuse/connections" on "/usr/lib/lxc/rootfs/sys/fs/fuse/connections" (optional)
lxc-start VM TIMESTAMP.510 INFO utils - utils.c:lxc_mount_proc_if_needed:1239 - I am 1, /proc/self points to "1"
lxc-start VM TIMESTAMP.536 WARN conf - conf.c:lxc_setup_devpts:1641 - Invalid argument - Failed to unmount old devpts instance
lxc-start VM TIMESTAMP.536 DEBUG conf - conf.c:lxc_setup_devpts:1678 - Mount new devpts instance with options "gid=5,newinstance,ptmxmode=0666,mode=0620,max=1024"
lxc-start VM TIMESTAMP.537 INFO conf - conf.c:setup_personality:1741 - Set personality to "0x0"
lxc-start VM TIMESTAMP.537 DEBUG conf - conf.c:setup_caps:2550 - Dropped mac_admin (33) capability
lxc-start VM TIMESTAMP.537 DEBUG conf - conf.c:setup_caps:2550 - Dropped mac_override (32) capability
lxc-start VM TIMESTAMP.537 NOTICE conf - conf.c:lxc_setup:3745 - The container "VM" is set up
Linux salt 4.20.0-arch1-1-ARCH #1 SMP PREEMPT Mon Dec 24 03:00:40 UTC 2018 x86_64 GNU/Linux
# pacman -Qs lxc
local/lxc 1:3.1.0-1发布于 2019-01-12 10:22:31
呵呵,跟踪邮件中的所有链接,确保其他点击的人知道该做什么。
适用范围:https://marc.info/?l=linux-netdev&m=154696956604748&w=2
帮我修好了,这跟fq的起搏有关
https://serverfault.com/questions/947848
复制相似问题