成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大規(guī)模集群FTP代理的解決方案

系統(tǒng) Linux
在日常工作中,我們經(jīng)常需要在某服務器上開FTP服務。這是個很簡單的事情,但鑒于一些其他的需求,如禁止公網(wǎng)直接訪問、服務器數(shù)量很多、采用虛擬FTP帳號等,這件事情會變的比較復雜。本文針對這三個問題提供了參考解決方案。

在日常工作中,我們經(jīng)常需要在某服務器上開FTP(Server)服務。但就是這么簡單的事情通常也會變得很復雜,原因如下:

1、需要開通FTP的服務器沒有公網(wǎng)IP地址;(即不能直接訪問到)

2、這樣的服務器很多,可能是成百上千臺;

3、所有的FTP賬號必須為虛擬賬號,不能為本地,而且需要集中存儲。

這種情況很多,比如企業(yè)中通常需要給開發(fā)、測試人員相應的開發(fā)、測試環(huán)境,而這環(huán)境里面的機器通常只有有私網(wǎng)地址,開發(fā)人員需要通過FTP上傳自己的代碼等。

【解決方案】

1、對于問題1(無公網(wǎng)地址),解決的方法其實很多,比如使用Iptables做端口映射,甚至使用VPN,但這都太復雜、維護成本高;更好的辦法是使用一臺有公網(wǎng)(同時又有私網(wǎng))的服務器做FTP代理,而這種代理只要開啟即可,不需要為后面每臺真正的FTP Server設置NAT。(這和iptables的方式不一樣)

2、對于問題2,3只能使用虛擬賬號,并將所有賬號信息集中存儲到某數(shù)據(jù)庫中。

大體架構如下:

此架構假設:

* FTP代理服務器的IP地址為:8.8.8.8(公網(wǎng))和192.168.1.10(私網(wǎng))

* FTP Server使用pureftpd,地址為192.168.1.11

* MySQL Server IP地址為192.168.1.15

在這種架構下,用戶登陸FTP的流程如圖所示:

1. 用戶提交用戶名和密碼給FTP Proxy

2.FTP Proxy訪問FTP Server

3.FTP Server訪問MySQL Server進行用戶名密碼驗證

【配置過程】

1. 配置FTP Proxy服務器-8.8.8.8

1.1 下載和安裝FTP proxy:

wget ftp://ftp.ftpproxy.org/pub/ftp.proxy/ftpproxy-1.2.3.tgz
tar czvf ftpproxy-1.2.3.tgz
cd ftpproxy-1.2.3
make && make install

1.2 啟動ftp.proxy

ftp.proxy -D 2121 -e -l -m -t 1800

參數(shù)說明如下:

1)-D 2121 指定端口為2121

2)-e 啟用客戶端服務器選擇(非常重要),通常我們的ftp賬號為ftpuser這種,那么使用此參數(shù)后,我們可以訪問后端的某臺服務器,比如192.168.1.15,使用的賬號名變成:ftpuser@192.168.1.15

3)-l Logging

4)-m monitor mode

5)-t 1800 超時時間

2.配置MySQL Server(192.168.1.15)

2.1 安裝mysql:(假設還沒安裝)

yum install mysql-server

2.2 修改/etc/my.cnf:

bind-address=192.168.1.15

2.3

service mysqld start

2.4 修改mysql root密碼:

mysqladmin -u root password rootpassword

2.5 創(chuàng)建pure-ftpd需要的數(shù)據(jù)庫

mysql -u root -p rootpassword

執(zhí)行如下SQL語句:

