Articles of linux

使用具有两个NIC的Linux机箱在两个子网之间进行路由

我有一个有两个NIC的Linux盒子,每个都连接到不同的LAN: networkingA: 192.168.1.0 255.255.255.0 networkingB: 192.168.2.0 255.255.255.0 路由器是: 192.168.1.1 192.168.2.1 Linux网卡是: 192.168.1.2 192.168.2.2 我希望networkingA中的所有主机能够ping通networkingB中的所有主机,反之亦然。 到目前为止我所做的是: 在Linux上 : sudo sysctl -w net.ipv4.ip_forward=1 在192.168.1.1上 : route add 192.168.2.0 255.255.255.0 gw 192.168.1.2 在192.168.2.1上 : route add 192.168.1.0 255.255.255.0 gw 192.168.2.2 我尝试了两个不同的Linux发行版(Zentyal和Ubuntu),没有任何工作。 networkingA中的主机只能ping 192.168.2.2 ,但不能ping任何networkingB中的其他主机,反之亦然。 我究竟做错了什么?

'conntrack'跟踪虚拟机之间的专用TCP会话

我们有一对作为虚拟路由器运行的虚拟机,两台虚拟路由器(通过QEMU / KVM运行)之间的BGP / TCP对等。 每个虚拟机都有一个连接到只有两个水龙头作为成员的Linux网桥的tap接口。 除了我们看到conntrack似乎在报告这两个虚拟机之间的TCP会话之外,所有的工作都很好。 最初我们认为TCP会话正在泄漏,这是一个安全漏洞,但是netstat没有任何报告。 所以我们似乎没有在主机操作系统上分配一个TCB(这是正确的)。 唷。 来宾操作系统stream量应该是透明的主机操作系统,它似乎是; 大多。 这种conntrack行为是一个问题的原因是,如果两个VM同时被重置,那么没有人留下来运行在来宾TCP会话上发送任何stream量导致TCP重置; 所以我们在主机操作系统上出现一个“泄漏”的情况。 随着时间的推移,这会形成并最终主机操作系统耗尽资源。 在这个testing中我们有很多的BGP会话。 似乎这是一个客户操作系统到主机操作系统上的DoS的方式… 这是conntrack有效的行为? 这是通过L2桥的私有VM到VM通信。 为什么Linux要窥探和logging这样的TCP会话? 这是一个错误还是一个function? 大多数的方法似乎都涉及到iptables来阻止这个; 我们真的不想要客户这样做。 还有其他build议吗?

Crontab – 不寻常的configuration – 跳过一个小的每周时间窗口

我有一个业务要求运行一个非正统的crontab时间表如下: 每天从1-21运行一个脚本 每天但星期六,从21-0跑 所以我认为这将工作: 5 1-20 * * * /path/to/script.php 5 21-00 * * 0-5,7 /path/to/script.php 或者,还有更好的方法? – 编辑 – Blah这是你在早晨咖啡之前发布的内容,在crontab语法中没有7到0-6,所以入口应该是: 5 * * * 0-5 /path/to/script.php 5 1-21 * * 6 /path/to/script.php

如何在自动部署期间处理密码?

作为负责任的pipe理员,我们知道这些常见的弱点 CWE-260:configuration文件中的密码http://cwe.mitre.org/data/definitions/260.html CWE-522:证书得不到充分保护http://cwe.mitre.org/data/definitions/522.html CWE-257:以可恢复格式存储密码http://cwe.mitre.org/data/definitions/557.html 但是,我们如何在实践中处理这个问题呢? 当然,通过SSH等密码authentication技术和sudo等工具,可以摆脱重要位置存储的login凭证,这在Linux服务器的自动部署过程中确实有帮助。 但是,一旦离开操作系统并安装应用程序,就很有可能遇到安全存储密码的问题。 例如,如果安装数据库服务器,则很可能需要将明文密码保存到Web应用程序的configuration文件中。 然后,您应该保护configuration文件,以便只有pipe理员才能查看凭据,并且应该限制数据库用户的访问权限,以限制可能的安全影响。 但是,如何处理主要的pipe理数据库帐户? 至less你的dbas应该知道它(所以你需要明文的地方),作为操作系统pipe理员,你不应该知道凭据。 或者部署由devops完成,他们不应该知道生产服务器上的任何凭据。 可能的解决scheme 经过长时间的思考,我提出了三种可能的解决scheme,但都有自己的弱点: 在部署期间生成随机凭据,并以一次写入的方式将其存储在数据库中。 而dbas有另一个用户可能只读取数据库凭证。 但是,如何处理例如webapps的configuration文件中的明文密码? 根用户可以阅读它们。 此外,密码数据库的根用户可能会读取所有密码凭据。 在部署过程中接受明文密码和默认凭证,并添加一个可更改任何和所有密码的附言。 甚至在授权人员必须在脚本的运行时input凭证的情况下也可以进行交互。 用可信赖的第三方的密钥不对称地encryption密码。 当密码被请求时, 必须在之后改变。 你怎么看? 你看到这里有什么最佳实践吗?

SSH在authentication后挂起

