Estoy ejecutando un entorno vserver con varias máquinas virtuales. Una sola VM tiene el siguiente problema:
$ ping 8.8.8.8
ping: icmp open socket: Operation not permitted
$ ls -l $(which ping)
-rwsr-xr-x 1 root root 30736 2007-01-31 00:10 /bin/ping
$ whoami
root
$ mount
/dev/hdv1 on / type ufs (defaults)
none on /proc type proc (0)
none on /tmp type tmpfs (size=16m,mode=1777)
none on /dev/pts type devpts (gid=5,mode=620)
$ uname -a
Linux v-web1 2.6.27.55-vs2.3.0.36.9 #1 SMP Tue Apr 28 11:35:00 CEST 2015 i686 GNU/Linux
Tenga en cuenta que en la máquina host, así como en todos los demás hosts VM allí, Ping funciona bien.
¿Alguien tiene alguna idea para ayudarme, por favor?
permissions
virtual-machines
ping
rexkogitans
fuente
fuente
/bin/ping
set-uid en las otras máquinas? ¿TCP / IP está configurado correctamente en esta VM? ¿Otras cosas funcionan como DNS, traceroute, HTTP?Respuestas:
TL; versión DR: reinstalar
iputils-ping
He visto en línea dónde se ha sugerido usar
Sin embargo, esto permitirá al usuario cambiar la precarga y la inundación. Lo que podría resultar en que un USUARIO pueda denegar el servicio, ya sea su máquina local u otra máquina o su red.
Intenté lo que sugirió @ nabil-bourenane , reinstalando lo
iputils-ping
que resolvió el problema para mí y no tiene el bit SUID establecido.Si el bit SUID está configurado, se verá como
fuente
La solución es configurar las capacidades del sistema Linux para permitir un socket sin procesar en la máquina host.
Dado que este es un problema muy específico del servidor v, la solución es crear un archivo de una sola línea llamado
/etc/vservers/VMNAME/bcapabilities
:y reiniciar VM.
fuente
Lo siento, no puedo comentar. Este problema me golpeó después de extraer un archivo de un sistema en funcionamiento en una instalación mínima.
Todas las respuestas anteriores funcionan. Pero la propuesta por @Nabil Bourenane y @Linx se prefiere por seguridad. Para responder al comentario de @ rexkogitans, aquí cito de iputils-ping.postinst (/ var / lib / dpkg / info / ...)
que básicamente dice que al configurar iputils-ping, primero intente setcap y luego, si eso falla, use chmod u + s. Es por eso que reinstalar iputils-ping funciona.
fuente
setcap cap_net_raw+p $(which ping)
como root lo arregla. Hay una explicación detallada en esta publicación de blog: Capacidades de Linux y Ping