iptables

 

iptables web

 

做者:高波 centos

歸檔:學習筆記 api

2018年1月16日21:06:46 服務器

快捷鍵: tcp

Ctrl + 1 標題1 學習

Ctrl + 2 標題2 字體

Ctrl + 3 標題3 centos7

Ctrl + 4 實例 spa

Ctrl + 5 程序代碼 3d

Ctrl + 6 正文

格式說明:

藍色字體:註釋

黃色背景:重要

綠色背景:注意

 

1.1     I

第一章    1

1.1.1 iptables介紹    1

1.1.2 iptables工做流程.    1

1.1.3 四表五鏈的概念    1

1.1.4 防火牆setup沒法啓用. 開啓debus-daemon --system    1

1.1.5 防火牆使用的內核模塊.    2

1.1.6 iptables清除默認的規則.    2

 

 

 

 

 

 

第一章

  1. iptables介紹

iptables 主要工做在OSI的二三四層.從新編譯內核也能夠工做在七層.

iptables:術語說明

iptables 表tables 鏈chains rule 規則

centos6 iptables centos7 firewalld

  1. iptables工做流程.

iptables 是採用數據包過濾機制工做,因此它會請求的數據包的包頭進行數據分析,

並根據咱們預先設定的規則來匹配是否能夠進入主機.

 

iptables工做流程總結:

  1. 防火牆是一層層過濾的.實際是按照配置規則順序從上到下,從前到後進行過濾的.
  2. 若是匹配上了規則,即明確代表是阻止仍是經過,此時數據包就不在向下匹配新規則了
  3. 若是全部的規則中沒有明確阻止仍是經過這個數據包,也就是沒有匹配上規則,向下進行匹配.

    知道全部的匹配默認規則獲得明確的阻止仍是經過.

  4. 防火牆的默認規則是對應鏈的全部規則執行完纔會執行的.(執行最後的規則)
    1. 四表五鏈的概念

iptables 表和鏈chains

iptables -L #查看默認規則的配置

  1. 防火牆setup沒法啓用. 開啓debus-daemon --system

開啓dbus-daemon --system

 

 

iptables -nL -v --line-numbers

 

  1. 防火牆使用的內核模塊.

 

 

  1. iptables清除默認的規則.

iptables -X 刪除用戶自定義的鏈

iptables -F清除全部的規則,不會處理默認的規則

iptables -Z 鏈的計數清零 數據包計算器和數據包字節計算器.

  1. 除了10.0.0.7 之外的tcp均可以鏈接

[root@web01 ~]# iptables -A INPUT ! -s 10.0.0.7 -p tcp -d 10.0.0.8 -j ACCEPT

[root@web01 ~]# iptables -A INPUT -p tcp -j DROP # 拒絕全部TCP

 

  1. iptables連續地址過濾 地址不在7到8範圍內的就不能鏈接 iprange --src-range

iptables -A INPUT -p tcp -m iprange ! --src-range 10.0.0.7-10.0.0.8 -j DROP

過濾源地址範圍:
iptables -A INPUT -m iprange --src-range 192.168.1.2-192.168.1.7 -j DROP
過濾目標地址範圍:
iptables -A INPUT -m iprange --dst-range 192.168.1.2-192.168.1.7 -j DROP

  1. ipset 封單個不相連的IP

1ipset安裝

 

yum安裝: yum install ipset

 

源代碼安裝:進官網下載ipset-6.30.tar.bz2

 

yum -y install libmnl-devel libmnl

 

tar -jxvf ipset-6.30.tar.bz2 && cd ipset-6.30 && ./configure --prefix=/usr/local/ipset && make && make install 完成安裝

 

2、建立一個ipset

ipset create allset hash:net (也能夠是hash:ip ,這指的是單個ip

2.1、查看已建立的ipset

2.2ipset默承認以存儲65536個元素,使用maxelem指定數量

ipset create openapi hash:net maxelem 1000000

ipset list

3、加入一個黑名單ip

ipset add allset 145.201.56.109

4、建立防火牆規則,與此同時,allset這個IP集裏的ip都沒法訪問80端口(如:CC攻擊可用)

iptables -I INPUT -m set --match-set allset src -p tcp --destination-port 80 -j DROP

service iptables save

5、去除黑名單,與此同時,又能夠訪問了

ipset del allset 145.201.56.109

6、將ipset規則保存到文件

ipset save allset -f allset.txt

7、刪除ipset

ipset destroy allset

8、導入ipset規則

ipset restore -f allset.txt

 

  1. 禁止10.0.0.7的上面的端口22到88端口的鏈接

iptables -A INPUT -p tcp -s 10.0.0.7 --dport 22:88 -j DROP

 

  1. 不連續端口禁用 使用 -m multiport --dport 22 禁止訪問22和80端口

iptables -A INPUT -s 10.0.0.6 -p tcp -m multiport --dport 22 -j DROP

 

iptables -A INPUT -s 10.0.0.6 -p tcp -m multiport --dport 22,80 -j DROP

 

  1. 禁止PING,INPUT 相對於配置的主機進入的

下面兩個配置的是主機出去的.

[root@web01 ~]# iptables -A INPUT -s 10.0.0.6 -i eth0 -p icmp --icmp-type 0 -j DROP

[root@web01 ~]# ping 10.0.0.6

PING 10.0.0.6 (10.0.0.6) 56(84) bytes of data.

^C

--- 10.0.0.6 ping statistics ---

9 packets transmitted, 0 received, 100% packet loss, time 8616ms

    

相對於配置的主機出去的到不了10.0.0.8

[root@web01 ~]# iptables -I OUTPUT -o eth0 -p icmp --icmp-type 8 -j DROP

[root@web01 ~]# ping 10.0.0.6 #在10.0.0.8上面ping的

PING 10.0.0.6 (10.0.0.6) 56(84) bytes of data.

ping: sendmsg: Operation not permitted

ping: sendmsg: Operation not permitted

^C

--- 10.0.0.6 ping statistics ---

5 packets transmitted, 0 received, 100% packet loss, time 4557ms

 

 

  1. 下面是經常使用的禁止進入的: 禁止ping服務器,禁止進入

iptables -A INPUT -s 10.0.0.6 -i eth0 -p icmp --icmp-type 8 -j DROP

 

INPUT -i --icmp-type 8

 

相關文章
相關標籤/搜索