bash: iptables: comando no encontrado


14

¿Cómo soluciono el iptables: command not foundproblema que le sucedió a 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:~$

Busqué en Google extensamente y la mayoría de las respuestas fueron para CentOS y Fedora que datan de 2005 y 2009.


¿Cuál es el resultado de echo $PATH?
Braiam

1
iptables debe estar en tu, PATHasí que es lo que sudote estás perdiendo.
Valentin Bajrami

Respuestas:


14

El iptablescomando solo se puede ejecutar útilmente como root, no como otro usuario. Por lo tanto, no está en la ruta de búsqueda de comandos predeterminada para usuarios que no sean root.

Para ejecutarlo iptables, ejecútelo como root, con cualquiera de estos comandos:

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

El ejecutable se encuentra en /sbin, que está en la ruta de búsqueda de comando predeterminada para root.


7

Es porque iptablesno figura en su PATHvariable. Creo que debería funcionar con el sudocomando. Tratar:

sudo iptables -L

Si eso tampoco funciona, entonces debe verificar dónde está el iptablesbinario y luego agregarlo a la PATHvariable.

En la mayoría de los casos debería estar adentro /sbin/. Aún así, solo verifique en Debian7. Si está dentro /sbin/, puede abrir el .bashrcarchivo y proporcionarlo al final:

PATH=/sbin/:$PATH

you should checkout where the iptables binary is¿Qué comando debo escribir para ubicar el binario iptables?
user70167

then you can open .bashrc file and¿Dónde está la ubicación del .bashrcarchivo?
user70167

1
¿comprobaste con sudo? Intenta dpkg -L iptablesenumerar los archivos.
Flemingovirus

¿Qué pasa con el archivo .bashrc? ¿Dónde está ubicado?
user70167

2
Bueno, estos son los conceptos básicos. Ok, está en tu directorio personal. Intentando abrir desde su terminal. vim ~/.bashrc
Flemingovirus

1

dpkg -L iptablesmostrará dónde se instalan los archivos desde el paquete iptables.

dpkg -L iptables | grep iptables$

Puede verificar la ubicación del iptablesarchivo binario. Para mí en Ubuntu está en /sbin/iptables.

Así que corre con /sbin/iptables -L y comprueba.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.