Ping: icmp open socket: Operation not permitted

En un server proxmox beta me encuentro que no puedo hacer ping como un usuario no root, ya que me sale éste error:

blackhold@intxur:~$ ping google.com
ping: icmp open socket: Operation not permitted

El motivo es que para abrir sockets tienes que ser root. Para poder ejecutar ping y abrir sockets se tiene que definir el bit SUID para éste comando. Este problema suele aparecer cuando hay usuarios dentro de una jaula, en algunos sistemas se define por defecto, pero en otros no.

root@intxur:/home/blackhold# ls -la /bin/ping
-rwxr-xr-x 1 root root 44104 Nov  8  2014 /bin/ping

La solución es añadir el +s a ping

root@intxur:/home/blackhold# chmod u+s /bin/ping

y la cosa queda así:

root@intxur:/home/blackhold# ls -la /bin/ping
-rwsr-xr-x 1 root root 44104 Nov  8  2014 /bin/ping

4 Comments

  1. Puedes conseguir cosas similares sin siquiera usar ICMP.

    Usa hping para hacer un equivalente a un ping pero solo con TCP.

    Tambien puedes usar tcptraceroute cuando estas detras de un firewall tocapelotas.

    Respon
  2. Lo malo del SUID es que cuando se actualice el paquete, se perderá la modificación hecha

    Parece ser que esto soluciona el problema:

    > sudo setcap cap_net_raw=ep /usr/bin/ping

    Pero aún mejor, por lo visto una simple reconfiguracion del paquete también lo arregla (debian buster):

    > sudo dpkg-reconfigure iputils-ping

    Saludos Blackhold! :)

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà.

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.