本文章內容:
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. 封包發送速度限制