vsftpdのをサーバロードバランシングのためのHAproxy

私はセットアップこれまでのところ、それはのように見えているHAProxyやランニングvsftpdのFTPサーバが正常に確立された2つの負荷分散環境を使用しています

 

エージェント:ftp00 | 192.168.2.135(パブリック、eth0の )| 10.11.130.1( プライベート、eth1の)
Node01:ftp01 | 10.11.130.140
とnode02:ftp02 | 10.11.130.141

オペレーティングシステム:CentOSの6.6
HAエージェント:2014年7月12日バージョン1.5.2
vsftpdは:バージョン2.2.2

ftp00:/etc/haproxy/haproxy.conf

#------------------------------------------------- --------------------
 #GLOBAL CONFIG
 #-------------------------- ------------------------------------------- 
グローバル
    デーモンログ 127.0。0. 1 ローカル0情報ログ127.0。0 1 LOCAL1通知ログ127.0。0 1 local5デバッグchroot環境の/ var / libに/ haproxy pidファイル/var/run/haproxy.pid MAXCONN 4000ユーザーhaproxyグループhaproxyの統計上の#ターンUNIXソケットの統計のソケットを/ var / libに/ haproxy /統計#------ -------------------------------------------------- ------------- #デフォルトCONFIG
    #------------------------------------------------- --------------------デフォルトは再試行dontlognullグローバルモードTCPオプションtcplogオプションログMAXCONN tcpka 3オプションの再ディスパッチ・オプション2000 contimeout 5000 ----------#を-------------------------------------------------- --------- #POOL CONFIGの#------------------------------------- -------------------------------- FTP-ポンド聞くバインド192.168。2.135:21モードTCPオプションtcplogバランスラウンドロビンサーバーftp01 10.11。130.140:21重量10 minConn値30 MAXCONN 千チェックサーバftp02 10.11。130.141:21重量10 minConn値30 MAXCONN 千チェック#--------------------------------------------- ------------------------ #HAPROXYダッシュボードCONFIG #--------------------- ------------------------------------------------ 統計情報を聞きますバインド192.168。2.135:81モードのHTTP統計は、統計情報がリフレッシュ有効30のパスワード:■統計は統計URI /統計情報統計情報認証管理ノードを示し、

ftp00:、/ etc / sysconfig / iptables内[こちら]が見つかり

* NAT 
:PREROUTINGはACCEPT [7:724] 
:[300 5] POSTROUTINGはACCEPT 
:OUTPUTはACCEPT [5:300] 
-A PREROUTINGが-d 192.168.2.135/32 -i eth1の-p TCPの-mのTCP --dport 12001: 14000 -j DNAT --to-先10.11.130.140 
-A PREROUTINGは192.168.2.135/32 -i eth1の-pのtcp -mのTCP -d 18000 -j DNAT --to-先10.11.130.141:16001 --dport 
-AをPOSTROUTING -s 10.11.130.140/32 -o eth1の-j SNAT --to-ソース192.168.2.135 
-A POSTROUTINGは10.11.130.141/32 -o eth1の-j SNAT -s --to-ソース192.168.2.135は *フィルタをCOMMIT:INPUTがACCEPT [ 0:0]:FORWARD ACCEPT [ 0:0]:[OUTPUTはACCEPT :732 64731] -A INPUT -m状態--state関連確立-j -A ACCEPT -p ICMP -j INPUTは-A ACCEPT INPUT -i LO -j ACCEPT -A 状態-m TCP -p INPUT --state NEW -m TCPは-j ACCEPT 22 --dportを-AのINPUT TCP -m状態-p --state NEW -m TCPは21 -J -A ACCEPT --dport 状態-m TCP -p INPUT --state NEW -m TCPは-J -A ACCEPT 81 --dport 入力- jはREJECT --reject-でICMPホスト禁止-A FORWARD -j REJECT --reject-でICMPホスト禁止COMMIT

ftp01:/etc/vsftpd/vsftpd.conf

