Linux 防火牆

Linux的防火牆,主要是在網絡層對TCP/IP數據包進行過濾和限制。防火牆的包過濾機制(netfilter)由操做系統內核實現的,而防火牆管理工具iptables屬於「用戶態」,爲包過濾機制的實現提供規則。服務器

防火牆總共管理4張表(raw,mangle,nat,filter表),每張表又包含多條鏈,每條鏈又包含多條自定義的規則。網絡

下面重點研究net表和filter表中的鏈:app

 

在每張表的每一條鏈中均可以配置不少的rule,用於決定數據包的過濾規則:tcp

iptables -t 表名 命令選項(增刪改查) 鏈名 規則標號 -p tcp -j 動做(DROP/ACCEPT)工具

1.在Filter表的INPUT鏈末尾添加一條防禦牆規則spa

iptables -t filter -A INPUT -p tcp -j ACCEPT   (-A 表示append,末尾添加,因此不須要指定編號)操作系統

2.查看Filter表的INPUT鏈中的全部規則blog

iptables -L INPUT --line-number接口

3.清空表中的全部rule:ip

iptables -t filter -F

刪除Filter表的INPUT鏈中的第6條規則

iptables -D INPUT 6

4.容許轉發來自192.168.0.0/24網段的數據:

iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT   (-s source 源IP地址)

丟棄從外網接口(eth1)進入防火牆本機的源地址爲某個特定子網的數據包:

 iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP    (-i 指定數據包從哪塊網卡進入)

5.僅容許Administrator從202.13.0.0/16網段使用SSH(端口號爲22)方式遠程登陸防火牆主機:

iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT  (--dport 數據包的IP的目標端口號)

6.禁止其餘主機ping防火牆服務器,可是容許防火牆能ping其餘主機:

iptables -A INPUT -p icmp --icmp-type Echo-Request -j DROP

iptables -A INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT

iptables -A INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT

7.對 Linux 禁 PING 能夠使用以下規則屏蔽 ICMP 傳入鏈接

iptables -A INPUT -p icmp -i eth0 -j DROP

8.配置端口轉發,將 Linux 服務器的某個服務流量轉發到另外一端口:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
相關文章
相關標籤/搜索