bash: iptables: không tìm thấy lệnh


14

Làm cách nào để khắc phục sự iptables: command not foundcố xảy ra với 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:~$

Tôi đã googled rộng rãi và hầu hết các câu trả lời là dành cho CentOS và Fedora có từ năm 2005 và 2009.


Đầu ra của echo $PATHcái gì?
Braiam

1
iptables nên ở trong bạn PATHđể nó là cái sudobạn đang thiếu.
Valentin Bajrami

Câu trả lời:


14

Các iptables lệnh có thể khá nhiều chỉ được một cách hữu ích chạy bằng root, không phải là một người dùng khác. Vì vậy, nó không nằm trong đường dẫn tìm kiếm lệnh mặc định cho người dùng khác ngoài root.

Để chạy iptables, hãy chạy nó dưới quyền root, với một trong hai lệnh sau:

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

Tệp thực thi được đặt trong /sbin, nằm trong đường dẫn tìm kiếm lệnh mặc định cho root.


7

Đó là bởi vì iptableskhông được liệt kê trong PATHbiến của bạn . Tôi nghĩ rằng nó nên làm việc với sudolệnh. Thử:

sudo iptables -L

Nếu điều đó cũng không làm việc thì bạn nên kiểm tra nơi iptables nhị phân và sau đó thêm nó vào PATHbiến.

Trong hầu hết các trường hợp nên được trong /sbin/. Tuy nhiên, chỉ cần xác minh trong Debian7. Nếu /sbin/có, bạn có thể mở .bashrctệp và cung cấp phần này ở cuối:

PATH=/sbin/:$PATH

you should checkout where the iptables binary isTôi nên gõ lệnh nào để xác định vị trí nhị phân iptables?
user70167

then you can open .bashrc file andVị trí của .bashrctập tin ở đâu?
user70167

1
bạn đã kiểm tra với sudo chưa? Cố gắng dpkg -L iptablesliệt kê ra các tập tin.
flemingovirus

Còn tập tin .bashrc thì sao? Nó nằm ở đâu?
dùng70167

2
Vâng đây là những điều cơ bản. Ok nó là trong thư mục nhà của bạn. Đang thử mở từ thiết bị đầu cuối của bạn. vim ~/.bashrc
flemingovirus

1

dpkg -L iptablessẽ hiển thị nơi các tập tin được cài đặt từ gói iptables.

dpkg -L iptables | grep iptables$

Bạn có thể kiểm tra vị trí của iptablestệp nhị phân. Đối với tôi trên Ubuntu nó là trong /sbin/iptables.

Vì vậy, chạy với /sbin/iptables -L và kiểm tra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.