0
1

More than 5 years have passed since last update.

HaproxyでFTPをプロキシさせる方法

Last updated at Posted at 2016-10-24

通信のながれ

Traffic -> Firewall -> Haproxy -> virtual machine(localIPのみ)

Haproxyはグローバルのvlanをきり、仮想マシンはローカルのみのvlanをきっている
これにより、仮想マシンには、踏み台経由からかWeb経由からのアクセスしかできなくなる。
※踏み台経由だと接続元制限をしているため、セキュリティを担保している。

経緯

仮想マシンにFTPでファイルをアップロードしたいとの要望があり、FTP通信は必ずHaproxy経由で仮想マシンにアクセスする必要があるため、
検証した。

環境

・Haproxy
CentOS 7
Haproxy version 1.5.4

・virtual machine
CentOS 6.7
vsftpd version 2.2.2

設定

Haproxy

frontend web01-ftp
 mode tcp
 bind [HaproxyサーバのIP]:50021
 default_backend web01-ftp

frontend web01-ftpdata
 mode tcp
 bind [HaproxyサーバのIP]:50022-50029
 default_backend web01-ftpdata

backend web01-ftp
  server web01 [FTPアップロード対象サーバ] check port 50021 inter 10s rise 1 fall 2
backend web01-ftpdata
  server web01 [FTPアップロード対象サーバ] check port 50021 inter 10s rise 1 fall 2

FTPサーバ(vsftpdの場合)

以下の設定を追加

listen_port=50021
pasv_address=[haproxyサーバのIP]
pasv_min_port=50022
pasv_max_port=50029
pasv_enable=YES
port_enable=YES
port_promiscuous=NO

この環境は1本足構成のため、全ての通信はFirewallを通り、制御している。
そのため、この作業のあと、Firewallで通信許可をして、完了。
L7の設定とL4の設定を共存させてみたが、デフォルト設定がL7だとうまくいかなかった。。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1