您好,登錄后才能下訂單哦!
Linux防火墻iptables-基礎與編寫防火墻規則.txt
Linux防火墻基礎與編寫防火墻規則
https://www.cnblogs.com/L2366/p/9285917.html
linux 防火墻配置規則
https://blog.csdn.net/lemontree1945/article/details/79309273
iptables詳解(1)到(14)
https://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/iptables/
https://www.cnblogs.com/wanstack/category/1153938.html
linux系統防火墻iptables命令規則及配置的示例
https://blog.whsir.com/post-167.html
Linux系統修改防火墻配置
https://www.cnblogs.com/ixan/p/8243623.html
Linux Centos 7 防火墻配置
https://www.cnblogs.com/su-king/p/9996633.html
RHEL 7.0 修改防火墻配置
https://blog.csdn.net/weixin_30488085/article/details/95228014
https://blog.csdn.net/catoop/article/details/47861583
規則鏈:規則的集合
五種鏈:(必須大寫)
INPUT:入站
OUTPUT:出站
FORWARD:轉發
POSTROUTING:路由后轉換
PREROUTING:路由前轉換
1)INPUT鏈:當收到訪問防火墻本機地址的數據包(入站),應用此鏈中的規則。
2)OUTPUT鏈:當防火墻本機向外發送數據包(出站)時,應用此鏈中的規則。
3)FORWARD鏈:當收到需要通過防火墻中轉發送給其他地址的數據包(轉發)時,應用此鏈中的規則。
4)PREROUTING鏈:在對數據包做路由選擇之前,應用此鏈中的規則。
5)POSTROUTING鏈:在對數據包做路由選擇之后,應用此鏈中的規則。
規則表:規則鏈的集合
有4個表:
Raw:狀態跟蹤
Mangle:設置標記
Nat:地址轉換
Filter:包過濾
1)filter表:用來對數據包進行過濾,表內包含三個鏈,即:INPUT,FORWARD,OUTPUT
2)Nat表:nat表主要用來修改數據包的ip地址、端口號等信息。包含三個鏈,即PREROUTING,POSTROUTING,OUTPUT
3)Mangle表:用來修改數據包的TOS、TTL,或者為數據包設置MARL標記,實現流量整形,策略路由等高級應用,包含五個鏈,PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD
4)Raw表:用來決定是否對數據包進行狀態跟蹤,包含兩個鏈:即OUTPUT,PREROUTING
Iptables -t 表名 命令選項 鏈名 條件選項 -j 控制類型
1)不指定表名,為filter表
2)命令選項、鏈名、控制類型必須大寫,其他必須小寫
3)條件選項可以設置多項
命令選項:
-A:追加到末尾
-I:插入(默認插入到第一條)
-L:查看
-D:刪除(必須加序號)
-F:清空,但默認策略不清空
-P:默認策略,只有ACCEPT或DROP兩種
-R:替換
-X:刪除自定義鏈
-N:新建自定義鏈
-n:以數字方式顯示
--line-number:添加序號
控制類型:
1)ACCEPT:允許
2)REJECT:拒絕,返回信息
3)DROP:丟棄,無信息
4)LOG:記錄日志,傳給下一條規則
5)SNAT:源地址轉換
6)DNAT:目標地址轉換
7)MASQUERADE:ip偽裝,源地址轉換
8)REDIRECT:重定向
條件選項:
1)通用匹配:不依賴于任何條件可直接使用
-s:源地址 -d:目標地址
-p:協議 -i:入口
-o:出口 !:取反
2)隱含匹配:依賴指定的協議
--sport:源端口 --dport:目標端口
--tcp—flags:TCP標記
--icmp-type:icmp類型,有兩種:
Echo-request(可用8代替) 請求
Echo-reply(可用0代替) 回應
開啟轉發功能:
永久有效:vim /etc/sysctl.conf
Net.ipv4.ip_forward=1
生效:sysctl -p
臨時轉發,立即生效
Sysctl -w net.ipv4.ip_forward=1
Echo “1” > /proc/sys/net/ipv4/ip_forward
3)顯示配置:依賴于指定的功能模塊,必須明確指定模塊名稱才可以使用
多端口匹配:-m multiport --sports 源端口列表
-m multiport --dports 目的端口列表
IP范圍匹配:-m iprange --src-range ip范圍
MAC地址匹配:-m mac --mac-source MAC地址
狀態匹配:-m state --state 連接狀態
查看本機IPTABLES的設置情況
iptables -nL
service iptables status
將新設置的規則保存到文件
格式:iptables -save [-t table]
這樣就可以寫到/etc/sysconfig/iptables文件里了.寫入后記得把防火墻重起一下,才能起作用.
其它格式:iptables [-t table] [-FXZ]
-F :請除所有的已制訂的規則
-X :除掉所有用戶“自定義”的chain
-Z :將所有的統計值清0
添加規則:添加INPUT鏈,INPUT鏈的默認規則是DROP,凡是不在規則里的都DROP。
創建自定義鏈
iptables -t filter -N self_control
-N = new
增加自定義鏈規則
iptables -t filter -I self_control -s 192.151.102.2 -j REJECT
引用自定義鏈
iptables -t filter -I INPUT -j self_control
刪除自定義鏈:
刪除自定義鏈有兩個條件:
1.自定義鏈中沒有規則
2.自定義鏈沒有被引用
清空自定義鏈規則:
iptables -t filter -F self_ctl
刪除鏈引用規則:
iptables -t filter -D INPUT 1
刪除自定義鏈:
iptables -X self_ctl
重命名自定義鏈
iptables -E self_control self_ctl
-E = --rename-chain
示例
我們只允許192.168.0.3的機器進行SSH連接
iptables -A INPUT -s 192.168.0.3 -p tcp –dport 22 -j ACCEPT
如果要允許,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.
允許172.16網段內的主機訪問:
#iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.63.7 -j ACCEPT
譯:-t表,默認filter -A追加規則 INPUT進入 -s檢查源 -d檢查目標 -j處理動作 ACCEPT接受;入棧的目標是本機所以-d是本機IP;
拒絕172.16.63.66主機訪問(目前172.16.63.66可以ping通本機,也可以ssh等):
iptables -t filter -A INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT
注:如果你操作過第一個,那么此時設置完后,發現172.16.63.66依舊可以ping進來,原來是我們剛才已經添加了允許172.16網段訪問的規則,所以此規則是后添加的,所以不生效。同一服務規則,小范圍放上面,次序很重要。
如果是多個不同的服務,規則排序要根據實際情況,例如web服務每天訪問量巨大,而禁止某IP服務屬于小范圍,如果把某IP禁止服務放在前面,每次web服務都要先檢查此IP,所以應該把匹配性較大的規則放在前面。
刪除剛才添加的“允許172.16網段訪問的”規則:
iptables -D INPUT 1
注:需要先-vnL --line-numbers查詢下,此規則屬于第幾條,這里是第一條則刪除第一條。
插入一條規則,不讓172.16.63.66的主機訪問本機:
iptables -I INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT
注:默認插入第一條,如果插入第二條,則:#iptables -I INPUT 2 -s 172.16.63.66 -d 172.16.63.7 -j REJECT
注:這樣172.16.63.66進行ping本機時,會直接提示拒絕,當然這樣是不友好的(就是拒絕你,呵呵...),所以我們一般建議使用DROP直接丟棄。
替換第一條規則,不讓172.16.63.77的主機訪問本機:
iptables -R INPUT 1 -s 172.16.63.77 -d 172.16.63.7 -j DROP
采用遠程SSH登陸,我們要開啟22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
減少不安全的端口連接
iptables -A OUTPUT -p tcp –sport 31337 -j DROP
iptables -A OUTPUT -p tcp –dport 31337 -j DROP
其他的規則連接也一樣這么設置:FORWARD鏈
iptables -A FORWARD -i eth2 -o eh0 -j ACCEPT
處理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
查看本機關于NAT的設置情況
iptables -t nat -L
防止外網用內網IP欺騙
iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
禁止與211.101.46.253的所有連接
iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。