linux下ftpクライアントアクティブモード設定

5844 ワード

ftpアクティブモードとパッシブモードの違い実施背景:会社データバックアップサーバ(SYSTEM:WINDOWS SERVER 2003)、データ収集方式:FTPアップロード方式.セキュリティ上の考慮に基づいて、サーバはftpサービスに基づくtcp 20、21ポートデータストリームのみを通過させることができる.ftpアクティブモードとパッシブモードの違い
実施背景:会社データバックアップサーバー(SYSTEM:WINDOWS SERVER 2003)、データ収集方式:FTPアップロード方式.セキュリティ上の考慮に基づいて、サーバはftpサービスに基づくtcp 20、21ポートデータストリームのみを通過させることができる.FTPモード説明:FTPはTCPベースのサービスで、2つのポート、1つのデータポート、1つのコマンドポート(制御ポートとも呼ばれる)を使用します.固定コマンドポート:21データポート:(接続モードに依存)20または>1024他のポートアクティブFTPアクティブ方式のFTPは、クライアントが任意の非特権ポートN(N>1024)からFTPサーバのコマンドポート、すなわち21ポートに接続される.その後、クライアントはポートN+1の傍受を開始し、FTPコマンド「port N+1」をFTPサーバに送信する.次に、サーバは、自身のデータポート(20)からクライアントが指定したデータポート(N+1)に接続する.FTPサーバの前面のファイアウォールでは、アクティブなFTPをサポートするには、以下の通信を許可する必要があります.
  • 任意のポートからFTPサーバへの21ポート(クライアント初期化接続S
  • FTPサーバの21ポートから1024より大きいポート(サーバ応答クライアントの制御ポートS->C)
  • へ.
  • FTPサーバの20ポートから1024より大きいポート(サーバ側初期化データがクライアントに接続するデータポートS->C)
  • .
  • は、1024ポートからFTPサーバへの20ポートより大きい(クライアントがサーバへのACK応答を送信するデータポートS)

  • まとめ:コマンド接続:クライアント>1024ポート->サーバ21ポートデータ接続:クライアント>1024ポート
    パッシブFTPは,サーバがクライアントへの接続を開始する問題を解決するために,異なるFTP接続方式を開発した.これはいわゆるパッシブ方式、あるいはPASVと呼ばれ、クライアントがサーバにパッシブモードであることを通知したときに有効になります.
    パッシブ方式FTPでは、コマンド接続とデータ接続がクライアントによって行われるため、サーバからクライアントへのデータポートの入方向接続がファイアウォールによってフィルタリングされるという問題を解決することができる.FTP接続をオンにすると、クライアントは2つの任意の非特権ローカルポート(N>1024およびN+1)をオンにする.最初のポートはサーバの21ポートに接続されているが、アクティブなFTPとは異なり、クライアントはPORTコマンドを発行し、サーバがデータポートに接続できるようにするのではなく、PASVコマンドを発行する.その結果、サーバは任意の非特権ポート(P>1024)を開き、PORT Pコマンドをクライアントに送信する.そして、クライアントは、ローカルポートN+1からサーバへのポートPへの接続を開始してデータを転送する.
    サーバ側のファイアウォールでは、パッシブ方式のFTPをサポートするには、次の通信を許可する必要があります.
  • 任意のポートからサーバへの21ポート(クライアント初期化接続S
  • サーバの21ポートは、1024より大きい任意のポート(クライアントの制御ポートへの接続S>Cに応答するサーバ)
  • に接続される.
  • 任意のポートからサーバへの1024より大きいポート(イン;クライアント初期化データはサーバが指定した任意のポートSに接続される
  • サーバの1024より大きいポートから遠隔の1024より大きいポート(出;サーバはACK応答とクライアントのデータポートS->Cにデータを送信)
  • .
    まとめ:コマンド接続:クライアント>1024ポート->サーバ21ポートデータ接続:クライアント>1024ポート->サーバ>1024ポート上記の基本的な説明に従って、わかります.バックアップデータのアップロードを改善するには、アクティブモード接続を使用するしか成功しません.以下に、各クライアントのデフォルト接続方法の説明とアクティブモードの変更方法を示します.
    各クライアントのデフォルト接続方式説明:1、IEブラウザアクセス方式------àパッシブモード2、Linux文字接続------àパッシブモード3、Windows文字接続------àアクティブモード
    IE FTP接続方式をアクティブ方法に変更する:ツール—インターネットオプション—アドバンス—パッシブFTP(チェックを外す)------OK Linuxでftp接続方式をアクティブに変更する:ftpが正常に接続した後に入力:passiveはpassiveモードをオフにすればよい.
    事例は以下の通りである.
    	 Remote system type is Windows_NT. 
    	ftp> ls 
    	227 Entering Passive Mode (192,168,6,23,4,10). 
    	ftp: connect: Connection refused 
    	ftp> passive 
    	Passive mode off. 
    	ftp> ls 
    	200 PORT command successful. 
    

    バックアップ計画全体がshellで完了したためです.だからwindowsの下で何の変更もしません.Linuxの下では少し変更する必要があります.実際の操作は次のとおりです.shellアップロードスクリプトの一部を変更します.
    	ftp -inv <<EOF 
    	open 192.168.x.xx 
    	user username password 
    	passive 
    	binary 
    	cd bakdir 
    	mput ${backname}* 
    	mdelete ${backname}${olddate}.tgz 
    	EOF 
    

    ファイアウォールポリシーを変更します.以下を追加します.

    vi /etc/sysconfig/iptables

    	-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --sport 20 -j ACCEPT 
    	-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --sport 21 -j ACCEPT 
    

    ファイアウォールを再起動して有効にします!!
    第2部、ftpアクティブモードとパッシブモードの違いはどれらがあります
    ftpアクティブモードとパッシブモードの違いはいつも覚えられない.後で調べるためにここに置いておきます.
    ftpはtcpベースのサービスでありudpはサポートされていない.ユニークなのはftpが2つのポート、1つのデータポート、1つのコマンドポート(制御ポートとも呼ばれる)を使用することです.通常、この2つのポートは21(コマンドポート)と20(データポート)です.しかしftpの動作方式の違いは、データポートが必ずしも20ではない.これがアクティブとパッシブftpの最大の違いです.
    (一)アクティブFTPアクティブ方式のFTPは、クライアントが任意の非特権ポートN(N>1024)からFTPサーバのコマンドポート、すなわち21ポートに接続される.その後、クライアントはポートN+1の傍受を開始し、FTPコマンド「port N+1」をFTPサーバに送信する.次に、サーバは、自身のデータポート(20)からクライアントが指定したデータポート(N+1)に接続する.
    FTPサーバの前面のファイアウォールでは、アクティブなFTPをサポートするには、以下の通信を許可する必要があります.
  • 1024より大きいポートは、FTPサーバの21ポートにある.(クライアント初期化接続)
  • FTPサーバの21ポートから1024より大きいポートへ.(サーバ応答クライアントの制御ポート)
  • FTPサーバの20ポートから1024より大きいポートへ.(サーバ側初期化データがクライアントに接続するデータポート)
  • は、1024ポートからFTPサーバへの20ポート(クライアントがサーバに応答するACKを送信するデータポート)
  • より大きい.
    二)パッシブFTPは、サーバがクライアントへの接続を開始する問題を解決するために、異なるFTP接続方式を開発した.これはいわゆるパッシブ方式、あるいはPASVと呼ばれ、クライアントがサーバにパッシブモードであることを通知したときに有効になります.パッシブ方式FTPでは、コマンド接続とデータ接続がクライアントによって開始されるので、サーバからクライアントへのデータポートの入方向接続がファイアウォールによってフィルタリングされる問題を解決することができる.FTP接続をオンにすると、クライアントは2つの任意の非特権ローカルポート(N>1024およびN+1)をオンにする.最初のポートはサーバの21ポートに接続されているが、アクティブなFTPとは異なり、クライアントはPORTコマンドを発行し、サーバがデータポートに接続できるようにするのではなく、PASVコマンドを発行する.その結果、サーバは任意の非特権ポート(P>1024)を開き、PORT Pコマンドをクライアントに送信する.そして、クライアントは、ローカルポートN+1からサーバへのポートPへの接続を開始してデータを転送する.
    サーバ側のファイアウォールでは、パッシブ方式のFTPをサポートするには、次の通信を許可する必要があります.
  • 1024より大きいポートからサーバへの21ポート(クライアント初期化接続)
  • サーバの21ポートから1024より大きいポート(クライアントの制御ポートへの接続に応答するサーバ)
  • へ.
  • 1024より大きいポートからサーバへの1024より大きいポート(クライアント初期化データはサーバが指定する任意のポートに接続される)
  • .
  • サーバーの1024より大きいポートから遠隔の1024より大きいポート(サーバーがACK応答とデータをクライアントに送信するデータポート)以上のアクティブとパッシブFTPに関する解釈は、以下の2点に簡単にまとめることができる:1、アクティブFTP:コマンド接続:クライアント>1024ポート->サーバー21ポートデータ接続:クライアント>1024ポート2、パッシブFTP:コマンド接続:クライアント>1024ポート->サーバ21ポートデータ接続:クライアント>1024ポート->サーバ>1024ポート
  • 三)アクティブとパッシブFTPの長所と短所:アクティブFTPはFTPサーバーの管理に有利であるが、クライアントの管理に不利である.FTPサーバがクライアントの上位ランダムポートに接続しようとしているため、このポートはクライアントのファイアウォールによってブロックされる可能性が高い.パッシブFTPはFTPクライアントの管理に有利であるが,サーバ側の管理には不利である.クライアントはサーバ側と2つの接続を確立するため、そのうちの1つは上位ランダムポートに接続され、このポートはサーバ側のファイアウォールによってブロックされる可能性が高い.