小编Jos*_*ler的帖子

数据包捕获:过滤 RX 与 TX

我有一个网络问题,其中源 MAC 与我的主机的源 MAC 之一匹配的帧到达主机 - 明显的重复 MAC、循环或其他 L2 问题。

我相信这是这种情况,因为我的 linux 网桥的 MAC 表(CAM 表)将本地 MAC(用于托管虚拟机)注册为在上游端口上,并且内核日志显示错误:

bridgename: received packet on bond0.2222 with own address as source address
Run Code Online (Sandbox Code Playgroud)

我想获得有关这些“流氓”数据包/帧的更多详细信息,但我不知道如何将它们归零。使用 tcpdump 您可以过滤特定的源 MAC( 'ether src MAC' ),但这是基于帧中的字节 - 而不是帧是“发送”还是“接收”。我们通常假设带有源 MAC 的帧意味着我们将其发送出去,但如果接收到重复的帧,则过滤器的内容看起来完全相同。

如何观察在数据包捕获中是接收帧还是发送帧?

linux tcpdump pcap interface

8
推荐指数
2
解决办法
1万
查看次数

是否有充分的理由不将 sbin 添加到默认 PATH 中?

背景:

PATH环境变量指定通过时的命令而不指定路径发出搜索的目录。"sbin" 路径 ( /sbin, /usr/sbin) 旨在容纳管理实用程序,因此许多 *nix 发行版不将这些目录包含在PATH. 也就是说,在许多情况下,非管理帐户合法地需要访问这些实用程序,并且必须指定完整路径或修改其PATH变量才能这样做。此任务相对容易执行,但对于新用户来说可能很麻烦。更糟糕的是,当您涉及 PAM、sudo、ssh 和其他与PATH环境。对该站点或整个互联网的搜索会产生许多这些问题的样本,这些问题困扰着新老用户。

问题:

有了上述背景,是否有充分的理由不将 sbin 目录添加到默认 PATH ?(推测是通过/etc/profile/etc/profile.d或等同物)

我承认“好”是主观的,但在我看来,这里有一些不成立的原因。也许你不同意?

不好的理由:

  • 安全
    • 提升的权限和保存实用程序的目录与世界可访问的目录 ( r-x)无关。可能会提出一个默默无闻的论点,即足够不熟练的坏人找不到“隐藏的”实用程序,但这将是一个可悲的透明幕布。
  • 命名空间
    • 有人可能会争辩说,用户可能想要编写自己的reboot命令,他们可以通过自己的自定义目录访问这些命令,并将其添加到PATHsbin 目录中,而系统默认值会胜过他们的配置。这是一个极端情况,并且有问题的用户已经了解PATH含义并且可以修改他们的配置以在序列中更早地使用他们的目录。
  • 标准
    • 这绝不是对文件系统层次结构标准的更改;实用程序仍然根据它们的功能组织到它们的目录中。
    • 不解决问题,因为“我们已经习惯了这个问题”是愚蠢的。

linux shell environment-variables

5
推荐指数
1
解决办法
235
查看次数

将 rsyslog 转发到 syslog-ng,并使用 FQDN 和设施分离

我正在尝试配置我的 rsyslog 客户端以将消息转发到我的 syslog-ng 日志存储库系统。转发消息“开箱即用”,但我的客户记录的是短名称,而不是 FQDN。因此,系统日志存储库上的消息也使用短名称,这是一个问题,因为人们无法轻松确定消息源自哪个系统。我的客户通过 DHCP/DNS 获取他们的名字。

我尝试了多种解决方案试图使其正常工作,但没有成功。我正在使用 rsyslog 4.6.2 和 syslog-ng 3.2.5。

我尝试将其设置$PreserveFQDN on为 /etc/rsyslog.conf 中的第一个指令(当然还重新启动 rsyslog)。好像没有什么效果。

hostname --fqdn客户端上的 FQDN 返回正确的 FQDN,因此问题不在于系统是否能够真正找出自己的 FQDN。

$LocalHostName <fqdn>看起来很有希望,但该指令在我的 rsyslog 版本中不可用(自 4.7.4+、5.7.3+、6.1.3+ 起可用)。目前无法选择升级。

配置 syslog-ng 服务器以通过 DNS 进行反向查找来填充名称并不是一种选择。反向 DNS 和公共云很复杂。

乍一看,指定转发器使用自定义模板似乎是一个可行的选择。我可以指定以下内容,这会导致本地日志记录开始使用 syslog-ng 存储库上的 FQDN。

$template MyTemplate, "%timestamp% <FQDN> %syslogtag%%msg%"
$ActionForwardDefaultTemplate MyTemplate
Run Code Online (Sandbox Code Playgroud)

但是,当我将其放在适当的位置时,syslog-ng 似乎无法按设施或优先级对消息进行分类。消息以 FQDN 形式传入,但所有内容都放入 user.log 中。当我不使用自定义模板时,消息会根据设施和优先级正确分类,但使用短名称。

因此,总而言之,如果我手动诱使 rsyslog 包含 FQDN,那么优先级和设施就会丢失 syslog-ng 的详细信息。如何让 rsyslog 进行 FQDN 日志记录,该日志记录可以正常工作到 syslog-ng 存储库?

rsyslog 客户端配置:

$ModLoad imuxsock.so    # provides support for local …
Run Code Online (Sandbox Code Playgroud)

syslog-ng rsyslog

5
推荐指数
1
解决办法
1万
查看次数