SLES11 单台机器随机不可达

SLES11 单台机器随机不可达

我遇到了一个非常奇怪的问题,现在我完全迷失了。自从我的公司尝试切换到 SUSE 以来,我已经设置了几台 Suse SLES 11 SP2 机器。每台装有 SLES 11 的机器都有这个特定的问题:

安装后,一切都运行正常。但是,如果通过 SSH 从 Debian 计算机(Squeeze 和 Wheezy)或 Putty(最新版本)连接,连接偶尔会断开,并且只有该计算机无法访问该计算机。如果我通过某个随机服务器连接到它,它就可以正常工作,而我甚至无法从我的计算机 ping 该计算机。

更多细节:

  • 机器上的 tcpdump 看到我自己的 ping 尝试,但没有发送回复
  • 发生这种情况时,SSH 会超时
  • 重新启动网络接口或重新启动可以暂时解决问题
  • 随机发生在 1 分钟到几小时内
  • 所有机器都在同一子网
  • 所有机器都连接到思科交换机,此子网上没有配置 VLAN
  • 检查 IP 盗窃情况(可能是笔记本电脑随机休眠并唤醒以执行某些操作),未成功
  • 更糟糕的是,来自 RedHat6 机器(完全相同的硬件)的连接从未遇到过此问题
  • 所有这些机器上都使用了 e1000e 模块(当然,除了使用 Putty 的 Windows 机器),将其中一侧或两侧的固件更新到最新版均无济于事
  • 网络电缆也已切换 - 没有成功
  • eeprom_fix_82574_or_82583 无法修复此问题,尽管该问题确实存在于部分机器上
  • 在这些有问题的机器上安装 Debian 可以解决问题,但由于公司原因,这并不必要......

所以我在这里,完全不知所措...有人知道这里出了什么问题吗?

答案1

机器上的 tcpdump 看到我自己的 ping 尝试,但没有发送回复

在 GNU/Linux 中,tcpdump可以看到被本地防火墙阻止的数据包iptables,因此如果您没有看到任何回复被发送,则要么是由于入站ICMP被阻止,要么是由于缺少ARP源入口。

为了诊断这些问题,-e切换tcpdump很有帮助,因为它会打印出链路层地址,并且在分析流量时确保ARP也捕获流量。

为了排除ARP(简单)的可能性,您可以添加静态/永久ARP条目,看看问题是否消失。如果添加静态 ARP 条目后问题消失,则可能是有人在窃取 ARP 或正在进行某些 ARP 过滤。

答案2

感谢 abbe,我找到了解决这个问题的方法:

简单来说,禁用 Iptables。

彻底禁用,即通过在启动时禁用内核模块加载以及在 Yast 中预先禁用防火墙。

创建此文件并重新启动,然后使用 lsmod 检查 iptables 是否仍然加载:

纳米/etc/modprobe.d/netfilter.conf

alias ip_tables off
alias iptable off
alias iptable_nat off
alias iptable_filter off
alias x_tables off
alias nf_nat off
alias nf_conntrack_ipv4 off
alias nf_conntrack off

之后,路由问题自行解决,中间不必要的路由点已经被删除,所以现在从一开始它就只有一个跳,而不是两个。

来源:http://backstage.soundcloud.com/2012/08/shoot-yourself-in-the-foot-with-iptables-and-kmod-auto-loading/

相关内容