Saya menjalankan lingkungan vserver dengan beberapa mesin virtual. VM tunggal memiliki masalah berikut:
$ 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
Perhatikan bahwa pada mesin host dan juga pada semua hostet VM lain di sana, Ping berfungsi dengan baik.
Adakah yang punya ide untuk membantu saya?
permissions
virtual-machines
ping
rexkogitans
sumber
sumber
/bin/ping
set-uid di komputer lain? Apakah TCP / IP diatur dengan benar pada VM ini? Apakah hal lain berfungsi seperti DNS, traceroute, HTTP?Jawaban:
TL; Versi DR: instal ulang
iputils-ping
Saya telah melihat online di mana ia disarankan untuk digunakan
Namun ini akan memungkinkan pengguna untuk mengubah preload dan banjir. Yang dapat mengakibatkan PENGGUNA dapat Denial Of Service baik mesin lokal Anda atau mesin lain atau jaringan Anda.
Saya mencoba apa yang disarankan @ nabil-bourenane , menginstal ulang
iputils-ping
yang menyelesaikan masalah untuk saya dan tidak memiliki bit SUID.Jika bit SUID diset maka akan terlihat seperti
sumber
Solusinya adalah mengatur Linux System Capabilites untuk memungkinkan soket mentah pada mesin host.
Karena ini adalah masalah khusus v-server, solusinya adalah membuat file single-lined bernama
/etc/vservers/VMNAME/bcapabilities
:dan reboot VM.
sumber
Maaf saya tidak bisa berkomentar. Masalah ini menimpa saya setelah saya mengekstrak arsip sistem kerja melalui instalasi minimal.
Semua jawaban di atas berfungsi. Tetapi yang diusulkan oleh @Nabil Bourenane dan @Linx lebih disukai untuk keamanan. Untuk menjawab komentar @ rexkogitans, di sini saya kutip dari iputils-ping.postinst (/ var / lib / dpkg / info / ...)
yang pada dasarnya mengatakan ketika mengkonfigurasi iputils-ping, pertama coba setcap kemudian jika gagal gunakan chmod u + s. Itu sebabnya menginstal ulang iputils-ping berfungsi.
sumber
setcap cap_net_raw+p $(which ping)
saat root memperbaikinya. Ada penjelasan menyeluruh pada posting blog ini: Kemampuan Linux dan Ping