紅旗Linux上的iptables使用簡介
紅旗Linux上的iptables使用過程非常簡單,只要?jiǎng)觿?dòng)手就能解決。和我來看看吧!
編寫Iptables規(guī)則腳本
所謂規(guī)則,就是指在一條鏈上,對(duì)不同的連接和數(shù)據(jù)包進(jìn)行阻塞或是允許它們的去向。所有的規(guī)則都需要插入到特定的鏈上才能產(chǎn)生效果。書寫規(guī)則的語法的格式為:
Iptables [-t table] command [match] [target | jump]
-t 指定表名,一般情況下沒必要指定使用的表,因?yàn)閕ptables默認(rèn)使用filter表來執(zhí)行所有的命令。
command 指該條規(guī)則需要進(jìn)行什么操作。如在該表中的某一鏈上插入或刪除一條規(guī)則等
match 此項(xiàng)描述與該規(guī)則匹配的數(shù)據(jù)包的特征。如指定數(shù)據(jù)包的來源IP,網(wǎng)絡(luò)接口等等。
target 是最后數(shù)據(jù)包的目的所在,對(duì)于符合match的數(shù)據(jù)包,由target處理。
下面介紹幾個(gè)簡單的iptables規(guī)則:
iptables –I INPUT 1 -i eth0 –p all –j ACCEPT
該腳本的作用是在默認(rèn)的filter表的INPUT鏈的第一個(gè)位置插入一條過濾規(guī)則——接受經(jīng)過以太網(wǎng)卡0(eth0)所有協(xié)議的數(shù)據(jù)包。從鏈表圖中可以看到,一個(gè)傳入本機(jī)的數(shù)據(jù)包,在fiter表的INPUT鏈上被接受,則意味著應(yīng)用程序能夠接收到此數(shù)據(jù)包。
iptables –A INPUT –i eth0 –p icmp –icmp-type 8 –j DROP
在filter表的INPUT鏈的最后追加一條規(guī)則——丟棄通過eth0傳入的序號(hào)為8的icmp協(xié)議數(shù)據(jù)包,即ping request,這樣其他主機(jī)將不能成功的ping通本機(jī)了。
利用iptables還可以方便的架設(shè)一臺(tái)網(wǎng)關(guān)。如果eth0連接的是外部網(wǎng)絡(luò),而eth1連接的是局域網(wǎng)(192.168.0.0/24),假設(shè)在外部網(wǎng)絡(luò)上,本機(jī)的IP為202.113.13.91,我們只需要一條命令,就可以使得局域網(wǎng)內(nèi)部的所有主機(jī)都可以通過本機(jī)訪問外部網(wǎng)絡(luò)。
iptables –t nat –A POSTROUTING –o eth0 –s 192.168.0.0/24 –j SNAT --to 202.113.13.91
該腳本實(shí)際上是向nat表的POSTROUTING鏈增加了一條SNAT規(guī)則,對(duì)于所有來自局域網(wǎng)的需要轉(zhuǎn)發(fā)的數(shù)據(jù)包,將其源地址偽裝成本機(jī)IP,向外部網(wǎng)絡(luò)發(fā)送。這樣便實(shí)現(xiàn)了局域網(wǎng)網(wǎng)關(guān)的功能。
要記住,在這之前還需要echo 1 > /proc/sys/net/ipv4/ip_forward 以開啟IP轉(zhuǎn)發(fā)功能。
同樣,利用iptables也可以輕松實(shí)現(xiàn)端口映射功能。例如,我們需要外部網(wǎng)絡(luò)能夠通過本機(jī)訪問局域網(wǎng)內(nèi)192.168.0.110主機(jī)的FTP服務(wù),腳本如下:
iptables-t nat –A PREROUTING –i eth0 –p tcp –d 202.113.13.91 --dport 21 –j DNAT –to 192.168.0.110
該腳本描述的規(guī)則是:將外部網(wǎng)絡(luò)對(duì)本機(jī)21號(hào)端口發(fā)送的TCP數(shù)據(jù)包全部DNAT給局域網(wǎng)內(nèi)部的一臺(tái)主機(jī)(當(dāng)然您需要確保這臺(tái)主機(jī)上開啟了FTP服務(wù)),這樣外部網(wǎng)絡(luò)就可以通過202.113.13.91這個(gè)IP訪問到局域網(wǎng)內(nèi)部的FTP服務(wù)了。
可以看出iptables的參數(shù)種類繁多,且規(guī)則組合方式多種多樣,只要了解數(shù)據(jù)包的流向,以及各個(gè)表和鏈的作用,熟練的掌握它們,就能夠方便的搭建出功能豐富的網(wǎng)絡(luò)防火墻。
iptables的網(wǎng)絡(luò)控制功能及其強(qiáng)大,本文只是介紹了iptables的很小一部分,希望能起到拋磚引玉的作用,想要進(jìn)一步學(xué)習(xí)可以在官方主頁找到iptables指南,也可以到下面的網(wǎng)址找到該指南的中文譯本。
通過上文的倆大步驟,相信大部分人都學(xué)會(huì)了在紅旗Linux上使用iptables,學(xué)會(huì)的朋友趕快去和朋友分享吧!
【編輯推薦】
- iptables-restore中文手冊(cè)
- 一些iptables的常用應(yīng)用
- 動(dòng)態(tài)iptables防火墻之dynfw
- Linux防火墻的IPtables設(shè)置與用法
- 巧用iptables建立Linux防火墻
- 使用iptables封殺內(nèi)網(wǎng)的bt軟件
- 用iptables來防止web服務(wù)器被CC攻擊