bash: iptables: perintah tidak ditemukan

14

Bagaimana saya memperbaiki iptables: command not foundmasalah yang terjadi pada Debian 7.6?

batman@gotham:~$ uname -a
Linux gotham 3.14-0.bpo.2-amd64 #1 SMP Debian 3.14.13-2~bpo70+1 (2014-07-31) x86_64 GNU/Linux
batman@gotham:~$ iptables -L
bash: iptables: command not found
batman@gotham:~$ sudo apt-get install iptables
[sudo] password for batman: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
iptables is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
batman@gotham:~$

Saya mencari di Google secara luas dan sebagian besar jawabannya adalah untuk CentOS dan Fedora yang berasal dari tahun 2005 dan 2009.

pengguna70167
sumber
Apa output dari echo $PATH?
Braiam
1
iptables harus ada di dalam Anda PATHsehingga sudoAnda hilang.
Valentin Bajrami

Jawaban:

14

The iptablesperintah dapat cukup banyak hanya dapat berguna dijalankan sebagai root, bukan sebagai user lain. Jadi tidak ada dalam jalur pencarian perintah default untuk pengguna selain root.

Untuk menjalankan iptables, jalankan sebagai root, dengan salah satu dari perintah ini:

su 'iptables --some-option …'
sudo iptables --some-option …

Eksekusi terletak di /sbin, yang ada di jalur pencarian perintah default untuk root.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
7

Itu karena iptablestidak tercantum dalam PATHvariabel Anda . Saya pikir ini harus bekerja dengan sudoperintah. Mencoba:

sudo iptables -L

Jika itu juga tidak berhasil maka Anda harus checkout di mana iptablesbiner itu dan kemudian menambahkannya ke PATHvariabel.

Dalam kebanyakan kasus harus dalam /sbin/. Tetap saja verifikasi di Debian7. Jika ada di /sbin/maka Anda dapat membuka .bashrcfile dan memberikan ini di akhir:

PATH=/sbin/:$PATH
flemingovirus
sumber
you should checkout where the iptables binary isPerintah apa yang harus saya ketik untuk menemukan binari iptables?
user70167
then you can open .bashrc file andDi mana lokasi .bashrcfile?
user70167
1
apakah Anda memeriksa dengan sudo? Cobalah dpkg -L iptablesuntuk membuat daftar file.
flemingovirus
Bagaimana dengan file .bashrc? Dimana lokasinya?
user70167
2
Nah ini adalah dasar-dasarnya. Oke itu ada di direktori home Anda. Mencoba membuka dari terminal Anda. vim ~/.bashrc
flemingovirus
1

dpkg -L iptablesakan menunjukkan di mana file diinstal dari paket iptables.

dpkg -L iptables | grep iptables$

Anda dapat memeriksa lokasi iptablesfile biner. Bagi saya di Ubuntu ada di /sbin/iptables.

Jadi jalankan dengan /sbin/iptables -L dan periksa.

Dunky kolonial
sumber