#------------------------------------------
 #GENERAL CONFIG
 #--- ---------------------------------------
 anonymous_enableの= NO local_enable = YES WRITE_ENABLE = YES local_umask = 022 dirmessage_enable = YES pam_service_name = vsftpdの#------------------------------------------ #LOG CONFIG #------------------------------------------ xferlog_enable = YES xferlog_std_format = NO log_ftp_protocol = YES #------------------------------------------ #USER WHITELIST #------------------------------------------ userlist_enableの= YES userlist_deny = NO userlist_file =の/ etc / vsftpdは/ user_list#------------------------------------------ #パッシブモードCONFIGの# - ---------------------------------------- #TCP_WRAPPERS = YES pasv_enable = YES port_enable = YES pasv_min_port = 12001 pasv_max_port = 14000 pasv_address = 192.168.2.135 pasv_addr_resolve = NO connect_from_port_20 = YES #-------------------------------- ---------- #を追加しましたが、内部だけのアドレスを聞く#-------------------------------- ---------- 聞く= YES listen_address = 10.11.130.140の#------------------------------- ---------- #BANNER CONFIG #------------------------------------ ----- banner_file =の/ etc / vsftpdは/問題

ftp01:、/ etc / sysconfig / iptables内

*フィルタ
:INPUTがACCEPT [ 0:0] 
:FORWARD ACCEPT [ 0:0]  :OUTPUTはACCEPT [ 0:0] -A INPUT -p TCP - m個の状態- NEWを述べる- m個のTCPを- m個のマルチは--dports 12001を:- 14000 -A INPUT ACCEPT -j m個の状態- 状態がESTABLISHEDを、関連-p ICMP -J -A入力を受け付ける-A入力を受け付ける-i LO -j -A INPUT ACCEPT -j - M 状態- NEWを述べる- m個のTCP -p TCPは--dport - 22 -J -A INPUT ACCEPT m個の状態を- NEWを述べる- TCPは--dport -p m個のTCP - 21 -J -A入力ACCEPT m個の状態- NEWの状態-TCPは--dport -p m個のTCP --reject-とICMPホスト禁止-A FORWARD --reject-とICMPホスト禁止REJECT -jはCOMMIT REJECT -J -A入力を受け付け-j 20

ftp02:/etc/vsftpd/vsftpd.conf

そしてftp01設定の違い:

 

pasv_min_port = 16001
 pasv_max_port = 18000 listen_address = 10.11。130.141

ftp02:、/ etc / sysconfig / iptables内

 

同じ** ftp01 **としてそれぞれのポート範囲を持ちます

すべてのノード:、/ etc / sysconfig / iptables内-config設定

 

IPTABLES_MODULESは= "nf_conntrack_ftp"

SELinuxは、私が(のようないくつかのチュートリアル続いてきました。すべてのマシン上で無効になっている。このこれを)、私はまだパッシブモードを使用することはできません。私は、FTPへのログオンに(もすることができラウンドロビンに設定)HAproxyによってバランサをロードすることができますサーバー、それは私にこれを与えてきました。

 

220 - *** FTPサーバークラスタノード02 ***
 220 
名(192.168。2.135:ルート):ルート 331パスワードを指定してください。パスワード:230ログインに成功。リモートシステムの種類はUNIXです。ファイルを転送するためにバイナリモードを使用しました。FTP> LS 227パッシブモード(入力192、168、2、135、67、94)。FTP:接続:接続がFTPタイムアウトになりました>

今、私はほとんどすべてこれに対処するためにそれらのものの、私は少し不満を感じるだろう、私は物事を考えることができるすべてを行っていること。私は設定のチュートリアルと同じ構成だが、それは動作しません。たぶん私は気付かなかった何かを逃しました物事には、そのすべてのヘルプは大歓迎です!

少なくとも、ポート番号は完全に正常である67 * 25694 = 17246を使用して、パッシブモードに16001--18000を使用する正しいftp02セットのようです。

 
私が読んパッシブFTP LB用RHの資料によると、あなたは、カーネルモジュールを有効にする必要があります

 

 

#modprobeはip_vs_ftp

Red_Hat_Enterprise_Linux-6-Load_Balancer_Administration-EN-US

 

パッシブFTP接続を有効にするためには、シェルプロンプトで管理ユーザとしてコマンドのmodprobe ip_vs_ftpを実行することによって行うことができます、あなたはip_vs_ftpカーネルモジュールがロードされていることを確認してください。

おすすめ

転載: www.cnblogs.com/alpha1981/p/11760707.html