2022年4月28日 星期四

[Linux] iptables

filter table

  • INPUT
  • OUTPUT
  • FORWARD

nat table

  • PREROUTING
  • POSTROUTING
  • OUTPUT
  • mangle table
  • PREROUTING
  • OUTPUT
  • FORWARD
  • INPUT
  • POSTROUTING

raw table

  • PREROUTING
  • OUTPUT

1. 建立一個名為PROC_LOG的chain.
iptables -N PROC_LOG
-N: 新增chain PROC_LOG
-X: 刪除chain PROC_LOG


2. 新增rule到chain OUTPUT,用port 443過濾瀏覽器瀏覽https網頁並導到chain PROC_LOG.
iptables -I OUTPUT -p tcp --dport 443 -j PROC_LOG
-p (Protocol): tcp, udp ,icmp, all
--dport (Destination Port): 目的port
-j (jump): 前面條件達成後跳到chain PROC_LOG


3. 新增rule到chain PROC_LOG,其目的是把慮到的結果存到log檔裡面.
iptables -A PROC_LOG -j LOG --log-prefix "--- Find 443 Port: "
-A (Append): 若在同個chain下有很多rule, -A是加到最後面
-I (Inset): 同上,但是是加到最前面
 (也可以指定要加在第幾個rule,加在第二個: -I PROC_LOG 2)
--log-prefix: 在log前面加上特定的開頭方便辨認




4. log存放位置(不同版本的Linux位置可能不同).
cat /var/log/kern.log
-------------



●列出所有規則並在前面加上行號
iptables -L INPUT -n --line-numbers
●要刪除某一行的規則
iptables -D INPUT 2 //刪除第二行
●查看iptables當前設定
iptables -nvL


●擋掉(Deny)特定網站
iptables -I INPUT -m string --string "udn" --algo bm -j DROP
●Allow特定網站: 1.設定URL, 2. DROP DNS port 53 
iptables -I INPUT -p udp --dport 53 -j DROP 
iptables -I INPUT -m string --string "udn" --algo bm -j ACCEPT


Linux查DNS是先到127.0.0.53查,查不到再去8.8.8.8查?







---------------
iptable extension module
NFQUEUE: 將封包轉傳給使用者自行撰寫的程式作後續操作.



-----------------
ALG module



沒有留言:

張貼留言