bash: iptables: ไม่พบคำสั่ง


14

ฉันจะแก้ไขiptables: command not foundปัญหาที่เกิดขึ้นกับ 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:~$

ฉัน googled อย่างกว้างขวางและคำตอบส่วนใหญ่สำหรับ CentOS และ Fedora ที่ย้อนหลังไปถึงปี 2005 และ 2009


ผลลัพธ์ของecho $PATHอะไร
Braiam

1
iptables ควรอยู่ในของคุณPATHดังนั้นsudoคุณหายไป
Valentin Bajrami

คำตอบ:


14

iptablesคำสั่งสามารถสวยมากเท่านั้นที่สามารถเรียกใช้ประโยชน์เป็นรากไม่ได้เป็นผู้ใช้อื่น ดังนั้นจึงไม่ได้อยู่ในพา ธ การค้นหาคำสั่งเริ่มต้นสำหรับผู้ใช้อื่นที่ไม่ใช่รูท

ในการรันiptablesให้รันเป็น root โดยใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้:

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

ไฟล์เรียกทำงานอยู่ใน/sbinซึ่งอยู่ในพา ธ การค้นหาคำสั่งเริ่มต้นสำหรับรูท


7

เป็นเพราะiptablesไม่มีอยู่ในPATHตัวแปรของคุณ ฉันคิดว่ามันควรจะทำงานกับsudoคำสั่ง ลอง:

sudo iptables -L

ถ้านั่นไม่ได้ผลคุณควรเช็คเอาต์ว่าiptablesไบนารีอยู่ที่ไหนจากนั้นเพิ่มลงในPATHตัวแปร

/sbin/ในกรณีส่วนใหญ่มันควรจะอยู่ใน ยังเพียงแค่ยืนยันใน Debian7 ถ้ามันมีอยู่ใน/sbin/นั้นคุณสามารถเปิด.bashrcไฟล์และให้ในตอนท้าย:

PATH=/sbin/:$PATH

you should checkout where the iptables binary isฉันควรพิมพ์คำสั่งใดเพื่อค้นหาไบนารี iptables
user70167

then you can open .bashrc file andที่ตั้งของ.bashrcไฟล์อยู่ที่ไหน
user70167

1
คุณตรวจสอบด้วย sudo หรือไม่ ลองdpkg -L iptablesรายการไฟล์
flemingovirus

แล้วไฟล์. bashrc ล่ะ? ตั้งอยู่ที่ไหน
user70167

2
อย่างนี้เป็นพื้นฐาน ตกลงมันอยู่ในไดเรกทอรีบ้านของคุณ ลองเปิดจากสถานีของคุณ vim ~/.bashrc
flemingovirus

1

dpkg -L iptablesiptablesจะแสดงที่ไฟล์ที่มีการติดตั้งจากแพคเกจ

dpkg -L iptables | grep iptables$

คุณสามารถตรวจสอบที่ตั้งของiptablesไฟล์ไบนารี สำหรับผมบน Ubuntu /sbin/iptablesมันอยู่ใน

ดังนั้นรันด้วย/sbin/iptables -L และตรวจสอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.