Linux上iptables防火牆的基本應用教程,linuxiptables
iptables是Linux上常用的防火牆軟體,下面給大家說一下iptables的安裝、清除iptables規則、iptables只開放指定連接埠、iptables屏蔽指定ip、ip段及解鎖、刪除已添加的iptables規則等iptables的基本應用。
1、安裝iptables防火牆
如果沒有安裝iptables需要先安裝,CentOS執行:
yum install iptables
Debian/Ubuntu執行:
apt-get install iptables2、清除已有iptables規則iptables -F
iptables -X
iptables -Z3、開放指定的連接埠#允許本地迴環介面(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允許已建立的或相關連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機向外的訪問
iptables -A OUTPUT -j ACCEPT
# 允許訪問22連接埠
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允許訪問80連接埠
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允許FTP服務的21和20連接埠
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他連接埠的話,規則也類似,稍微修改上述語句就行
#禁止其他未允許的規則訪問
iptables -A INPUT -j REJECT (注意:如果22連接埠未加入允許規則,SSH連結會直接斷開。)
iptables -A FORWARD -j REJECT4、屏蔽IP#如果只是想屏蔽IP的話“3、開放指定的連接埠”可以直接跳過。
#屏蔽單個IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即從123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP4、查看已添加的iptables規則iptables -L -n
v:顯示詳細資料,包括每條規則的匹配包數量和匹配位元組數
x:在 v 的基礎上,禁止自動單位換算(K、M) vps偵探
n:只顯示IP地址和連接埠號碼,不將ip解析為網域名稱
5、刪除已添加的iptables規則
將所有iptables以序號標記顯示,執行:
iptables -L -n --line-numbers
比如要刪除INPUT裡序號為8的規則,執行:
iptables -D INPUT 86、iptables的開機啟動及規則儲存
CentOS上可能會存在安裝好iptables後,iptables並不開機自啟動,可以執行一下:
chkconfig --level 345 iptables on
將其加入開機啟動。
CentOS上可以執行:service iptables save儲存規則。
另外更需要注意的是Debian/Ubuntu上iptables是不會儲存規則的。
需要按如下步驟進行,讓網卡關閉是儲存iptables規則,啟動時載入iptables規則:
建立/etc/network/if-post-down.d/iptables 檔案,添加如下內容:
#!/bin/bash
iptables-save > /etc/iptables.rules
執行:chmod +x /etc/network/if-post-down.d/iptables 添加執行許可權。
建立/etc/network/if-pre-up.d/iptables 檔案,添加如下內容:
#!/bin/bash
iptables-restore < /etc/iptables.rules
執行:chmod +x /etc/network/if-pre-up.d/iptables 添加執行許可權。
關於更多的iptables的使用方法可以執行:iptables --help或網上搜尋一下iptables參數的說明。
急!!!利用 iptables 實現 linux 防火牆功可以有關問題
自己看:
什麼是Iptables?
iptables 是建立在 netfilter 架構基礎上的一個包過濾管理工具,最主要的作用是用來做防火牆或透明代理。Iptables 從 ipchains 發展而來,它的功能更為強大。Iptables 提供以下三種功能:包過濾、NAT(網路位址轉譯)和通用的 pre-route packet mangling。包過濾:用來過濾包,但是不修改包的內容。Iptables 在包過濾方面相對於 ipchians 的主要優點是速度更快,使用更方便。NAT:NAT 可以分為源地址 NAT 和目的地址 NAT。
Iptables 可以追加、插入或刪除包過濾規則。實際上真正執行這些過慮規則的是 netfilter 及其相關模組(如 iptables 模組和 nat 模組)。Netfilter 是 Linux 核心中一個通用架構,它提供了一系列的 “表”(tables),每個表由若干 “鏈”(chains)組成,而每條鏈中可以有一條或數條 “規則”(rule)組成。
系統預設的表為 “filter”,該表中包含了 INPUT、FORWARD 和 OUTPUT 3 個鏈。
每一條鏈中可以有一條或數條規則,每一條規則都是這樣定義的:如果資料包頭符合這樣的條件,就這樣處理這個資料包。當一個資料包到達一個鏈時,系統就會從第一條規則開始檢查,看是否符合該規則所定義的條件: 如果滿足,系統將根據該條規則所定義的方法處理該資料包;如果不滿足則繼續檢查下一條規則。最後,如果該資料包不符合該鏈中任一條規則的話,系統就會根據該鏈預先定義的策略來處理該資料包。
? table,chain,rule
iptables 可以操縱3 個表:filter 表,nat 表,mangle 表。
NAT 和一般的 mangle 用 -t 參數指定要操作哪個表。filter 是預設的表,如果沒有 -t 參數,就預設對 filter 表操作。
Rule 規則:過濾規則,連接埠轉寄規則等,例如:禁止任何機器 ping 我們的伺服器,可以在伺服器上設定一條規則:
iptables -A INPUT -s ! 127.0.0.1 -p icmp -j DROP
從 –s 開始即是一條規則,-j 前面是規則的條件,-j 開始是規則的行為(目的)。整條命令解釋為,在filter 表中的 INPUT 規則鏈中插入一條規則,所有源地址不為 127.0.0.1 的 icmp 包都被拋棄。
Chain 規則鏈:由一系列規則群組成,每個包順序經過 chain 中的每一條規則。chain 又分為系統 chain和使用者建立的 chain。下面先敘述系統 chain。
filter 表的系統 chain: INPUT,FORWAD,OUTPUT
nat 表的系統 chain: PREROUTING,POSTROUTING,OUTPUT
mangle 表的系統 chain: PREROUTING,OUTPUT
每條系統 chain 在確定的位置被檢查。比如在包過濾中,所有的目的地址為本地的包,則會進入INPUT 規則鏈,而從本地出去的包會進入 OUTPUT 規則鏈。
所有的 table 和 chain 開機時都為空白,設定 iptables 的方法就是在合適的 table 和系統 chain 中添相應的規則。
------------------------------------------------......餘下全文>>
在linux 下怎設定iptables 防火牆
Iptable -A Input -p Tcp -d 自己的IP地址 b --dPort 連接埠 -J Reject
RedHat機器
cat /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [10276:1578052]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [13784:16761487]
-A INPUT -s 10.0.0.0/255.0.0.0 -i eth1 -j DROP
-A INPUT -s 172.16.0.0/255.240.0.0 -j DROP
-A INPUT -s 192.168.0.0/255.255.0.0 -i eth1 -j DROP #eth1 is interface to internet
# anti Sync Flood
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
# anti some port scan
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
# anti ping of death
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
COMMIT
chkconfig iptables on
以後每次啟動iptables就會自動讀取設定檔(/etc/sysconfig/iptables)
自動啟動
或者是/etc/rc.d/init.d/iptables start手工啟動
/etc/rc.d/init.d/iptables stop手工停止
在LINUX下架設防火牆
linuxbird
隨著Internet的普及,人們的日常工作與之的關係也越來緊密,因而越來越多的單位為員工開設了Internet的代理上網服務。但當一個企業的內部網路接上Internet之後,企業的內部資源就象待賣的羔羊一樣,面臨任人宰割的危險,因而系統的安全除了考慮電腦病毒、系統的健壯性等內部原因之外,更主要的是防止非法使用者通過Internet的入侵。而目前防止的措施主要是靠防火牆的技術完成。
一、什麼是防火牆
防火牆(firewall)是指一個由軟體或和硬體裝置群組合而成,處於企業或網路群體電腦與外界通道(Internet)之間,限制外界使用者對內部網路訪問及管理內部使用者訪問外界網路的許可權。主要是控制對受保護的網路(即網點)的往返訪問,逼使各連接點的通過能得到檢查和評估。
從誕生到現在,防火牆已經曆了四個發展階段:基於路由器的防火牆、使用者化的防火牆工具套、建立在通用作業系統上的防火牆、具有安全作業系統的防火牆。目前防火牆供應商提供的大部分都是具有安全作業系統的軟硬體結合的防火牆,象NETEYE、NETSCREEN、TALENTIT等。在LINUX作業系統上的防火牆軟體也很多,除了下面要專門介紹的IPCHAINS外,還有很多,如:Sinus Firewall、Jfwadm......餘下全文>>