Articles of linux

Linux绑定(balance-tlb),KVM访客和L2交换机=单播泛滥?

我的networking上有一个单播洪泛问题,当我将一些软件移动到虚拟客户机时,这个问题就开始了。 看起来与这里报告的非常相似: 在Linux中绑定接口时切换洪泛 。 这个问题可以追溯到2012年…所以也许现在有一个更好的解决scheme,也许在Linux / KVM方面。 在下面,我将尝试解释我执行的体系结构和故障排除步骤。 我希望有人能给我一些提示,也许一个解决scheme! 提前致谢! build筑 服务器 Linux主机与PROXMOX 4.1和几个Windows虚拟机。 主机有4个Gbit以太网接口(MAC地址为A,B,C和D),用balance-tlb方法绑定。 然后绑定到虚拟机。 因此每个VM都有自己的MAC地址(MAC地址为X,Y,Z,…)。 托pipe在虚拟机上的软件与现场的许多设备进行交互。 networking 服务器连接到瞻博networking交换机,然后连接到广泛的思科networking。 一切都是二级。 问题 在思科networking上,我不时看到单播风暴。 看来,他们开始每5分钟或其倍数。 我分析了stream量,我发现突然间,从交换机的所有物理端口(在同一个VLAN上)复制了某些设备到某个虚拟机的stream量(反之亦然)。 几秒钟之后,问题就解决了。 理念 阅读思科文档(关于单播泛滥和MAC“老化时间”),以及上述链接,我发现这个问题可能是由于虚拟机的MAC地址在networking上并不经常出现,所以在一定的“老化时间”,交换机开始转发这样的stream量到所有端口,直到他们发现主机在哪里。 故障排除 我在networking上连接了一台笔记本电脑,并开始从一台虚拟机上ping它。 我嗅闻笔记本电脑上的数据包。 从这我可以看到: 来自虚拟机的ARP请求,使用自己的MAC地址作为MAC源(比如说X) 从笔记本电脑的ARP回复,使用MAC源地址(L)和目的地址(MAC地址(X))作为MAC源, 来自虚拟机的ping请求,使用绑定的物理以太网端口(A,B,C,D,以及它们中的三个之间的不时切换)的MAC地址之一作为MAC源,并且作为MAC目的地L 从笔记本电脑的ping回复,使用作为MAC源L和作为MAC目的地的虚拟机MAC地址(X) 基本上,似乎除了第一个ARP请求之外,虚拟机从来没有出现在具有自己的MAC地址(X)的笔记本电脑上,而总是以A,B,C或D(随时间变化)出现。 但是,笔记本电脑总是响应X. 解? 我读到,在balance-tlb模式下,stream量从不同的接口stream出,这取决于负载。 但是,我认为这种行为与虚拟机出现在networking上的物理接口的源MAC地址一起使用的事实可能会产生我报告的问题。 如果这是正确的,是否有人知道是否有办法始终强制使用VM自己的MAC地址进行每一个通信? (例如,它已经发生了ARP请求)或者也许解决scheme是在别的地方? 我以为我可以设置Windows虚拟机每隔3分钟重置ARP表…但是这对我来说似乎有点太蛮横… 🙂 再次感谢任何帮助! 编辑:我确认,如果在洪水事件我快速login到相应的虚拟机,并发出ARP表重置,我看到来自虚拟机的新ARP请求(告诉自己的MAC地址到networking),风暴立即停止。

Postfix拒绝未知的本地收件人

我有一个反向散射的问题。 垃圾邮件发送者将邮件发送到我的服务器上不存在的用户名@域名。 我正在尝试中止会话,而不是将退回消息发送回伪造的发件人地址。 我尝试添加reject_unverified_recipient,但似乎没有工作。 当我检查mailq,我可以看到许多坚持“用户不存在”从MAILER_DAEMON电子邮件反弹到不存在的收件人。 这是我的postconf -n append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 inet_interfaces = all inet_protocols = ipv4 mailbox_size_limit = 0 message_size_limit = 102400000 milter_default_action = accept milter_protocol = 2 mydestination = localhost myhostname = domain.com mynetworks = 127.0.0.0/8 non_smtpd_milters = inet:localhost:8891 readme_directory = no […]

我的理解正确的关于Linux绑定和切换?

如果有一台服务器和一台交换机,如果交换机死了,服务器就停止服务。 所以通常有两台交换机,服务器应该连接到两台交换机,所以服务器上应该有两块网卡。 但即使服务器有两个网卡连接到两台交换机,由于IP不同,如果服务正在侦听的IP网卡出现故障,服务也会中断。 所以在这里粘合。 绑定时,两个NIC共享一个IP,两个NIC将连接到两个交换机,所以如果一个交换机死亡,另一个交换机将服务,如果一个NIC死亡,另一个NIC仍然工作。 我理解对吗?

