Linux系統(tǒng)Iptables防火墻
Linux系統(tǒng)Iptables防火墻:
Linux下關(guān)閉防火墻的命令,今天為了安全想把LInux服務(wù)器的ssh遠(yuǎn)程連接的端口休息一下,我就把sshd_config文件里的添加了一行port 8081可是配置好重新啟動(dòng)ssh服務(wù)后就是連接不上,想了好久才感覺是不是防火墻的問題啊,于是我就關(guān)閉了防火墻就可以了
1、即時(shí)生效,重啟后復(fù)原開啟: service iptables start關(guān)閉: service iptables stop
2、永久性生效,重啟后不會(huì)復(fù)原開啟: chkconfig iptables on關(guān)閉: chkconfig iptables off
如果你想為了安全而開啟防火墻,但是開啟了SSH就連接不上了,沒事兒有辦法,你知道在防火墻的iptables設(shè)置文件里,設(shè)置不阻止SSH的端口就可以了,辦法很簡單,編輯/etc/sysconfig/iptables文件,在里面插入-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT 一行就可以了,我這里用的是8081端口,添加時(shí)改成你設(shè)置的SSH端口。然后service iptables restart 重新啟動(dòng)防火墻。
一、Netfilter規(guī)則表—filter nat mangle
1.配置Iptables
當(dāng)數(shù)據(jù)包進(jìn)入服務(wù)器時(shí),Linux Kernel會(huì)查找對(duì)應(yīng)的鏈,直到找到一條規(guī)則與數(shù)據(jù)包匹配。如果該規(guī)則的target是ACCEPT,就會(huì)跳過剩下的規(guī)則,數(shù)據(jù)包會(huì)被繼續(xù)發(fā)送。如果該規(guī)則的target是DROP,該數(shù)據(jù)包會(huì)被攔截掉,kernel不會(huì)再參考其他規(guī)則。
Note:如果從始至終都沒有一條規(guī)則與數(shù)據(jù)包匹配,而且表末尾又沒有drop all的規(guī)則,那末該數(shù)據(jù)包會(huì)被accept。Cisco則相反,在表末尾會(huì)因含deny all的規(guī)則
1.) Iptables的命令選項(xiàng)
iptables [-t tables] command option parameter target
-A 在鏈尾添加一條規(guī)則
-C 將規(guī)則添加到用戶定義鏈之前對(duì)其進(jìn)行檢查
-D 從鏈中刪除一條規(guī)則
-E 重命名用戶定義的鏈,不改變鏈本身
-F 清空鏈,刪除鏈上的所有規(guī)則
-I 在鏈中插入一條規(guī)則
-L 列出某個(gè)鏈上的規(guī)則,如iptables –L INPUT 列出INPUT鏈的規(guī)則
-N 創(chuàng)建一個(gè)新鏈
-P 定義某個(gè)鏈的默認(rèn)策略
-R 替換鏈上的某條規(guī)則
-X 刪除某個(gè)用戶相關(guān)的鏈
-Z 將所有表的所有鏈的字節(jié)和數(shù)據(jù)包計(jì)數(shù)器清零
2.) Iptables的命令參數(shù)
應(yīng)用于數(shù)據(jù)包的協(xié)議類型,可以是TCP UDP ICMP或ALL。!也可使用。
當(dāng)使用-p tcp時(shí),還可使用其他可以選項(xiàng),以便允許進(jìn)一步定義規(guī)則。選項(xiàng)包括:
——sport 允許指定匹配數(shù)據(jù)包源端口.port1:port ,表示port1和port2之間的所有端口
——dport 目的端口,和——sport雷同。
當(dāng)使用-p !udp時(shí),也有特殊的選項(xiàng)供使包括:
——sport,——dport,與-p tcp 相同,只不過用以用于UDP包。
使用-p icmp參數(shù)時(shí),只有一個(gè)選項(xiàng)可用。
——icmp-type,允許在過濾規(guī)則中指定icmp類型。
-s –source 指定數(shù)據(jù)包的源地址。該參數(shù)后跟一個(gè)IP地址,一個(gè)帶有sub-net mask的網(wǎng)絡(luò)地址,或一個(gè)主機(jī)名。(不建議使用主機(jī)名)
-d,- - destination 數(shù)據(jù)包的目的地址,同-s.
-j,——jump 用于指定一個(gè)target,告訴規(guī)則將該匹配的數(shù)據(jù)包發(fā)送到該 target。Target可以是ACCEPT,DROP,QUEUE,RETURN.如果沒有-j,那么不會(huì)對(duì)數(shù)據(jù)包進(jìn)行任何操作,只是將計(jì)數(shù)器加1。
-i - - in-interface ,對(duì)于INPUT FORWARD PREROUTING鏈,該參數(shù)指定數(shù)據(jù)包到達(dá)服務(wù)器時(shí)所使用的端口。
-o - - out-interface,對(duì)于OUTPUT FORWARD POSTROUTING鏈,該參數(shù)指定數(shù)據(jù)包離開服務(wù)器時(shí)使用的端口。
3.) Iptables的命令target
創(chuàng)建規(guī)則的最后一步是指定Iptables對(duì)數(shù)據(jù)包的操作。只要某一規(guī)則匹配該數(shù)據(jù)包,就不會(huì)再有別的規(guī)則的操作。內(nèi)建的target有:ACCEPT DROP QUEUE RETURN。
ACCEPT:允許數(shù)據(jù)包通過,到達(dá)目的地。
DROP:拒絕數(shù)據(jù)包通過,丟棄該包。
QUEUE:將數(shù)據(jù)包發(fā)送回到用戶應(yīng)用程序處理。
RETURN:不再根據(jù)當(dāng)前鏈的其他規(guī)則來檢查數(shù)據(jù)包,而是直接返回,繼續(xù)被發(fā)送到其目的地址,或下一個(gè)鏈。
#p#
2.應(yīng)用Iptables規(guī)則 示例
允許WWW
iptables –A INPUT –p tcp –dport 80 –j ACCEPT
該規(guī)則被添加到filter表的INPUT鏈,允許目的端口是80的數(shù)據(jù)包。
在內(nèi)部接口上允許DHCP
iptables –A INPUT –i eth0 –p tcp - - sport 68 - -dport 67 ACCEPT
iptables –A INPUT –i eth0 –p ucp - -sport 68 - -dport 67 ACCEPT
以上同時(shí)允許TCP和UDP協(xié)議。
3.保存和恢復(fù)Iptables
保存Iptables
使用iptables-save可將現(xiàn)行的iptables規(guī)則保存,
iptables-save > iptables保存路徑,如# iptables-save > /etc/iptables.up.rule
恢復(fù)Iptables
使用iptables-restore 可從配置文檔恢復(fù)iptables表到現(xiàn)行iptables表.
iptables-restore < /etc/iptables.up.rule
二、Ubuntu Server中的Iptables
Ubuntu Server6.06中已經(jīng)默認(rèn)安裝iptables,版本是1.3.3.默認(rèn)狀態(tài)是關(guān)閉。
通過修改/etc/network/interfaces可將iptables打開:
auto lo
Iface lo inet loopback
auto eth0
iface eth0 inet dhcp
#添加以下內(nèi)容
pre-up iptables-restore < /etc/iptables.up.rule
#call the restored rule when active the eth0
post-down iptables-save > /etc/iptables.up.rule
#restore the iptables rule when shutdown the interface eth0
然后重新激活eth0即可。
另外,可隨時(shí)修改/etc/iptables.up.rule配置文件,來更改iptables的規(guī)則。Iptables.up.rule格式如下:
#Generated by iptables-save V1.3.3 on Tue Jul 31 14:18:44 2007
*filter
:INPUT ACCEPT [73:8213]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8:825]
-A INPUT –i lo –p icmp –j DROP
-A INPUT –i eth0 –p icmp –j DROP
COMMIT
#Completed on Tue Jul 31 14:10:44 2007
行與行之間不能有空行。
三.Summary
iptables表鏈中每條規(guī)則的順序很重要,如果首條是accept all,那末所有的數(shù)據(jù)包都會(huì)被允許通過firewall,因此應(yīng)當(dāng)適當(dāng)?shù)陌才乓?guī)則順序。
通常的法則是:拒絕所有 允許少數(shù).
通過閱讀文章,我們清楚的知道Linux系統(tǒng)Iptables防火墻,希望本文對(duì)你們有幫助!
【編輯推薦】
- Ubuntu 10.10 設(shè)置iptables做NAT
 - iptables與natcheck
 - iptables限制訪問某個(gè)IP地址
 - 用iptables限制黑客破解密碼
 - iptables 菜鳥變大蝦
 - iptables 端口轉(zhuǎn)發(fā)
 - iptables nat 技術(shù)筆記
 
















 
 
 

 
 
 
 