在linux系統中安裝yum install iptables-services
然后 vi /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Sun Aug 28 12:14:02 2016 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] #這里開始增加白名單服務器ip(請刪除當前服務器的ip地址) -N whitelist -A whitelist -s 8.8.8.8 -j ACCEPT -A whitelist -s x.x.x.x -j ACCEPT #這些 ACCEPT 端口號,公網內網都可訪問 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允許接受本機請求之后的返回數據 RELATED,是為FTP設置的 -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 13020 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:8000 -j ACCEPT #開放1000到8000之間的所有端口 #下面是 whitelist 端口號,僅限 服務器之間 通過內網 訪問 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j whitelist -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j whitelist #為白名單ip開放的端口,結束 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
解釋:
添加防火牆過濾規則步驟如下;
1、查看現有防火牆過濾規則:
iptables -nvL --line-number
2、添加防火牆過濾規則(設置白名單):
1)添加白名單
iptables -I INPUT 3 -s 136.6.231.163 -p tcp --dport 1521 -j ACCEPT
命令詳解:
-I:添加規則的參數
INPUT:表示外部主機訪問內部資源
規則鏈:
1)INPUT——進來的數據包應用此規則鏈中的策略
2)OUTPUT——外出的數據包應用此規則鏈中的策略
3)FORWARD——轉發數據包時應用此規則鏈中的策略
4)PREROUTING——對數據包作路由選擇前應用此鏈中的規則 (記住!所有的數據包進來的時侯都先由這個鏈處理)
5)POSTROUTING——對數據包作路由選擇后應用此鏈中的規則(所有的數據包出來的時侯都先由這個鏈處理)
3:表示添加到第三行(可以任意修改)
-s:指定作為源地址匹配,這里不能指定主機名稱,必須是IP;
-p: 用於匹配協議的(這里的協議通常有3種,TCP/UDP/ICMP)
--dport: 用於匹配端口號
-j: 用於匹配處理方式:
常用的ACTION:
DROP:悄悄丟棄,一般我們多用DROP來隱藏我們的身份,以及隱藏我們的鏈表
REJECT:明示拒絕
ACCEPT:接受
2)查看添加結果
iptables -nvL --line-number
然后重啟防火牆即可生效
重啟防火牆的命令:service iptables restart
此時,防火牆規則只是保存在內存中,重啟后就會失效。
使用以下命令將防火牆配置保存起來;
保存到配置中:service iptables save (該命令會將防火牆規則保存在/etc/sysconfig/iptables文件中。)
-----------------------------------------------------------------------------------
附:
開放端口段3000~3008
iptables -A INPUT -p tcp --dport 3000:3008 -j ACCEPT
開放ip段
iprange模塊提供了兩個匹配參數:
--src-range: 匹配來源地址的范圍,例如,iptables -A INPUT -p tcp -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROP
--dst-range: 匹配目的地址的范圍,例如,iptables -A OUTPUT -p tcp -m iprange --dst-range 192.168.0.2-192.168.0.61 -j DROP
禁止用戶訪問www.baidu.com
iptables -I FORWARD -d www.baidu.com -j DROP
iptables—命令(-A、-I、-D、-R、-L等)、

1、常用命令列表: 常用命令(-A追加規則、-D刪除規則、-R修改規則、-I插入規則、-L查看規則) 命令-A,--append 范例 iptables -A INPUT ... 說明新增規則(追加方式)到某個規則鏈(這里是INPUT規則鏈)中,該規則將會成為規則鏈中的最后一條規則。 命令-D,--delete 范例 iptables -D INPUT --dport 80 -j DROP iptables -D INPUT 1 說明 從某個規則鏈中刪除一條規則,可以輸入完整規則,或直接指定規則編號加以刪除。 命令-R, --replace 范例 iptables -R INPUT1-s 192.168.0.1 -j DROP 說明取代現行規則,規則被取代后並不會改變順序。(1是位置) 命令-I,--insert 范例 iptables -I INPUT1--dport 80 -j ACCEPT 說明插入一條規則,原本該位置(這里是位置1)上的規則將會往后移動一個順位。 命令-L, --list 范例 iptables -L INPUT 說明 列出某規則鏈中的所有規則。 命令-F, --flush 范例 iptables -F INPUT 說明 刪除某規則鏈(這里是INPUT規則鏈)中的所有規則。 命令-Z,--zero 范例 iptables -Z INPUT 說明 將封包計數器歸零。封包計數器是用來計算同一封包出現次數,是過濾阻斷式攻擊不可或缺的工具。 命令-N, --new-chain 范例 iptables -N allowed 說明 定義新的規則鏈。 命令-X, --delete-chain 范例 iptables -X allowed 說明 刪除某個規則鏈。 命令-P, --policy 范例 iptables -P INPUT DROP 說明 定義過濾政策。 也就是未符合過濾條件之封包,預設的處理方式。 命令-E,--rename-chain 范例 iptables -E allowed disallowed 說明 修改某自訂規則鏈的名稱。
規則的刪除等:linux下iptables的使用下面是可能用於防止慢連接攻擊的方式
#處理IP碎片數量,防止攻擊,允許每秒100個 iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT #設置ICMP包過濾,允許每秒1個包,限制觸發條件是10個包 iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT