bash: /dev/null: Permission denied

Este error se debe al cambio de permisos en /dev/null. Deberían ser:

crw-rw-rw- 1 root root 1, 3 Sep 20 15:08 /dev/null

En mi caso, el cambio de permisos lo realizó linphonecsh (una aplicación de un softphone), al ejecutarlo como root (http://lists.gnu.org/archive/html/linphone-developers/2011-10/msg00047.html)

Si no lo son, recrearemos el device (siendo root):

rm /dev/null
mknod -m 0666 /dev/null c 1 3

Fuente: http://www.linuxforums.org/forum/newbie/27030-bash-dev-null-permission-denied-why.html

Deshabilitar IGMP snooping

En un servidor que tengo he visto que UFW bloquea tráfico multicast generado en mi máquina. Los logs son así:

Aug 30 13:27:28 server kernel: [88169.475551] [UFW BLOCK] IN=eth0 OUT= MAC=01:00:5e:00:00:01:10:bf:48:7e:e3:4a:08:00 SRC=0.0.0.0 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PROTO=2

Esto se evita poniendo deshabilitando lo siguiente:

echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping

Para que sea permanente el cambio, debemos instalar aptitude install sysfsutils y añadir la siguiente línea al archivo /etc/sysfs.conf:

devices/virtual/net/br0/bridge/multicast_snooping = 0

Fuentes: http://sha.ddih.org/2011/08/18/the-case-of-the-mystery-igmp-query-request

http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge#Snooping

http://unix.stackexchange.com/questions/25382/make-changes-to-sys-persistent-between-boots

pip uninstall no desinstala

Instalé el paquete de Debian Wheezy python-pip hace tiempo. Lo usaba para instalar y desinstalar cosas hasta que me di cuenta de que pip uninstall no desinstalaba lo que le indicaba.

Buscando llegué a este bug, que es exactamente lo que me pasaba. Ahí viene la solución para instalar pip desde su repositorio:

aptitude install python-setuptools
wget -O - https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

En Debian también hay un bug, que dice que falla sólo si no usas pip en un virtualenv.

Limitar el número de conexiones por IP

Ofrezco un servicio en uno de mis servidores al que conectan clientes. Estos clientes son programados por sus dueños y no todos realizan una única conexión, como debería ser. Un día me encontré con un mismo cliente que estaba conectado con 10 clientes, cosa innecesaria.

Para evitar este problema, he limitado a 2 conexiones (dar una de margen, por si acaso) al puerto del servicio en cuestión:

iptables -I INPUT -p tcp --syn --dport 12345 -m connlimit --connlimit-above 2 -j REJECT

Fuente: http://romanr.info/iptables/connlimit/

Si usamos UFW podemos editar el archivo /etc/ufw/before.rules y añadir la siguiente entrada antes de COMMIT:

-A ufw-before-input -p tcp --syn --dport 12345 -m connlimit ! --connlimit-above 2 -j ACCEPT

Fuente: http://florent.clairambault.fr/limiting-number-of-connections-per-ip-with-ufw