防火牆的初始化 廢話不多說,先上一張表格: 清空預設表(filter表)中的數據,只要簡單的使用下麵這條命令即可: 清除預設表中INPUT鏈的規則,可使用下麵的命令: 命令執行完成後,使用iptables -L查看當前防火牆設置。 給鏈設置預設策略基本語法如下: 其中archy是鏈的名稱,targe ...
導讀 | IP Table已經集成在Linux 2.4及以上版本的內核中,同Windows下的眾多“傻瓜”防火牆不同的是,IP Table需要用戶自己定製相關規則。下麵我就給大家簡單介紹一下關於防火牆的基本操作。 |
廢話不多說,先上一張表格:
選項 | 含義 |
-F | 清除鏈中所有的規則 |
-P | 為鏈添加一條預設策略(目標) |
-A | 為鏈增加一條規則說明 |
-D | 從鏈中刪除一條規則 |
-L | 查看當前表的鏈和規則 |
清空預設表(filter表)中的數據,只要簡單的使用下麵這條命令即可:
[root@localhost ~]# iptables -F
清除預設表中INPUT鏈的規則,可使用下麵的命令:
[root@localhost ~]# iptables -F INPUT
命令執行完成後,使用iptables -L查看當前防火牆設置。 給鏈設置預設策略基本語法如下:
iptables -P archy target
其中archy是鏈的名稱,target(目標)用於定義策略。 filter表中共有9個不同的策略可供使用,但最常用的只有4個,分別包括:ACCEPT表示允許包通過;DROP丟棄一個包;REJECT會在丟棄的同時返回一條ICMP錯誤消息;LOG則扮演了記事員的角色記錄包的信息。 通常對伺服器而言,將所有鏈設置為DROP是一個不錯的選擇,下麵這條命令將所有的鏈的預設策略設置為DROP:
[root@localhost ~]# iptables -F INPUT DROP
執行完這條命令後,所有試圖同本機建立連接的努力都會失敗,因為所有從“外部”到達防火牆的包都會被丟棄,甚至連使用迴環介面ping自己都不行。
添加規則使用iptables -A命令添加鏈規則,命令基本語法如下:
iptables -A archy -i interface -j target
其中,archy代錶鏈的名稱,interface指定該規則用於哪個網路介面,target用於定義策略。舉一個很簡單的例子,下麵這條命令就是添加一條INPUT鏈的規則,允許所有通過lo介面的鏈接請求:
[root@localhost ~]# iptables -A INPUT -i lo -p ALL -j ACCEPT
其餘有關防火牆規則的設置相關選項,如下表:
選項 | 含義 |
-p proto | 匹配網路協議:tcp、udp、icmp |
--icmp-type type | 匹配ICMP類型,和-p icmp配合使用。註意有兩根短劃線 |
-s source-ip | 匹配來源主機(或網路)的IP地址 |
--sport port# | 匹配來源主機的埠,和-s source-ip配合使用。 |
-d dest-ip | 匹配目標主機的IP地址 |
--dport port# | 匹配目標主機(或網路)的埠,和-d dest-ip配合使用。 |
iptables提供了-D選項來刪除鏈規則,有兩種不同的語法用於刪除一條規則,這兒介紹最常用的方法: 首先使用帶--line-numbers選項的iptables -L命令查看鏈規則的編號,命令如下:
[root@localhost ~]# iptables -L --line-numbers
當你查到規則編號後使用下麵命令就可以刪除連規則:
[root@localhost ~]# iptables -D 18