linux iptables 防火牆設置

可以通UI 啓動防火牆

run setup start firwall


1.啓動指令:service iptables start   

2.重啓指令:service iptables restart   

3.關閉指令:service iptables stop   

http://www.linuxidc.com/Linux/2012-03/56066.htm 


開啓:

chkconfig iptables on 

關閉:

chkconfig iptables off 

 

即時生效,重啓後失效:

 

開啓: 

service iptables start 

關閉: 

service iptables stop 

或者:

 

/etc/init.d/iptables status 

會得到一系列信息,說明防火牆開着。

 

/etc/rc.d/init.d/iptables stop 

關閉防火牆


 

或者:

 

爲了下次啓動不啓動防火牆,你必須刪除

/etc/sysconfig/iptables


1.刪除已有規則

在新設定iptables規則時,我們一般先確保舊規則被清除,用以下命令清除舊規則:

iptables -F
(or iptables --flush)

 

2.設置chain策略

對於filter table,默認的chain策略爲ACCEPT,我們可以通過以下命令修改chain的策略:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

以上命令配置將接收、轉發和發出包均丟棄,施行比較嚴格的包管理。由於接收和發包均被設置爲丟棄,當進一步配置其他規則的時候,需要注意針對INPUT和OUTPUT分別配置。當然,如果信任本機器往外發包,以上第三條規則可不必配置。

 

3.屏蔽指定ip

有時候我們發現某個ip不停的往服務器發包,這時我們可以使用以下命令,將指定ip發來的包丟棄:

BLOCK_THIS_IP="x.x.x.x"iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP

以上命令設置將由x.x.x.x ip發往eth0網口的tcp包丟棄。

 

4.配置服務項

利用iptables,我們可以對日常用到的服務項進行安全管理,比如設定只能通過指定網段、由指定網口通過SSH連接本機:

iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLESHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

若要支持由本機通過SSH連接其他機器,由於在本機端口建立連接,因而還需要設置以下規則:

iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state ESTABLESHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

類似的,對於HTTP/HTTPS(80/443)、pop3(110)、rsync(873)、MySQL(3306)等基於tcp連接的服務,也可以參照上述命令配置。

 

對於基於udp的dns服務,使用以下命令開啓端口服務:

iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

 

5.網口轉發配置

對於用作防火牆或網關的服務器,一個網口連接到公網,其他網口的包轉發到該網口實現內網向公網通信,假設eth0連接內網,eth1連接公網,配置規則如下:

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

 

6.端口轉發配置

對於端口,我們也可以運用iptables完成轉發配置:

iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

以上命令將422端口的包轉發到22端口,因而通過422端口也可進行SSH連接,當然對於422端口,我們也需要像以上“4.配置服務項”一節一樣,配置其支持連接建立的規則。

 

7.DoS***防範

利用擴展模塊limit,我們還可以配置iptables規則,實現DoS***防範:

iptables -A INPUT -p -tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

--litmit 25/minute 指示每分鐘限制最大連接數爲25

--litmit-burst 100 指示當總連接數超過100時,啓動 litmit/minute 限制

 

8.配置web流量均衡

我們可以將一臺服務器作爲前端服務器,利用iptables進行流量分發,配置方法如下:

複製代碼

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:80iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.102:80iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.103:80

複製代碼

以上配置規則用到nth擴展模塊,將80端口的流量均衡到三臺服務器。

 

9.將丟棄包情況記入日誌

使用LOG目標和syslog服務,我們可以記錄某協議某端口下的收發包情況。拿記錄丟包情況舉例,可以通過以下方式實現。

首先自定義一個chain:

iptables -N LOGGING

其次將所有接收包導入LOGGING chain中:

iptables -A INPUT -j LOGGING

然後設置日誌前綴、日誌級別:

iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7

最後將包倒向DROP,將包丟棄:

iptables -A LOGGING -j DROP

另可以配置syslog.conf文件,指定iptables的日誌輸出。



簡單的CentOS操作系統防火牆配置及關閉


在使用CentOS操作系統的時候,有時候一些情況下,我們需要對防火牆配置進行一下改變,以及把CentOS操作系統防火牆關閉。

AD:2014WOT全球軟件技術峯會北京站 課程視頻發佈



我們在使用CentOS操作系統的時候,我們的防火牆配置很重要,他關係到我們的電腦的安危。有一次在CentOS操作系統下安裝配置 ORACLE 數據庫的時候,總顯示因爲網絡端口而導致的EM安裝失敗,遂打算先關閉一下防火牆。碰見了一個防火牆的配置操作說明,我覺得還不錯。

一.執行”setup”命令啓動文字模式配置實用程序

在”選擇一種工具”中選擇”防火牆配置”,然後選擇”運行工具”按鈕,出現防火牆配置界面,將”安全級別”設爲”禁用”,然後選擇”確定”即可.
或者我們可以在CentOS操作系統使用命令:
#/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
#/etc/rc.d/init.d/iptables save

二.重啓電腦。

1.CentOS操作系統防火牆默認已經開放了80和22端口

2.這裏應該也可以不重啓計算機:
#/etc/init.d/iptables restart
防火牆的關閉,關閉其服務即可:

3.查看防火牆信息:
#/etc/init.d/iptables status

4.關閉防火牆服務:
#/etc/init.d/iptables stop

三.永久關閉防火牆

我們也可以永久的關閉防火牆,但是我不建議大家這樣做.永久關閉防火牆可以這樣:
#chkconfig –level 35 iptables off
也可以直接修改
/etc/sysconfig/iptables
添加一條
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

這樣,我們就介紹完了如何CentOS操作系統防火牆配置及關閉步驟.


學習記錄:

iptables -vnL --line-number --查看端口ID 號

iptables -D INPUT ID號 --刪除一條策略

iptables -I INPUT 352 -p tcp -s 10.2.3.192 --dport 3306 -j ACCEPT --增加MYSQL 端口訪問


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章