手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

linux防火墻添加端口過濾

2015-07-03 14:43:51 9327

一.iptables的安裝:yum -y install iptables

iptables開機自啟動:chkconfig iptables on

iptables啟動:/etc/init.d/iptables start

iptables關閉:/etc/init.d/iptables stop

iptables的狀況查看:chkconfgi --list | grep iptables

iptables的配置文件:/etc/sysconfig/iptables

二.防火墻基礎:

1.防火墻策略一般分為兩種,一種叫“通”策略,一種叫“堵”策略,通策略,默認門是關著的,必須要定義誰能進。堵策略則是,大門是洞開的,但是你必須有身份認證,否則不能進。所以我們要定義,讓進來的進來,讓出去的出去,所以通,是要全通,而堵,則是要選擇。

2.iptables就根據規則所定義的方法來處理這些數據包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火墻的主要工作就是添加、修改和刪除這些規則。

3.表(tables)提供特定的功能,iptables內置了4個表,即filter表、nat表、mangle表和raw表,每個表的功能如下:

1.)filter:定義允許或者不允許的

2.)nat :定義地址轉換的 

3.)mangle:修改報文原數據

4.)raw:數據跟蹤處理上

我們修改報文原數據就是來修改TTL的。能夠實現將數據包的元數據拆開,在里面做標記/修改內容的。而防火墻標記,其實就是靠mangle來實現的。

4.鏈(chains)是數據包傳播的路徑,每一條鏈其實就是眾多規則中的一個檢查清單,每一條鏈中可以有一條或數條規則。當一個數據包到達一個鏈時,iptables就會從鏈中第一條規則開始檢查,看該數據包是否滿足規則所定義的條件。如果滿足,系統就會根據該條規則所定義的方法處理該數據包;否則iptables將繼續檢查下一條規則,如果該數據包不符合鏈中任一條規則,iptables就會根據該鏈預先定義的默認策略來處理數據包。

5.小擴展:

對于filter表來講一般只能做在3個鏈(chain)上:INPUT ,FORWARD ,OUTPUT

對于nat表來講一般也只能做在3個鏈(chain)上:PREROUTING ,OUTPUT ,POSTROUTING

對于mangle表則是5個鏈(chain)都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

6.當一個數據包進入時:

① 當一個數據包進入網卡時,它首先進入PREROUTING鏈,內核根據數據包目的IP判斷是否需要轉送出去。

② 如果數據包就是進入本機的,它就會沿著向下移動,到達INPUT鏈。數據包到了INPUT鏈后,任何進程都會收到它。本機上運行的程序可以發送數據包,這些數據包會經過OUTPUT鏈,然后到達POSTROUTING鏈輸出。

③ 如果數據包是要轉發出去的,且內核允許轉發,數據包就會如圖所示向右移動,經過FORWARD鏈,然后到達POSTROUTING鏈輸出。

三.iptables命令格式

iptables的命令格式較為復雜,一般的格式如下:

iptables [-t table] 命令 [chain] [rules] [-j target]

table——指定表明

命令——對鏈的操作命令

chain——鏈名

rules——規則

target——動作如何進行

1.表選項

表選項用于指定命令應用于哪個iptables內置表,iptables內置包括filter表、nat表、mangle表和raw表。

2.命令選項iptables命令格式(command)

命令                  說明

-P或–policy <鏈名>   定義默認策略

-L或–list <鏈名>      查看iptables規則列表

-A或—append <鏈名>  在規則列表的最后增加1條規則

-I或–insert <鏈名>    在指定的位置插入1條規則

-D或–delete <鏈名>   從規則列表中刪除1條規則

-R或–replace <鏈名>  替換規則列表中的某條規則

-F或–flush <鏈名>    刪除表中所有規則

-Z或–zero <鏈名>    將表中數據包計數器和流量計數器歸零

3.匹配選項(paraameters參數選項)

匹配                               說明

-i或–in-interface <網絡接口名>      指定數據包從哪個網絡接口進入,如ppp0、eth0和eth1等

-o或–out-interface <網絡接口名>    指定數據包從哪塊網絡接口輸出,如ppp0、eth0和eth1等

-p或—proto協議類型 < 協議類型>   指定數據包匹配的協議,如TCP、UDP和ICMP等

-s或–source <源地址或子網>        指定數據包匹配的源地址

–sport <源端口號>                 指定數據包匹配的源端口號,可以使用“起始端口號:結束端口號”的格式指定一個范圍的端口

-d或–destination <目標地址或子網>  指定數據包匹配的目標地址

–dport目標端口號 指定數據包匹配的目標端口號,可以使用“起始端口號:結束端口號”的格式指定一個范圍的端口

4.動作選項

動作 說明

ACCEPT 接受數據包

DROP 丟棄數據包

REDIRECT 與DROP基本一樣,區別在于它除了阻塞包之外, 還向發送者返回錯誤信息。

SNAT 源地址轉換,即改變數據包的源地址

DNAT 目標地址轉換,即改變數據包的目的地址

MASQUERADE IP偽裝,即是常說的NAT技術,MASQUERADE只能用于ADSL等撥號上網的IP偽裝,也就是主機的IP是由ISP分配動態的;如果主機的IP地址是靜態固定的,就要使用SNAT

LOG 日志功能,將符合規則的數據包的相關信息記錄在日志中,以便管理員的分析和排錯

Iptables命令格式

Iptables過濾條件

四.iptables的語法

iptables定義規則的方式比較復雜:

格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION

-t table :3個filter nat mangle

COMMAND:定義如何對規則進行管理

chain:指定你接下來的規則到底是在哪個鏈上操作的,當定義策略的時候,是可以省略的     

CRETIRIA:指定匹配標準

-j ACTION :指定如何進行處理   

五.實戰演練——指定對端口的開放

1. Iptables查看現在都有那些規則,或者直接訪問:vi /etc/sysconfig/iptables

通過上圖,我們發現linux主機對所有的鏈INPUT/FORWARD/OUTPUT是允許訪問的。

2.關閉所有的INPUT/FORWARD/OUTPUT只對某些端口開放.

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

3.關閉之后發現我的SecureCRT不能登陸到字符界面了,那么現在來開通22端口。

Iptables -A INPUT -p TCP --dport 22 -j ACCEPT

Iptables -A OUTPUT -p TCP --Sport 22 -j ACCEPT

4打開80端口,否則其他人無法訪問網站

Iptables -A INPUT -p TCP --dport 80 -j ACCEPT

Iptables -A OUTPUT -p TCP --Sport 80 -j ACCEPT

5.我想ping 一下藍隊網絡的域名發現不同,這是因為DNS對應的端口是53以及使用的協議是UDP的。

iptables -A OUTPUT -p UDP --sport 53 -j ACCEPT     開放出源端口53

iptables -A INPUT -p UDP --dport 53 -j ACCEPT       開放進目標端口53 

iptables -A INPUT -p UDP --sport 53 -j ACCEPT 

      

6.設置好后記得保存一下。

service iptables save

提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: