PING icmp open socket:不允许在vserver中运行

我正在多个虚拟机上运行虚拟机环境。 单个VM有以下问题:

$ 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 

请注意,在主机上以及所有其他虚拟机主机上,Ping工作正常。

有没有人有任何想法来帮助我?

TL; DR版本:重新安装iputils-ping

我已经在网上看到它被build议使用的地方

 chmod u+s $( which ping ); 

但是,这将允许用户改变预加载和洪水。 这可能会导致用户能够拒绝服务本地机器或其他机器或您的networking。

我尝试了@ nabil-bourenane的build议 ,重新安装iputils-ping为我解决了这个问题,没有设置SUID位。

 username@server:~$ ls -l $( which ping ); -rwxr-xr-x 1 root root 44104 Nov 8 2014 /bin/ping 

如果SUID位被设置,它将看起来像

 username@server:~$ ls -l $( which ping ); -rwsr-xr-x 1 root root 44104 Nov 8 2014 /bin/ping 

解决办法是设置Linux系统function,以允许主机上的原始套接字。

由于这是一个非常特定于v服务器的问题,因此解决scheme是创build一个名为/etc/vservers/VMNAME/bcapabilities

 NET_RAW 

并重启虚拟机。