Estou executando um ambiente vserver com várias máquinas virtuais. Uma única VM tem o seguinte 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
Observe que, na máquina host e em todas as outras máquinas virtuais da VM, o Ping funciona bem.
Alguém tem alguma idéia para me ajudar, por favor?
permissions
virtual-machines
ping
rexkogitans
fonte
fonte
/bin/ping
set-uid está nas outras máquinas? O TCP / IP está configurado corretamente nesta VM? Outras coisas funcionam como DNS, traceroute, HTTP?Respostas:
Versão TL; DR: reinstalar
iputils-ping
Vi online onde foi sugerido o uso
No entanto, isso permitirá que o usuário altere a pré-carga e a inundação. O que poderia resultar em um USUÁRIO capaz de negar o serviço em sua máquina local ou em outra máquina ou em sua rede.
Tentei o que o @ nabil-bourenane sugeriu , reinstalando o
iputils-ping
que resolveu o problema para mim e não tem o bit SUID definido.Se o bit SUID estiver definido, será semelhante a
fonte
A solução é configurar os recursos do sistema Linux para permitir soquete bruto na máquina host.
Como esse é um problema específico do servidor v, a solução é criar um arquivo de linha única chamado
/etc/vservers/VMNAME/bcapabilities
:e reinicie a VM.
fonte
Desculpe, não posso comentar. Esse problema ocorreu após eu extrair um arquivo de um sistema em funcionamento em uma instalação mínima.
Todas as respostas acima funcionam. Mas o proposto por @Nabil Bourenane e @Linx é preferido por segurança. Para responder ao comentário de @ rexkogitans, cito aqui iputils-ping.postinst (/ var / lib / dpkg / info / ...)
o que basicamente diz ao configurar o iputils-ping, primeiro tente o setcap e, se isso falhar, use chmod u + s. É por isso que a reinstalação do iputils-ping funciona.
fonte
setcap cap_net_raw+p $(which ping)
como a raiz o corrige. Há uma explicação completa sobre este post: Capacidades Linux e Ping