1. 程式人生 > >iptables:unrecognized service 的解決方法

iptables:unrecognized service 的解決方法

本人準備在Linux下配置一個ftp服務,採用vsftpd自然是首選,但是在配置過程中,執行到:

啟動vsftpd伺服器:

#service vsftpd restart

#service iptables stop

時,提示iptables:unrecognized service的錯誤。

於是準備著手解決,解決思路很是明瞭,就是首先確定Linux是否安裝了iptables 。

service iptables status

但是仍然提示:iptables:unrecognized service。準備安裝,根據不同的Linux核心選擇不同的方法如下:

yum install iptables   #CentOS系統
apt-get install iptables    #Debian系統

但是提示已經安裝,那為什麼狀態顯示是未識別的服務呢?繼續找原因。繼續研究發現可能是由於沒有安裝iptables-ipv6,於是採用

sudo apt-get install iptables-ipv6進行安裝,但提示Unable to locate package錯誤得錯誤。

考慮到軟體間的不相容,無奈先進行更新:sudo apt-get update,更新後重新安裝仍然無法解決定位的問題。

於是採用apt-get install iptables*進行所有可能性查詢和安裝。經過一輪安裝後iptables:unrecognized service的問題仍然沒有解決。

繼續研讀相關資料,最終發現問題所在:

在ubuntu中由於不存在 /etc/init.d/iptales檔案,所以無法使用service等命令來啟動iptables,需要用modprobe命令。 啟動iptables modprobe ip_tables 關閉iptables(關閉命令要比啟動複雜) iptables -F iptables -X iptables -Z iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT modprobe -r ip_tables 依次執行以上命令即可關閉iptables,否則在執行modproble -r ip_tables時將會提示
FATAL: Module ip_tables is in use.

上述問題最總得到解決。

另外附上一些好的配置Vsftpd和iptables的部落格站點: