Używam środowiska vserver z kilkoma maszynami wirtualnymi. Pojedyncza maszyna wirtualna ma następujący problem:
$ 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
Zauważ, że na maszynie hosta, jak również na wszystkich innych hostach VM, Ping działa dobrze.
Czy ktoś ma jakiś pomysł, aby mi pomóc?
permissions
virtual-machines
ping
rexkogitans
źródło
źródło
/bin/ping
ustawiony jest na innych komputerach? Czy protokół TCP / IP jest poprawnie skonfigurowany na tej maszynie wirtualnej? Czy inne rzeczy działają jak DNS, traceroute, HTTP?Odpowiedzi:
Wersja TL; DR: zainstaluj ponownie
iputils-ping
Widziałem online, gdzie sugerowano użycie
Pozwoli to jednak użytkownikowi zmienić napięcie wstępne i zalanie. Może to spowodować, że UŻYTKOWNIK będzie w stanie odmówić usługi na komputerze lokalnym lub innym komputerze lub sieci.
Próbowałem, co sugeruje @ nabil-bourenane , ponowna instalacja,
iputils-ping
która rozwiązała problem i nie ma ustawionego bitu SUID.Jeśli ustawiony jest bit SUID, będzie wyglądał
źródło
getcap /bin/ping
wrócił:/bin/ping = cap_net_admin,cap_net_raw+p
. Teraz pytanie brzmi: dlaczego straciło możliwości.rpm --verify iputils
pokazał, że ping, arping i clockdiff pokazały, że ustawienia limitów uległy zmianie (przed ponowną instalacją).Rozwiązaniem jest takie ustawienie Linux System Capabilites, aby zezwalało na surowe gniazdo na hoście.
Ponieważ jest to problem specyficzny dla serwera v, rozwiązaniem jest utworzenie pliku o pojedynczej linii o nazwie
/etc/vservers/VMNAME/bcapabilities
:i zrestartuj VM.
źródło
Przepraszam, nie mogę komentować. Ten problem uderzył mnie po rozpakowaniu archiwum działającego systemu przy minimalnej instalacji.
Wszystkie powyższe odpowiedzi działają. Ale ten zaproponowany przez @Nabil Bourenane i @Linx jest preferowany ze względów bezpieczeństwa. Aby odpowiedzieć na komentarz @ rexkogitans, tutaj cytuję z iputils-ping.postinst (/ var / lib / dpkg / info / ...)
co w zasadzie mówi podczas konfigurowania iputils-ping, najpierw spróbuj setcap, a jeśli to się nie powiedzie, użyj chmod u + s. Dlatego przeinstalowanie działa iputils-ping.
źródło
setcap cap_net_raw+p $(which ping)
jak root to naprawia. Dokładne wyjaśnienie tego postu na blogu: Linux Capabilities and Ping