iptables

本文章內容:

Linux防火牆iptables。

語法:iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname [per-target-options]

查看幫助:
● man iptables
● man iptables-extensions

1. 設白名單方式

1.1 方式一:設定鏈的默認策略為DROP

注意:ping本地迴環地址127.0.0.1也不行了。什麼叫做回環地址?就是自己訪問自己。下面"Operation not permitted"表示操作不被允許,因為被默認策略DROP了。

1.2 方式二:INPUT、OUTPUT鏈增加一條規則當默認策略,當前面規則都匹配不到,匹配到這一條拒絕所有封包

提示:這樣設定的好處是如果不小心執行了iptables -F還是可以使用ssh連到本機,因為鏈的默認策略是ACCEPT,若是方式一則只能使用console連本機了。

提示:如果沒開啟核心轉發,則FORWARD鏈可以不用設定。

1.3 方式三:INPUT、OUTPUT鏈增加一條規則當默認策略,當前面規則都匹配不到,匹配到這一條拒絕所有封包

提示:同方式二,這樣設定的好處是如果不小心執行了iptables -F還是可以使用ssh連到本機,因為鏈的默認策略是ACCEPT。只是這裡以網卡為基準設定,簡潔了方式二如果一張網卡上很多地址時就要設定多條。

提示:如果沒開啟核心轉發,則FORWARD鏈可以不用設定。

2. 默認設定為白名單情況下,允許本機能ping外部主機192.168.128.191

3. 默認設定為白名單情況下,允許外部主機192.168.128.1能ping本機

4. 單port設定:默認設定為白名單情況下,允許外部主機192.168.128.191能訪問本機SSH服務

5. 默認設定為白名單情況下,允許外部主機192.168.128.1能來訪本機TCP協議的服務

6. 多port設定:默認設定為白名單情況下,允許外部主機192.168.128.1能訪問本機SSH、WEB服務、100~200 port、400~500 port

7. 多IP設定:默認設定為白名單情況下,允許外部主機192.168.128.1~192.168.128.50能來訪本機SSH服務

8. 限時訪問

注意:遵循世界時間UTC時鐘去設定,例如Asia/Taipei是CST, +0800,所以台灣時間減去8小時就是世界時間UTC時鐘。

8.1 默認設定為白名單情況下,允許外部主機192.168.128.1在早上8:00到下午17:00期間能訪問本機SSH服務

台灣時間早上08:00:00到下午17:00:00是世界時間00:00:00-09:00:00。

8.2 默認設定為白名單情況下,允許外部主機192.168.128.1在禮拜一到禮拜五能訪問本機SSH服務

8.3 默認設定為白名單情況下,允許外部主機192.168.128.1在每月的1~5號、20號、29~月底能訪問本機SSH服務

提示:有的月有30天有的月有31天,故到月底的話允許到最長的那一號。

8.4 默認設定為白名單情況下,允許外部主機192.168.128.1在2020/10/16 00:00:00到2020/10/31 23:59:59期間的六、日能訪問本機SSH服務

提示:記得以世界時間UTC時鐘去設定。

9. 連接數限制

9.1 默認設定為白名單情況下,允許每個外部主機能連入本機SSH服務最多2個請求數

提示1:默認設定為黑名單情況下,則設定方式不一樣。
提示2:只需要寫INPUT鏈就好,因為請求進不來了何來出去呢?

10. 封包發送速度限制