CREATE DATABASE pureftpd;
USE pureftpd;
CREATE TABLE `users` (
`id` int(32) unsigned NOT NULL auto_increment,
`User` varchar(16) NOT NULL default '',
`Password` varchar(64) NOT NULL default '',
`Uid` varchar(11) NOT NULL default '-1',
`Gid` varchar(11) NOT NULL default '-1',
`Dir` varchar(128) NOT NULL default '',
`QuotaSize` smallint(5) NOT NULL default '0',
`QuotaFiles` int(11) NOT NULL default '0',
`ULBandwidth` smallint(5) NOT NULL default '0',
`DLBandwidth` smallint(5) NOT NULL default '0',
`ULRatio` smallint(6) NOT NULL default '0',
`DLRatio` smallint(6) NOT NULL default '0',
`comment` tinytext NOT NULL,
`ipaccess` varchar(15) NOT NULL default '*',
`status` enum('0','1') NOT NULL default '0',
`create_date` datetime NOT NULL default '0000-00-00 00:00:00',
`modify_date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`,`User`),
UNIQUE KEY `User` (`User`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

3. 在FTP Proxy服務器上(8.8.8.8)配置pureftpd PHP Manager:

3.1假設Apache2(沒有安裝自行安裝吧)已經(jīng)安裝在/usr/local/apache2目錄下,執(zhí)行如下命令:

mkdir -p /usr/local/apache2/htdocs/ftp
cd /usr/local/apache2/htdocs/ftp
chown -R nobody:nobody /usr/local/apache2/htdocs/ftp
wget http://bbs.chinaunix.net/attachments/month_0701/pureftpd_php_manager_BbPy87OS0Gaj.zip
unzip pureftpd_php_manager_BbPy87OS0Gaj.zip
cp pureftpd-mysql.conf.sample pureftpd-mysql.conf

3.2修改pureftp.config.php(pureftp_php_manager連接mysqld的配置文件地址)

$PUREFTP_CONFIG_FILE = '/usr/local/apache2/htdocs/ftp/pureftpd-mysql.conf';

3.3 修改/usr/local/apache2/htdocs/ftp/pureftpd-mysql.conf中相關信息:

MYSQLServer 192.168.1.15
MYSQLPort 3306
MYSQLSocket /var/lib/mysql/mysql.sock
MYSQLUser root
MYSQLPassword rootpassword
MYSQLDatabase pureftpd
MYSQLCrypt crypt(密碼加密方式)

4. 配置FTP服務器-192.168.1.11(安裝和配置pure-ftpd)

4.1 安裝pure-ftpd(加入MySQL支持)

wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.29.tar.bz2
tar jxvf pure-ftpd-1.0.29.tar.bz2
cd pure-ftpd-1.0.29
./configure --prefix=/usr/local/pureftpd --with-mysql --with-shadow --with-pam --with-paranoidmsg --with-welcomemsg --with-uploadscript --with-cookie --with-virtualchroot --with-virtualhosts --with-diraliases --with-quotas --with-sysquotas --with-ratios --with-ftpwho --with-throttling
make && make install
cd configuration-file
cp pure-config.pl /usr/local/pureftpd/bin/
chmod +x/usr/local/pureftpd/bin/pure-config.pl
mkdir -p /usr/local/pureftpd/etc
cp pure-ftpd.conf /usr/local/pureftpd/etc
cd ..
cp pureftpd* /usr/local/pureftpd/etc/

4.2 修改/usr/local/pureftpd/etc/pure-ftpd.conf:

MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf

提示:如果FTP賬號為nobody這種權限,UID(通常為99)小于1024,需要修改MinUID參數(shù):

MinUID 98

否則出現(xiàn)錯誤:

Can't login as [xxx] account disabled pureftpd

4.3. 修改/us/local/pureftpd/etc/pureftpd-mysql.conf:

和3.3內(nèi)容完全一樣。

4.4 啟動pure-ftpd:

/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

5.登陸Pureftpd PHP Manager頁面創(chuàng)建FTP虛擬賬號:

登陸http://8.8.8.8/ftp,創(chuàng)建賬號:


如圖創(chuàng)建的賬號名為:testftp, 主目錄為/opt/wwwroot還可以進行其他的設置,自己看圖咯 :)

注意

1.此賬號只是虛擬賬號,并不存在于任何FTP Server上(/etc/passwd文件中),而是存儲于MySQL中。

2. IP Access設置為*,表示可以訪問任何FTP Server

6.測試登陸:

ftp 8.8.8.8 2121
Connected to 8.8.8.8.
220 server ready - login please
530 login first
530 login first
KERBEROS_V4 rejected as an authentication type
Name (8.8.8.8:root): testftp@192.168.1.11(要訪問哪臺,就加入@ip 后綴)
331 password required
Password:
230 login accepted
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

注意:如果FTP Server還有192.168.1.12等地址,也可以用testftp@192.168.1.12來登陸192.168.1.12這臺FTP Server

原文:http://www.sapub.net/html/y2010/ftp-proxy-large-scale-site.html

【編輯推薦】

  1. 主流FTP服務器Wu-ftpd入門指南
  2. vsftpd入門——安裝、配置、案例與常見問題
  3. 玩轉(zhuǎn)vsftpd服務器的四大高級配置
責任編輯:yangsai 來源: sapub.net
相關推薦

2019-04-18 11:37:49

NameNodeHDFS架構

2015-08-31 05:51:37

集群運維私有云

2015-06-11 13:24:27

集群運維

2023-02-17 07:41:18

KubernetePrometheus

2015-10-12 15:11:36

GoogleBorg集群管理

2015-03-23 16:10:58

一體機解決方案SAP華為

2015-10-13 11:06:36

谷歌Google Borg集群管理

2020-08-10 08:30:23

開發(fā)軟件開源

2021-08-29 20:02:38

高并發(fā)集群部署

2015-09-07 12:06:10

51CTO技術周刊集群運維

2023-12-01 10:25:34

數(shù)據(jù)存儲

2016-08-12 15:40:17

CCEKubernetes華為

2022-05-11 09:34:15

云原生集群數(shù)倉

2015-06-26 09:17:28

WOT2015360孔德亮

2019-10-09 10:00:02

集群故障場景

2019-10-09 09:39:15

PythonHDFS大數(shù)據(jù)

2020-04-09 11:56:10

Elasticsear集群硬件

2010-07-05 14:24:31

云網(wǎng)管運維管理美信科技

2011-07-15 17:12:15

云計算SkyptLync

2024-06-07 14:01:29

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 波多野结衣中文视频 | 国产91视频免费 | 久草精品视频 | 婷婷不卡| 国产精品国产a级 | 拍真实国产伦偷精品 | 99视频在线播放 | 青青草这里只有精品 | 亚洲一级毛片 | 日韩在线中文 | 亚洲国产一区二区视频 | 最新国产视频 | 色网站入口| 国产精品久久久亚洲 | 国产精品自产av一区二区三区 | 卡通动漫第一页 | 国产激情自拍视频 | 97久久久| 国产成人一区二区三区 | 国产精品久久精品 | 国产99免费视频 | 视频1区 | www.国产日本 | 男女下面一进一出网站 | 亚洲欧美精品国产一级在线 | 久久久男人的天堂 | 久久久久久亚洲精品 | 国产精品18久久久 | 色男人的天堂 | 免费亚洲视频 | 欧美日韩一区二区三区四区五区 | 久久亚洲国产精品 | 色999视频 | 日本人做爰大片免费观看一老师 | 欧美色图综合网 | 成人久久网 | 亚洲第一天堂 | 亚洲精品一区二区三区蜜桃久 | 天天色天天色 | 99久久久久久 | 免费视频一区 |