Linux防火牆之iptables創建規則和鏈

在RHEL 7.0中安裝啓動iptables:shell

yum install iptables-services                    #安裝iptables
systemctl mask firewalld.service              #屏蔽firewalld服務
systemctl enable iptables.service            #設置開機啓動
systemctl enable ip6tables.service          #設置開機啓動
systemctl stop firewalld.service               #中止firewalld服務
systemctl start iptables.service                #開啓iptables服務
systemctl start ip6tables.service              #開啓ip6tables服務

通常狀況下,iptables已經包含在Linux發行版中,能夠運行「iptables --version」命令來查看系統是否安裝了iptables。在RHEL 7.0中,iptables版本是iptables-1.4.21-13。若是系統確實沒有安裝iptables,那麼能夠從地址:http://www.netfilter.org/ 下載。網絡

1. 查看規則集spa

雖然簡單介紹了iptables的用法,但現實中可能須要知道更完整的信息。能夠運行:.net

iptables --help

來查看快速幫助。要查看系統中現有的iptables規劃集,能夠執行以下命令:
code

sudo iptables --list

2. 增長規則事件

如例,示例中的規則將會阻止來自某一特定IP地址範圍內的數據包,由於該IP地址範圍被管理員懷疑有大量惡意的攻擊者在活動。ip

iptables -t filter -A INPUT -s xxx.xxx.xxx.0/24 -j DROP

也能夠很容易地阻止全部流向攻擊者IP地址的數據包,該命令也只是稍有不一樣:開發

iptables -t filter -A OUTPUT -d xxx.xxx.xxx.0/24 -j DROP

3. 刪除規則get

網絡上的惡意攻擊者時刻在變化,所以也要不斷地改變IP地址。假設一個網絡攻擊者轉移到了新的IP地址,而其老的IP地址被分配給了一些清白的用戶,那麼這時這些用戶的數據包將沒法經過網絡。在這種狀況下,可使用帶 -D 選項的命令來刪除現有的規則:io

iptables -t filter -D OUTPUT -d xxx.xxx.xxx.0/24 -j DROP

4. 默認策略

建立一個具備很好靈活性並能夠抵禦各類意外事件的規則須要花費大量的時間。下面爲每一個鏈設置默認的規則。示例:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

選項 -P 用於設置鏈的策略,只有3個內建的鏈纔有策略。示例中,這些策略可使信息毫無限制地流出,但不容許信息流入。若是須要接收外部信息,則可以使用如下命令,示例:

iptables -t filter -A INPUT -s 123.456.789.0/24 -j ACCEPT


這裏只是簡單的說說,難的我也沒有搞過,作爲開發人員,瞭解一下就行了!

相關文章
相關標籤/搜索