• お問い合わせ
  • ユーザー登録
ドキュメント
NAT環境でProFTPDをクラスタリングする場合の構成例

ここでは、Turbolinux Cluster Server で、クラスタノードへのパケット転送方法にNATを使用した環境で、ProFTPDをクラスタリングする方法を説明しています。

1. 構成例の概要

ここで説明する構成は、次のような環境を想定しています。

構成図

この環境では、172.16.36.0/255.255.252.0(以降ネットワークa)と 192.168.4.0/255.255.255.0(以降ネットワークb)の2つのネットワークがあり、Turbolinux Cluster Serverが稼動するノードがそれぞれのネットワークに接続されています。

ネットワークbでは、ホスト名node3.turbo.llanとnode4.turbo.llanで、ProFTPD バージョン1.2.1が稼動し、FTPサービスを提供します。これを、Turbolinux Cluster Serverでクラスタリングし、ネットワークaのFTPクライアントにFTPサービスを提供します。

2. Turbolinux Cluster Server が稼動するノードの設定

2.1 Turbolinux Cluster Server の設定

まず、Turbolinux Cluster Serverの設定ですが、構成ファイル(/etc/clusterserver/clusterserver.conf)を次のように記述するか、クラスタ構成ツールを使用して設定します。

/etc/clusterserver/clusterserver.conf
-----------------------------------------------------------------------------
# TurboLinux Cluster Server config file /etc/clusterserver/clusterserver.conf
#
# This file contains virtual host information for clusterserverd.
# Current file was generated automatically on 2001-09-21 15:46:31.
# Do not edit - your changes may be lost!
#

# *** global parameters ***
NetworkMask  255.255.252.0

# *** NAT specific parameters ***
NAT
  Subnet 192.168.0.0 255.255.255.0
  Gateway 192.168.4.3
EndNAT

# *** user checks ***
UserCheck ftpAgent
  check  /usr/bin/ftpAgent
EndUserCheck

# *** services ***
Services
  Service  FTPservice       tcp:21      ftpAgent
EndServices

# *** servers ***
Servers
  Server  node3                      192.168.4.33               nat
  Server  node4                      192.168.4.34               nat
EndServers

# *** server pools ***
ServerPool ServerGroup1
  AddServer  node3                      FTPservice/1
  AddServer  node4                      FTPservice/1
  CheckServerFrequency  120
  CheckServerTimeout    10
  CheckPortFrequency    120
  CheckPortTimeout      10
EndServerPool

# *** router pools ***
AtmPool router1
  AddAtm  172.16.36.90
  SendArpDelay          20
  MaxLostHeartbeats     3
  HeartBeatDelay        1
  NumConnections        100000
  NumServers            1000
  NumServices           100
  ConnectionTimeout     300
EndAtmPool

# *** virtual hosts ***
VirtualHost 172.16.36.89
  AddAtmPool  router1
  AddServerPool  ServerGroup1
EndVirtualHost

設定後は、Cluster Serverデーモン(clusterserverd)を再起動する必要があります。

# /etc/rc.d/init.d/clusterserverd restart

ネットワークインタフェースは、再起動後に次のような状態になります。

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:00:F4:60:BE:C4
          inet addr:172.16.36.90  Bcast:172.16.39.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:283908 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19633 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:10 Base address:0xe800

eth0:cs0  Link encap:Ethernet  HWaddr 00:00:F4:60:BE:C4
          inet addr:172.16.36.89  Bcast:172.16.39.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:10 Base address:0xe800

eth1      Link encap:Ethernet  HWaddr 00:90:CC:08:68:3F
          inet addr:192.168.4.1  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1712483 errors:0 dropped:0 overruns:0 frame:0
          TX packets:161305 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:11 Base address:0xec00

eth1:natg Link encap:Ethernet  HWaddr 00:90:CC:08:68:3F
          inet addr:192.168.4.3  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xec00

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:290 errors:0 dropped:0 overruns:0 frame:0
          TX packets:290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

2.2 パケットフォワーディングの設定

ネットワークaからネットワークbへのアクセスは、Turbolinux Cluster Serverが中継してパケットを転送します。これに対する応答(ネットワークbからネットワークaへ)も、Turbolinux Cluster Serverが介在します。しかし、Turbolinux Cluster Serverは、ネットワークbからネットワークaにアクセスするパケットの転送は行いません。

クラスタリングするサービスから、クライアントに対してアクセスする必要がない場合は、この項の設定は必要ないのですが、FTPサーバをクラスタリングする場合、FTPサーバが稼動するノードからクライアントノードにアクセスできるように設定する必要があります。これは、FTPのデータコネクション用の設定です。

図1の構成を例にすると、ネットワークbからネットワークaへアクセスできるように設定する必要があります。

設定方法は、まず、Turbolinux Server 6.5は標準でIPパケットをフォワードしない設定になっているので、/etc/sysconfig/networkの「FORWARD_IPV4=no」の部分を「FORWARD_IPV4=yes」に変更し、次のようにネットワークを再起動します。

# /etc/rc.d/init.d/network restart

次に、ipchainsを使用し、ネットワークbからのパケットをマスカレードするように設定します。設定は、次のコマンドを実行します。

ipchains -A forward -j MASQ -s 192.168.4.0/24 -d 0.0.0.0/0

OSの再起動後も、この設定が有効になるように構成します。

3. ProFTPDが稼動するノードの設定

3.1 ネットワークの設定

NATの構成でクラスタリングする場合の、クラスタリング対象のサービスが稼動するノードでは、ネットワークに関する特別な設定はありません。デフォルトゲートウェイに指定するIPアドレスを、Turbolinux Cluster Serverで設定したNATゲートウェイのIPアドレス(この構成では、192.168.4.3)と一致するように設定します。

また、この構成では、FTPサーバをクラスタリングするので、このノードから、FTPクライアントノードに対してpingを実行し、接続できることを確認します。

3.2 ProFTPDの設定

Turbolinux Server 6.5をインストールする際にProFTPDをインストールすることで、特別な設定をすることなくProFTPDを起動することが可能です。

しかし、今回の構成では、若干の設定変更作業が必要です。ProFTPDの設定ファイル(proftpd.conf)に、AllowForeignAddressパラメータを追加します。次のように追加してください。

/etc/proftpd/proftpd.conf
------------------------------
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on
AllowForeignAddress             on

# Port 21 is the standard FTP port.
Port                            21
〜〜〜

この設定は、クライアントからの制御コネクションのアドレスとは違うアドレスからのPORTコマンドを使用するクライアントを許可するようにします。

この設定のように、ProFTPDをスタンドアロンモードで使用する場合は、ProFTPDを再起動します。

# /etc/rc.d/init.d/proftpd restart

以上で、ネットワークaのFTPクライアントから、ネットワークbのクラスタリングされたFTPサーバにアクセスすることが可能になります。

関連文書 対象製品
  • Turbolinux Cluster Server 8
  • Turbolinux Cluster Server 7
  • Turbolinux Cluster Server 6
  • Turbolinux 8 Server
  • Turbolinux 7 Server
  • Turbolinux Server 6.5
Last modified : Tue Dec 9 JST 2003 # 1