Articles of linux

在一个接口上禁用rp_filter

我有一个Ubuntu 16.04服务器,充当具有多个(VLAN)接口的路由器。 缺省情况下,所有接口都使能了rp_filter (反向path过滤)。 我想保持这种方式,但只是一个接口的例外。 (来自这个接口的数据包应该被允许有一个源IP地址,这个IP地址不对应这个接口的任何路由目的地址。) 假设这个接口的名字是ens20.4 ,它的vlan-raw-device是ens20 ,目的接口(用于testing数据包stream)被命名为ens20.2 (尽pipe它适用于任何目标接口)。 我试图只为ens20.4设置rp_filter属性,但没有成功: echo 0 > /proc/sys/net/ipv4/conf/ens20.4/rp_filter 所以,出于testing目的,我还禁用了vlan-raw-device和testing目标接口的rp_filter : echo 0 > /proc/sys/net/ipv4/conf/ens20/rp_filter echo 0 > /proc/sys/net/ipv4/conf/ens20.2/rp_filter 仍然没有成功,具有“欺骗”源IP地址的数据包仍然被丢弃。 只有当我禁用所有接口的rp_filter ,数据包才能通过: echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter 但是,我仍然想保留所有其他接口的反向path过滤 – 我错过了什么?

为什么在链接上刷新IPv6地址?

分配给networking接口的IPv4和IPv6地址之间的行为有所不同:链路断开时,与“ip link set down dev eth0”一样,IPv4地址被保留,但IPv6地址被刷新。 如果链接重新启动,则可以立即使用IPv4地址来传递stream量,但必须分配IPv6地址。 这是一个错误,或通过devise? 如果通过devise,我在哪里可以find明确的logging? 一位同事认为这是一个错误,要在即将到来的内核中修复; 另一个则认为这是由devise决定的,因为IPv6假定了dynamic寻址。 我在几个不同的Linux发行版和不同的内核版本中发现了相同的行为,所以我几乎可以肯定这是通过devise,但是我想find文档,就像在RFC中引用来解决这个问题。 如果有一个解决办法强制保留手动分配的IPv6地址,那么这一点很有用。

我如何创build一个只读访问通过SSH到有限的子树的文件夹?

我有一个Debian服务器,我想让几个用户只能读取该服务器上文件夹的一个子树。 有没有办法做到这一点,而无需手动更改所有文件和文件夹的权利?

Linux内核崩溃转储分析:指南

注意: 2.6+内核 或更旧的2.4 题: 关于Linux内核崩溃转储分析的通用build议准则 所需技能,即内核编译技巧等 build议: 详细介绍Red Hat Crash Utility Kdump的使用

监控EC2实例的好方法

我想听听你的方法来监视在EC2中运行的Linux实例。 我非常习惯使用Nagios来监视基于Web的应用程序生态系统的所有方面,但是它的模型似乎并不适用于经常被破坏和重新创build的机器。 我的EC2实例是由RightScale中介的,它有自己的监控scheme,我没有发现非常有用 – 虽然我打算再看看他们的监控。 有问题的实例运行正常的开源资源:MySQL,Apache,Passenger,Rails。 提前谢谢了。

现代开源的NIDS / HIDS和游戏机?

几年前,我们通过在外部防火墙前放置一个水龙头,通过IDS盒pipe道将DS1上的所有stream量传输到运行ACiD的日志logging服务器,从而build立了IDS解决scheme。 这大约在2005年左右。 我被要求重新整理解决scheme,并展开并环顾四周,我发现ACiD的最后一个版本是从2003年开始的,而且我似乎无法find任何似乎甚至是远程更新的东西。 虽然这些东西可能是function完整的,但我担心图书馆冲突等。任何人都可以使用一些现代化的工具给我一个基于Linux / OpenBSD的解决scheme的build议吗? 只是要清楚,我知道Snort还在积极开发之中。 我想我现在更多的是在一个现代开源的Web控制台的市场上来整合数据。 当然,如果人们对于Snort以外的IDS有很好的经验,我很高兴听到这个消息。

如何为目录和文件设置不同的Linux默认ACL

我在一个目录中定义了一些ACL,如下所示: # owner: root # group: root user::rwx group::r– mask::rx other::r– default:user::r– default:group::r– default:mask::rx default:other::r– 我希望在该文件夹中创build的任何新文件都是u:apache:r–以及任何新的目录是u:apache:rx。 如何使用ACL指定该意图? 我已经尝试了-dm u:apache:rX ,与rx相比,它似乎没有任何不同之处 overt htdocs # getfacl . # file: . # owner: root # group: root user::rwx user:apache:r– group::r– mask::rx other::r– default:user::r– default:user:apache:r– default:group::r– default:mask::r– default:other::r– overt htdocs # setfacl -dm u:apache:rx . overt htdocs # touch […]

当通过cron(debian)调用时,pptp(pon)失败

我有一个从我的(debian)Linux服务器的pptp VPN链接拨号到远程站点的ISA2003服务器。 (两端)的networking连接有点不礼貌,所以我写了一个脚本来调用pon myvpnlink如果它检测到链接已经pon myvpnlink 。 这个脚本工作正常,如果我从CLI运行它,但如果它通过cron调用,然后pon调用似乎失败。 我用bash和perl重写了这个,每个都有相同的问题。 该脚本被执行,它可以判断VPN链接是否正在运行,它会调用pon来调用pppd,从而导致连接失败。 如果我然后从CLI执行该脚本它很好。 任何想法都会非常感激,现在正在做我的盒子。 #Syslog (on a failure): Dec 30 17:02:01 LogServer /USR/SBIN/CRON[4530]: (root) CMD (/bin/bash /root/scripts/vpnup.bash >> /root/scripts/vpn.log) Dec 30 17:02:01 LogServer pppd[4542]: pppd 2.4.4 started by root, uid 0 Dec 30 17:02:01 LogServer pppd[4542]: Couldn't get channel number: Input/output error Dec 30 17:02:01 LogServer pppd[4542]: Exit. […]

build议testing对“pam.d / common- *”文件的更改的方法

如何testing对pam.dconfiguration文件的更改: 我是否需要重新启动PAM服务来testing更改? 我应该浏览/etc/pam.d/目录中列出的每项服务吗? 我即将对pam.d/common-*文件进行更改,以便将Ubuntu盒放入活动目录控制的networking中。 我只是在学习怎么做,所以我准备在一个虚拟机的configuration,我计划在未来一周部署在金属。 这是Ubuntu 10.04 Beta 2服务器的一个干净的安装,所以除了SSH守护进程以外,所有其他服务都是库存的。

VPS是否需要防火墙?

我今天订购的VPS上需要防火墙吗? 如果是这样,你会推荐哪一个? 我打算用Java,php,mysql运行分类网站。 我的操作系统是Ubuntu 9.10 谢谢 顺便说一句:什么是iptables?