MASQUERADE如何select一个IP地址,如果有多个?

如果我build立了一个Linux iptables MASQUERADE规则,使stream量离开特定的接口,但该接口有多个IP地址,源IP如何被select? 作为一个例子,我们假设我添加了一个规则: $ iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE …和界面看起来像: $ ip addr show dev eno1 1: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 94:18:82:35:a2:c1 brd ff:ff:ff:ff:ff:ff inet 10.136.122.97/24 scope global eno1 valid_lft forever preferred_lft forever inet 10.136.122.98/24 scope global eno1 valid_lft forever preferred_lft […]

pipe理数据中心中大量服务器的身份validation的最佳方式是什么?

我正在本地数据中心运行大量的服务器(数百个)。 目前其中大部分是各种types的Windows服务器,但越来越多的是Linux。 我想知道什么是pipe理系统pipe理员在这些服务器上的身份validation的最佳做法。 我可以将SSH密钥部署到Linux服务器,Windows服务器是域成员,但使用PAM将Linux服务器authentication到AD域是否更好? 如果我正在运行一个完全同类的Linux环境,这个答案会如何改变? 如果它是唯一的 Windows机器,AD域名肯定不合理?

wget中的–rejectfunction似乎不起作用

我正在尝试使用wget镜像大多数 ftp服务器。 这个特定的服务器将数据文件的旧副本保存在每个子文件夹内的名为“备份”的文件夹中。 例如'/ MaffiaOffShore / backup''/ VeryVeryDodgy / backup',这是我不想要的,但我尝试使用–reject'backup'并使用–exclude-directories'backup'和其他各种组合,都具有相同的结果,整个服务器被镜像,包括备份文件夹。 这是一个错误还是我错过了什么?

如何从远程linux机器查看和编辑Windowsregistry?

在windows–linux互操作性方面,我们有用于文件/打印共享(SMB / CIFS)的Samba ,用于terminal服务(RDP)的rdesktop 。 有没有可用的Linux工具,可以让你查看和编辑远程Windows机器的registry(即不是双启动的情况下,你试图从Windows分区运行Linux操作系统中的文件)?

在Ubuntu上configurationvsftpd时出现问题

我已经按照这个教程安装了vsftpd: https : //help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html 安装顺利,我可以按照预期使用我的本地用户凭据进行连接。 不过,我有目录列表和权限的问题.. 如果我不使用chroot_local_user限制本地用户到他们的主目录,他们能够浏览整个文件系统到最深的/ dev文件夹。 另一方面,当我尝试启用chroot_local_user指令时,用户确实被限制到他们的主目录,但是最初的远程目录是根分区。 列出任何目录会引发用户主目录以外的授权错误。 我检查了vsftpd的configuration,似乎没有做我想要的东西.. 另一件我不明白的事情是,为什么地球上的软件包安装正在创build一个/ home / ftp目录,如果它不使用它的话。 编辑:我已经注意到,vsftpd是以root身份运行。是预期的行为?

为“ps”命令可见性提供命令描述

所以,我想find一个整洁的解决scheme的问题是,当我login到服务器(我有一些Solaris和RHEL实例),我试图找出正在运行的应用程序: $ ps -auxww | grep <thing I look for, usually Java> 并且我得到了一个很好的进程列表,PID,额外的细节,以及与它一起执行的整个进程名称和参数。 虽然这通常为我提供了足够的信息来找出正在运行的内容,但是一些服务器的运行方式却是不同 我可能有一个服务器有多个应用程序服务器的实例用于不同的目的。 其他stream程是我与非冻结stream程混合的一个挂起stream程的残余。 我不想closures所有的java实例,因为我找不到需要查杀的进程。 我想提供的解决scheme是在我的启动脚本期间,我想预先或附加到一个过程中的一些文本,让我扔一个简短的描述英寸有什么可以让我这样做吗? 如果我所说的话听起来不可能/愚蠢/完全不是他的摇杆,那么我可以开放替代解决scheme,让我有能力完成同样的事情。 我对想法持开放态度,但是这个想法是可行的。

你如何在服务器上设置默认的IRC频道?

我正在帮助设置一个ircd混合服务器在工作,我想知道如何在服务器上设置一些默认通道。 我已经足够的了解如何在ircd.conf文件中使用resv来阻止某些频道,但是我不确定如何允许频道。 有什么build议么? 这是Hardy Heron Ubuntu服务器上的7.2.2 ircd-hybrid服务器。