skill——iptables(五)

黑白名單

黑名單:即默認策略爲 ACCEPT,鏈中規則對應的動做應該爲 DROP 或 REJECT ,表示只有匹配到規則的報文才會被拒絕,沒有匹配到規則的報文默認被放行
白名單:即默認策略爲 DROP 或 REJECT,鏈中規則對應的動做應該爲 ACCEPT ,表示只有匹配到規則的報文才會被放行,沒有匹配到規則的報文默認被拒絕
也就是說:
白名單時,默認全部人是壞人,只放行好人
黑名單時,默認全部人是好人,只拒絕壞人
案例一:
簡單的黑名單(默認策略爲 ACCEPT,鏈中規則對應的動做爲 DROP 或 REJECT)
skill——iptables(五)
案例二:
簡單的白名單(默認策略爲 DROP 或 REJECT,鏈中規則對應的動做爲 ACCEPT )
先添加規則動做爲 ACCEPT 的鏈使端口 22 能夠被訪問,而後使用 -P 把默認策略改成 DROP
以下圖:
skill——iptables(五)
注意:可是上圖的設置有個問題,就是若是誤操做把這這條規則刪掉了或執行了 iptables -F INOUT 清空了鏈,正在鏈接的 ssh 就會 的斷開,這個顯然不是咱們想要的
能夠作如下修改:
讓默認策略繼續爲:ACCEPT,在須要放行的規則後面添加一條拒絕全部請求的規則
意思是:若是報文符合放行規則,則會被放行規則匹配到,得以經過,若是沒有,則會被最後一條拒絕規則禁止通行
skill——iptables(五)
這樣作的目的是在誤操做的狀況下(iptables -F INOUT 清空了鏈),也能夠保證鏈接是暢通的ssh

自定義鏈

用於解決默認鏈中規則很是多時,方便咱們分類管理,好比定義一條鏈,只存放針對 80 端口的入站規則
案例三tcp

  1. 建立一條自定義鏈
    注意:前面說過,-t filter 能夠省略,爲默認值
    skill——iptables(五)
    skill——iptables(五)
  2. 向 IN_WEB 中添加並查看規則
    注意:操做自定義鏈與默認鏈沒什麼不一樣
    skill——iptables(五)
  3. 使用默認鏈來引用自定義鏈
    注意:沒有默認鏈引用時,以前定義的規則是沒法被正常使用的,被哪條默認鏈引用取決於實際工做場景(自定義鏈也能夠引用其餘自定義鏈)
    注意:此時的 「-j 動做」 表示訪問本機的 80 端口的 tcp 報文將由自定義鏈來處理,咱們也能夠發現 IN_WEB 中的 references 數值變爲了 1,表示該自定義鏈被引用了一次
    skill——iptables(五)
    skill——iptables(五)
  4. 重命名自定義鏈
    skill——iptables(五)
    skill——iptables(五)
  5. 刪除自定義鏈
    注意:刪除自定義鏈需知足兩個條件
    1)自定義鏈中沒有任何規則,即自定義鏈爲空
    2)自定義鏈沒有被任何默認鏈引用,即自定義鏈的引用計數爲 0
    skill——iptables(五)
相關文章
相關標籤/搜索