所以我們要定義,讓進來的進來,讓出去的出去,所以通,是要全通,而堵,则是要选择。當我們定義的策略的時候,要分別定義多條功能,其中:定義數據包中允許或者不允許的策略,filter過濾的功能,而定義地址轉換的功能的則是nat選項。為了讓這些功能交替工作,我們制定出了“表”這個定義,來定義、區分各種不同的工作功能和處理方式。 檢查規則的時候,是按照從上往下的方式進行檢查的。
我們修改報文原數據就是來修改TTL的。能夠實現將數據包的元數據拆開,在裡面做標記/修改內容的。而防火牆標記,其實就是靠mangle來實現的。
參數 | 作用 |
---|---|
-P | 設置默認策略:iptables -P INPUT (DROP) |
-F | 清空規則鏈 |
-L | 查看規則鏈 |
-A | 在規則鏈的末尾加入新規則 |
-I | num 在規則鏈的頭部加入新規則 |
-D | num 刪除某一條規則 |
-s | 匹配來源地址IP/MASK,加嘆號"!"表示除這個IP外。 |
-d | 匹配目標地址 |
-i | 網卡名稱匹配從這塊網卡流入的數據 |
-o | 網卡名稱匹配從這塊網卡流出的數據 |
-p | 匹配協議,如tcp,udp,icmp |
--dport num | 匹配目標端口號 |
--sport num | 匹配來源端口號 |
<-i/o 網卡名>:通常在LINUX中擁有網路連線的網卡做選擇。如: eth0、enp0s3。
-p 協議名:1. Icmp、2. Tcp、3. Udp、4. All
-s 源IP/網路:封包來源的IP位置或網路區段,網路區段通常設定在區域網路
埠(PORT) | 名稱 |
---|---|
80Port | HTTP |
443Port | HTTPS |
25Port | SMTP |
53Port | DNS |
21Port | FTP |
23Port | Telnet |
iptables -A INPUT -s 140.113.235.151 -d [你自己的IP] -j REJECTED
ssh內部網路只允許單一管理者
iptables -A INPUT -o eth0 -p tcp -s [$FW_IP] --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT //管理者IP位置允許進入
iptables -A INPUT -o eth0 -p tcp --dport 22 -j REJECT //非管理者使用ssh即拒絕存取
telnet內部網路只允許單一管理者
iptables -A INPUT -o eth0 -p tcp -s [$FW_IP] --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT //管理者IP位置允許進入
iptables -A INPUT -o eth0 -p tcp --dport 23 -j REJECT //非管理者使用telnet即拒絕存取
iptables -I INPUT -p tcp --syn --dport 25 -m connlimit --connlimit-above 4 -j REJECT --reject-with tcp-reset
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j REJECT --reject-with tcp-reset