• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 解決通過nat的ftp無法列表問題

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    登陸 linux 的ftp 服務器 沒問題,只是登陸 windows 的有問題,當列表時無法列出. 解決通過nat的ftp無法列表問題: 登陸linux的ftp服務器沒問題,只是登陸 windows 的有問題,當列表時無法列出. modprobe ip_nat_ftp 時出現: modprobe: Too deep recursion in modu
    登陸linux的ftp服務器沒問題,只是登陸windows的有問題,當列表時無法列出.

    解決通過nat的ftp無法列表問題:
    登陸linux的ftp服務器沒問題,只是登陸windows的有問題,當列表時無法列出.

    modprobe ip_nat_ftp 時出現:

    modprobe: Too deep recursion in module dependencies!
    modprobe: Circular dependency? ip_nat_proto_udp ip_conntrack ip_nat_core ip_nat_helper ip_nat_ftp
    已經放棄
    用insmod ip_nat_ftp 后就解決問題.


    之后找了些資料.他們是這樣討論的:

    加載模塊:
    modprobe ip_tables
    insmod ip_conntrack
    insmod ip_conntrack_ftp
    insmod ip_nat_ftp

    關于有狀態功能,重點在于后三個模塊:
    ip_conntrack模塊能夠使防火墻具有連接跟蹤能力。(通過輸入 "cat /proc/net/ip_conntrack" 可以查看您的機器參與的活動網絡連接。)

    加載這個模塊后,基本上所有有狀態的返回包都能識別,例:telnet,http,QQ,mail,ping,dns等。

    實際上,加載了ip_conntrack模塊,ftp已經能夠登陸,并能使用象pwd,cd等命令,但當使用ls命令顯示文件內容時,就會timeout。原因在于

    顯示文件列表的包防火墻無法識別,就會進入默認策略----禁止,此時就需要加載ip_conntrack_ftp模塊。

    ip_conntrack_ftp模塊使防火墻能夠識別FTP某類特殊的返回包。

    如果防火墻上對所有出去的返回包作了偽裝,就需要加載ip_nat_ftp模塊。
    ip_nat_ftp模塊在出去的包作了偽裝以后,必須加載,否則防火墻無法知道返回的包該轉發到哪里。


    http://www.chinaunix.net/jh/4/517901.html
     網中人 回復于:2005-03-29 15:22:36
    在做試驗之前, 可先用所學的基礎來論證一下, 將更有助理解.

    首先要理解前面 platinum 兄貼的說明, 也就是關於 ftp 的兩種連線模式.
    然後再來區分出 port command 的內容是在 ftp packet 內的, 而不是記錄在 tcp/ip header 內.
    當我們的 firewall/nat 在沒有 modules 幫忙的情況下,
    只會檢查及修改 tcp/ip header 的內容而不會去理會 ftp packet 的內容.
    如此, 在 ftp active mode 下,
    當來自 ftp server port 20 的 NEW packet 到達 firewall/nat 時, 
    由於沒有連線記錄也沒預先開好的規則讓 packet 通過, 那這時 ftp-data channel 就會斷掉.
    若有 ip_conntack_ftp module 的幫忙, firewall 還會對所有 port 21 相關的 tcp packet 展開查看裡面的 ftp packet.
    如發現有 port command, 那可事先為這個 RELATED 連線開通規則, 讓 ftp-data packet 穿過 firewall .

    然而 conntrack module 只是監控連線, 不會對 packet 做任何的修改.
    這在 direct-routing 環境下的 firewall 就夠用了.
    但是在 nat 環境下呢?
    先讓我們看看 ftp packet 裡的 port command 所使用的 address : 
    是使用 nat 之後的外部地址還是 nat 之前的內部地址呢?
    假如沒有 ip_ftp_nat module 的幫忙, 那肯定是使用 nat 之前的內部地址.
    這樣, 請問另一端的 server/client 的 ftp-data packet 要送到哪裡去?
    呵, 當然是送到內部地址去啦. 但, 這在 internet 上是行不通的. 或根本就送錯地方而遭 reset !
    okay, 如此, 怎才能讓另一端的 packet 送回這端的外部地址? 且還能改回到正確的內部地址去呢?
    答案呼之欲出---就是 ip_nat_ftp 要做的事情!
     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>