当通过sshlogin到我的服务器之一,它只是authentication后挂起。 这是-v的客户端输出。 OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to host1 [10.6.27.64] port 22. debug1: Connection established. debug1: identity file /home/user/.ssh/identity type -1 debug1: identity file /home/user/.ssh/id_rsa type 1 debug1: identity file /home/user/.ssh/id_dsa type -1 debug1: loaded 3 keys debug1: Remote protocol version 2.0, […]

将GRUBconfiguration更改为“单个”在RHEL中不起作用

我正在使用RHEL 5.10。 我错误地删除了/ etc / passwd文件在我的服务器(虽然我有备份)。 我只是尝试进入单用户模式,在grup命令提示符的kernel行末尾键入single 。 之后敲击enter和b来启动操作系统。 但一旦启动完成,它不会进入单用户模式。 它正在进入通常的默认运行级别3,并再次询问我的root password 。 我错过了什么?

在Windows 7上使用Samba共享的文件夹大小为0字节

背景信息: 运行Samba版本3.6.9 成功通过Active Directoryvalidation共享(用户/文件权限) 能够成功连接到股票 – 根本没有问题。 所以,基本上,桑巴就像一个冠军一样工作。 我们在Windows 7系统上看到的一个问题是,当您使用Windows 7查看属性时,文件夹大小显示为0字节。文件显示其大小,但文件夹不显示。 我发现这个post已经, https://serverfault.com/questions/580830/samba-folder-properties-incorrectly-shows-0-bytes-and-0-files-in-windows-7 ,但它没有解决同样的问题,我们正在经历。 要添加,在Windows 2003系统上,我们可以看到文件夹大小,所以它似乎与Windows 7相关。 好奇,如果有人遇到这个,并find了解决办法? 有什么想法吗? 提前致谢! **发现解决** 我解决了这个问题,但忘了回到这里来更新我所做的事情。 在smb.conf中,我设置了以下参数: server signing = auto client signing = auto 解决了这个问题!

NFS客户机密钥表:多台机器

应该如何设置每个客户端机器的客户端密钥表文件来访问networking服务? 我的工作示例是NFSv4,它要求每个客户机在客户机(以及NFS服务器主机)上本地有一个Kerberos密钥表。 所有需要访问NFS主机的客户端机器之间共享同一个密钥(通常用于NFS目的)可能会产生什么坏处? 如果从#1的结果来看,我们确实需要在每个客户端的不同密钥表中使用一个单独的密钥,那么为每个客户端自动创build密钥表的方式是一种有效的(更重要的)安全方法几千台机器? 我不想在每个盒子上生成和导出密钥!

ZFS RAID0池没有冗余

我在Ubuntu 14.04上创build了一个没有指定RAID或冗余选项的ZFS池,向它写了一些数据,重新启动了机器,池不再可用(UNAVAIL)。 我没有确切的错误,但提到没有足够的复制可用。 我在由2个3TB磁盘组成的池中创build了两个数据存储。 ZFS被推荐给我重复数据删除的能力,而我现在不关心冗余。 我其实只想要RAID0,所以在短期内不要镜像或冗余。 有没有办法做到这一点与ZFS或我会更好的LVM? zpool status -v: sudo zpool status -v pool: cryptoporticus state: UNAVAIL status: One or more devices could not be used because the label is missing or invalid. There are insufficient replicas for the pool to continue functioning. action: Destroy and re-create the pool from a backup source. see: […]

用于排队邮件的备份MX服务器

简而言之:我需要设置备份MX服务器,它将排队收到的邮件通过原始的MX以后交付,并且它只能接受将在$ some_file中列出的邮箱的邮件。 详细信息 :主邮件服务器上的邮件系统 – 假设它的mx.example.com – 是这样设置的: 用于validation和存储邮件的LDAP Postfix作为MTA dovecot,amavisd-new和milter-greylist。 所以用$ some_file的想法是: parsingLDAP数据库以获取输出在$ some_file中的域列表和邮箱列表 根据一些人应该怎样做: 当主要mx.example.com由于某种原因而不可用时,备份MX backup.example.com开始接受邮件投递(MXlogging优先级派上用场),并将其放入队列中,但仅限于$中列出的域/邮箱SOME_FILE 在mx.example.com重新联机之后,在backup.example.com上形成的队列被转移到前MX处理。 所以这就是我抓我的头,开始用googlesearch如何做到这一点,但到目前为止没有运气。 问题 ,我很想得到答案或至less收到一些提示(也许链接到一些文章?): 完全可以执行备份MX的这种设置吗? 哪个MTA可以做我描述的事情:postfix,sendmail,exim? 如果是这样,怎么样? 我知道在备份MX上,我需要至less具有与主MX相同的灰名单设置,以防止垃圾邮件。 在备份MX的实现设置中,我们有一个不同的(?)更容易,其中这样的中继是通过使用sendmail和sendmail.cf中的选项完成的: # Hosts for which relaying is permitted ($=R) FR-o /etc/mail/relay-domains %[^\#] 其中relay-domains包含允许将邮件中继到主MX的域列表。 但是我很好奇,如果你能提供答案和一些帮助。 先谢谢你。