使用者工具

網站工具


linux:netfilter

NetFilter防火牆(未完成...)

先正名:NetFilter就是俗稱的iptable。事實上,iptable只是Linux防火牆的一個介面,真正幕後運作是以Kernel-Base的NetFilter,它是Linux kernel的一部分,因此執行效能是當然很好。

看圖說故事:

圖片來源:RedHat - Security Guide

  • chain:就是圖中藍色部分。

iptables Syntax

  • 往下新增規則 iptables -t [filter|nat|mangle] -A CHAIN <rule> -j <ACCEPT|DROP|REJECT>
  • 指定在第幾筆往上插入規則 iptables -t [filter|nat|mangle] -I CHAIN number <rule> -j <ACCEPT|DROP|REJECT>
  • 指定刪除第幾筆規則 iptables -D CHAIN number
  • 刪除指定CHAIN的所有規則 iptables -F CHAIN

iptables 之 rule Syntax

  • 來源ip或網域:
    -s 192.168.1.55 
    或 -s 192.168.1.0/24
  • 目地ip或網域:
    -d 192.168.1.55
    或 -d 192.168.0.0/24
  • udp/tcp 及來源阜口及目的阜口
    -p <udp|tcp> --dport portNmuber 或 -p <udp|tcp> --sport portnumber
  • icmp
    -p icmp --icmp-type  icmp類型
  • 進出介面
    -i eth0 (從哪個介面進來)  或  -o eth0 (從哪個介面出去)
  • 連線追蹤
    -m state --state <NEW|ESTABLISHED|RELATED|INVALID>
    NEW 建立連線的狀態
    ESTABLISHD 已成功連線的狀態
    RELATED   封包是與我們主機發送出去的封包有關 ; 常和 ESTABLISHD,RELATED 一起運用
    INVAL  無效的封包,例如資料破損的封包狀態

參考資料

linux/netfilter.txt · 上一次變更: 2013/07/06 01:28 (外部編輯)