熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows服務器 >> 正文

解決Linuxiptables防火牆和vsftpd的疑問

2022-06-13   來源: Windows服務器 

  最近在研究Linux下Firewall的配置發現配置好防火牆以後ftp就有問題了一直都不能夠用Filezilla 和 CuteFTP登錄在列出目錄的時候一直會失敗但是在命令行下面如果先執行passive off一切正常

  答案在CU上找到的主要是要使用 ip_conntrack_ftp

  /bbs/viewthreadphp?tid=>

  原文

  使用 P INPUT DROP 引起的網路存取正常但是 ftp 連入卻失敗?

  依據前面介紹方式只有開放 ftp port 服務其他都禁止的話一般會配置使用

  iptables P INPUT DROP

  iptables A INPUT m state state ESTABLISHED j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  iptables P INPUT DROP

  iptables A INPUT m state state ESTABLISHED j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  這樣的配置確認 ftp 用戶端是可以連到 ftp 主機並且看到歡迎登入畫面不過後續要浏覽檔案目錄清單與檔案抓取時卻會發生錯誤

  ftp 協定本身於 data channnel 還可以區分使用 active mode 與 passive mode 這兩種傳輸模式而就以 passive mode 來說最後是協議讓 ftp client 連結到 ftp server 本身指定於大於 port 的連接埠傳輸資料

  這樣配置在 ftp 傳輸使用 active 可能正常但是使用 passive mode 卻發生錯誤其中原因就是因為該主機firewall 規則配置不允許讓 ftp client 連結到 ftp server 指定的連結埠才引發這個問題

  要解決該問題方式於 iptables 內個名稱為 ip_conntrack_ftp 的 helper可以針對連入與連外目的 port 為 的 ftp 協定命令溝通進行攔截提供給 iptables 設定 firwewall 規則的配置使用開放做法為

  modprobe ip_conntrack_ftp

  iptables P INPUT DROP

  iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

  iptables A INPUT i lo j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  modprobe ip_conntrack_ftp

  iptables P INPUT DROP

  iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

  iptables A INPUT i lo j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  其中 m state 部分另外多了 RELATED 的項目該項目也就是狀態為主動建立的封包不過是因為與現有 ftp 這類連線架構會引發另外才產生的主動建立的項目

  不過若是主機 ftp 服務不在 port 的話請使用下列方式進行調整

  CODE:

  modprobe ip_conntrack_ftp ports=

  iptables P INPUT DROP

  iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

  iptables A INPUT i lo j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  modprobe ip_conntrack_ftp ports=

  iptables P INPUT DROP

  iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

  iptables A INPUT i lo j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  iptables A INPUT p tcp dport j ACCEPT

  也就是主機本身提供 ftp 服務分別在 port 讓 ip_conntrack_ftp 這個 ftp helper 能夠正常提供 ftp 用戶端使用 passive mode 存取而不會產生問題


From:http://tw.wingwit.com/Article/os/fwq/201405/31012.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.