首先要了解一下網路封包的路線
在iptable裡面能設置的有「3 tables , 5 chains(三表五鏈)」
參考鳥哥的示意圖
大概就是每張表裡有不同鏈,每條鏈裡又有不同規則
比較常用到的大概就是直接對IP進行限制
又或者對一些端口(SSH、郵件、服務)放行
設置這些基本規則並無法完全防禦外部攻擊,必須仰賴其他工具相輔相成
【-大概認識一下命令語句-】
指定表、指定鏈、指定規則-I 第一條 insert-A 最後一條 add-R 數字:替換修改第幾條 replays-D 數字:刪除第幾條-F 清空流入流出 -i -o來源目的(地址) -s -d協議類型 -p來源目的(端口) --sport --dport動作ACCEPT 通過DROP 丟棄SNAT 來源地址轉換DNAT 目標地址轉換MASQUERADE 全部轉換附加模塊state 按包狀態匹配mac 按來源mac地址匹配limit 按包速率匹配multiport 多端口匹配狀態:NEW , RELATED , ESTABLISHED , INVALID
【-直接開始實作-】
安裝
yum -y install iptablesyum -y install iptables.services
啟用
systemctl enable iptables
開始
systemctl start iptables
重開
systemctl restart iptables
查看狀態(ctrl+c離開)
systemctl status iptables
查看這台主機的網路接口
ip a
查看路由表(這台測試機暫無開啟路由功能)
netstat -rn
查看配置文件(目前是默認的規則)
第一條:放行狀態為RELATED及ESTABLISHED的封包
第二條:icmp是接受被外部ping
第三條:lo是接受環回介面
剩下的幾條留到後面一起實作吧
ls /etc/sysconfig/iptablescat /etc/sysconfig/iptables
試著加入一條規則
iptables -A INPUT -i enp0s3代表匹配這張網路卡
-s(source)來源地址如果是蝦皮網站的話,就DROP丟棄封包
結果就是進入蝦皮網站的時候會變成無限轉圈圈
如果有多個ip想加入黑名單管理可配合安裝yum install ipset
iptables -A INPUT -i enp0s3 -s shopee.tw -j DROP
一次放行多個端口
假使開發團隊架設了許多服務需要一次打開
iptables -A INPUT -p tcp -m multiport --dports 20,21,22,23 -j ACCEPT
查看規則清單
iptables -L -nv
修改之後記得要保存規則
service iptables save
保存到的位置是
/etc/sysconfig/iptables
清除規則(範例是清除由上數下來的第二條)
iptables -D INPUT 2
⚠慎用⚠ 清「空」默認的filter表的規則
iptables -F
⚠慎用⚠ 清「空」nat表的規則
iptables -t nat -F