1. 程式人生 > >設定iptables允許ssh、http、ftp服務

設定iptables允許ssh、http、ftp服務

系統環境:centos-6.5

伺服器:thinkserver

知識掃盲:

NEW:這個包是我們看到的第一個包

ESTABLISHED:一個連線要從NEW變 為ESTABLISHED,只需要接到應答包即可,不管這個包是發往防火牆的,還是要由防 火牆轉發的。

FTP伺服器有兩種工作模式:主動模式和被動模式。這兩種方式的特點如下:
 (1)主動模式下:
  tcp, 20(20號埠用於資料傳輸),21(21號埠用於控制連線)
 (2)被動模式:
  tcp, 21(用於控制連線) >1023(埠號大於1023的隨機埠用於資料傳輸)
  所以如果FTP工作在被動模式下,無法指定資料傳輸的埠,於是引入了RELATED狀態。RELATED主要用於追蹤與其相關的埠。注意:ftp工作在主動模式或者被動模式與客戶端的請求有關。

ssh、http服務分別工作在22、80埠,第一次進入server端的包為NEW狀態,所以要求INPUT鏈能過ACCEPT客戶端的第一次發來的資料包。而後,發給客戶端的包,使得該客戶端與服務端通訊來往包的狀態變為ESTABLISHED,所以INPUT鏈允許通過的狀態為NEW、ESTABLISHED,而OUTPUT鏈,只需ESTABLISHED。

1、設定21,22,80埠INPUT鏈和OUTPUT鏈,設定INPUT、FORWORD、OUTPUT鏈的預設策略為DROP

iptables -I INPUT -d 10.79.32.22 -p tcp -m multiport --destination-ports 21,22,80 -m state --state NEW -j ACCEPT
iptables -I INPUT 1 -d 10.79.32.22 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I OUTPUT 1 -s 10.79.32.22 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -P INPUT DROP

2、檢視iptables狀態
# iptables -L -n


3、儲存iptables當前配置,該配置檔案位於/etc/sysconfig/iptables

#service iptables save
<p>#vim /etc/sysconfig/iptables</p>


4、修改iptables啟動時裝載模組,這裡增加的兩個模組可以為“nf_nat_ftp nf_conntrack_ftp”,也可以寫成“ip_nat_ftp ip_conntrack_ftp”

#vim /etc/sysconfig/iptables-config



5、重新啟動iptables服務

# service iptablesrestart


6、檢視核心是否裝載有上述配置的兩個有關ftp模組