Я использую среду vserver с несколькими виртуальными машинами. Одна виртуальная машина имеет следующую проблему:
$ 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 работает нормально.
Кто-нибудь есть идеи, чтобы помочь мне, пожалуйста?
permissions
virtual-machines
ping
rexkogitans
источник
источник
/bin/ping
Установлен ли на других машинах? TCP / IP правильно настроен на этой виртуальной машине? Работают ли другие вещи, такие как DNS, traceroute, HTTP?Ответы:
TL; DR версия: переустановить
iputils-ping
Я видел в Интернете, где было предложено использовать
Однако это позволит пользователю изменять предварительную нагрузку и флуд. Это может привести к тому, что ПОЛЬЗОВАТЕЛЬ сможет отказаться от обслуживания вашего локального компьютера, другого компьютера или вашей сети.
Я попробовал то, что предложил @ nabil-bourenane , переустановка,
iputils-ping
которая решила проблему для меня и не установила бит SUID.Если бит SUID установлен, он будет выглядеть
источник
getcap /bin/ping
возвратится/bin/ping = cap_net_admin,cap_net_raw+p
. Теперь вопрос: почему он потерял свои возможности.rpm --verify iputils
действительно показал, что ping, arping и clockdiff все показали, что настройки шапки изменились (до переустановки).Решение состоит в том, чтобы настроить Linux System Capabilites для разрешения необработанного сокета на хост-компьютере.
Так как это очень специфичная для v-сервера проблема, решение заключается в создании файла с одной линией с именем
/etc/vservers/VMNAME/bcapabilities
:и перезагрузите ВМ.
источник
Извините, я не могу комментировать. Эта проблема ударила меня после того, как я распаковал архив работающей системы поверх минимальной установки.
Все вышеперечисленные ответы работают. Но тот, который предложили @Nabil Bourenane и @Linx, предпочтителен для безопасности. Чтобы ответить на комментарий @ rexkogitans, я цитирую iputils-ping.postinst (/ var / lib / dpkg / info / ...)
который в основном говорит при настройке iputils-ping, сначала попробуйте setcap, затем, если это не удастся, используйте chmod u + s. Вот почему переустановка iputils-ping работает.
источник
setcap cap_net_raw+p $(which ping)
как root это исправляет. В этом блоге есть подробное объяснение: возможности Linux и Ping