防火牆
主配置文件:vim /etc/sysconfig/iptables
想要自定義防火牆,需要把這裏的規則清空並且權限設置成DROP
防火牆名字:netfilter,工具:iptables
防火牆有三個表filter,nat,mangle
每個表下面還有鏈:
filter表主要用於過濾包,系統預設的表。內建三個鏈INPUT、OUTPUT、FORWARD,INPUT作用於進入本機的包,OUTPUT作用於本機送出的包,FORWARD作用於跟本機無關的包。
nat表主要用處是網絡地址轉換,PREROUTING練的作用是在包剛剛到達防火牆是改變它的目的地址,POSTOUTING鏈在包就要離開防火牆之前改變其源地址
mangle表主要用於給數據包打標記,然後根據標記去操作哪些包。
-A/D:增加刪除一條規則
-I:插入一條規則,其實跟-A的效果一樣
-P:指定協議,可以是tcp,udp,icmp
--dport:跟-p一起使用,指定目標端口 //對於防火牆來說
--sport:跟-P一起使用,指定源端口
-s:指定源IP(可以是一個IP段) //對於防火牆來說
-d:指定目標IP(可以是一個IP段)
-j:後面跟動作,其中ACCEPT表示允許包,DORP表示丟掉包,REJECT表示拒絕包
規則按順序生效,當兩個規則相同時,第一個規則先生效,後面的規則直接忽視掉
防火牆源IP表示,一臺主機要想遠程服務器,那麼這臺主機就是源IP,它要發送數據包到服務器纔想遠程服務器,要是服務器不想被遠程,可以直接把數據包DROP掉
iptables要理解防火牆的結構,它在本地網絡和外部網絡之間,這可以清楚的理解源IP和目標IP,也要搞清楚每個鏈,如INPUT的目標IP是本機IP源IP是外部IP
1、命令
iptables -t filter -I INPUT -p tcp --dport80 -s 192.168.134.1 -j REJECT
iptables –F //清空防火牆規則
iptables –Z //把包以及流量清零
iptables-save > /etc/sysconfig/1.ipt //備份防火牆規則
iptables-restore /etc/sysconfig/1.ipt //恢復防火牆規則
iptables -P INPUT DROP //更改預設策略,對於每個鏈,安全性高
//實例:
針對filter表,預設策略INPUT鏈DROP,其他兩個鏈ACCEPT,然後針對192.168.134.0/24開通22端口,對所有網段開放80端口,對所有網段開放21端口。腳本如下:
vim 1.ipt.sh
#!/bin/bash
ipt="/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -s 192.168.134.0/24 -p tcp--dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT