作者 主題: netfilter的一些問題  (閱讀 5753 次)

0 會員 與 1 訪客 正在閱讀本文。

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
netfilter的一些問題
« 於: 2001-12-26 11:18 »
netman大哥好,
日前在網路上看到一些關於netfilter的英文文章,尤於剛接觸linux不久,對於一些概念,希望netman大哥能指導一下:

1.iptables有五個基本的target:
  A.ACCEPT      accept the packet
  B.DROP          drop the packet
  C.QUENE        queue packet to userspace
  D.RETURN       return to the calling chain
  E.foobar           user defined chain

  請問queue packet to userspace是什麼意思?我把它翻成"把封包一個個排隊,然後 送到使用者空間程式去",不知這樣翻對不對,      還有什麼是usrspace process?
它和  kernel process有什麼不同?

 2.iptables 對於封包過濾的匹配(match)擴充(extensions)裡有兩項搞不懂:
   A.MARK match extension to match nfmark
   B.OWNER match extension to match usr id,group id,process id,session id
 
   原文是這樣子的:
   MARK
           set the value of the nfmark field
           We can change the value of the nfmark field .The nfmark is just a user defined mark of the packet.The mark value is used to do policy routing,tell ipqmpd (the userspace queue mutiplex daemon)which process to queue the packet to,etc.

  Example: iptables -t mangle -A PRERTOUING -j MARK -set-mark 0x0a -p tcp

  請教netman大哥:
         nfmark區域是存在於 TCP標頭或 IP標頭嗎?上面這一句說,nfmark只是使用者自行對封包定義的一個標記(mark),且這個標記是用來做policy routing,它會告訴
ipqmpd要用那個process來使封包排隊.....
         請問policy routing是 什麼?
        ipqmpd是做什用的
     (the userspace queue mutiplex daemon-----一個使用者空間的排隊用的多工背景程式....這句話是什麼意思呢?)
         把封包排隊要做什麼呢?跟防火牆有什麼關係呢?


3.我把裡面的文章節選出來,先自行翻了一下:(不知翻得對不對)
  a.At any tim in any netfilter chain,the packet can be queued to userspcae process.
    它說,在任何時候的任何一條netfilter的鏈上,可把封包排隊到使用者空間程序.
   b. The process can do whaterver it wants to do with the packet.
     這程序能對排隊而來的封包做任何事.
  c.After the userspace process is done with its work on the packet,it can either reinject the packet into the kernel ,or set v verdict(DROP,...)what to do with the packet.
    在使用者空間程序對封包做了它想做的事後,可以把封包再注入核心,或者把封包DROP掉....等等...
   d.This is one key technology of netfilter,enabling to do complicated packet handling by userspace process. Thus,preventing more complexity in the kernel space.
    這是netfilter一個主要的技術,它使得我們能用使用者空間程序來做複雜的封包的處理.如此一來,能避免掉核心空間的複雜性.

    請教netman大哥:看完了這一段實在還是不曉得在講什麼,可否請netman大哥稍微講解一下,因為才剛摸linux不到一個月,實在是看不懂這麼多,

Anonymous

  • 訪客
netfilter的一些問題
« 回覆 #1 於: 2001-12-26 12:57 »
1)
QUEUE 有人翻譯為佇列。在 iptables 是將封包轉給本機程式處理。

2)
policy routing 是路由設備處理封包的依據﹐例如 TOS (type of service) 這些。
nfmark 我不清楚在哪裡﹐我猜是在 TOS 欄位中。
ipqmpd (the userspace queue mutiplex daemon) 是說 ipqmpd 是一個分封佇列服務程式 (您要了解 kernel 對 momory 的管理﹐才知道 userspace 和 kernel space 的分別﹔而 mutiplex 不是多工處理的意思﹐而是網路上的傳輸技術﹐例如 TDM﹑FDM 之類的)
天曉得您打算如何用這個 ipqmpd 來做什麼呢﹖看你要怎麼設定 ipqmpd 囉~~ (因為﹐我也不知道 ipqmpd 是什麼? :smile:

3)
回到我一向以來的主張﹕如果任何人對 TCP/IP 的原理﹑封包結構不熟識的話﹐最好不要碰防火牆和 NAT 。
您現在問的問題﹐基本上與 linux 無關﹐都是底層的 TCP/IP 知識而已。我建議您看看如下的聯結﹐將自己還不牢固的知識補習補習﹐然後﹐我相信﹐上面的問題您自己就會回答了(目前問題可集中在 IP 協定的 TOS )。如果要我來說的話﹐很難用三言兩語將上千頁的書本知識濃縮起來啦。簡單而言﹕那都是如何修改封包﹐然後丟給服務程式處理而已。
聯結如下﹕
http://www.study-area.org/tips/net_books.htm

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
netfilter的一些問題
« 回覆 #2 於: 2001-12-26 13:23 »
您好 ,我不是 netman , 但我想和您一起討論這個內容,可以嗎 ??

有 一點我想如果您這樣思考,應該可以了解大部份的問題,userspace process
可解釋為使用者自定的 chain , or queue ,

第二,policy routing,是指 adv routing 時使用的,原本我們的 Linux
都只有 一個 routing table ,但是透過 policy routing , 您可以有多個routing
table , 然後可以指定 pocket 依 policy 的原則走不同的 routing table

我這裡有一個例子 : 我有兩條固接的 adsl 同時接到這台 Linux 上
這時我就有 兩個真實的網段和 default gateway 了,我可以設定
eth1 的 defautl gateway 是 adsl1 的 gateway , eth2 的 default gateway
是 adsl2 的 gateway