ftpserver是使用比較寻常的server,可是IP资源是有限的。那么怎么让内网的server給外网的用户提供服务了?

首先须要找一个FTPserver程序,我在这边使用pure-ftpd-mysql ,这边使用-mysql版本号是为了方便用户管理,同一时候通过数据库能够非常好的和当中应用结合起来.

安装pure-ftpd-mysql

我使用的是ubuntu。所以安装没有从源代码编译,直接 sudo apt-get install pure-ftpd-mysql .然后使用sudo service pure-ftpd-mysql start开启ftpserver,这是它会打印一些启动时的配置參数.想看參数能够使用--h命令,能够使用pure-ftpd-mysql -h > help保存到文件。然后看文件.

參数:

-0    --notruncate    

-1    --logpid    

-4    --ipv4only    

-6    --ipv6only    

-8    --fscharset    <opt>

-9    --clientcharset    <opt>

-A    --chrooteveryone    

-a    --trustedgid    <opt>

-b    --brokenclientscompatibility    

-B    --daemonize    

-C    --maxclientsperip    <opt>

-c    --maxclientsnumber    <opt>

-d    --verboselog    

-D    --displaydotfiles    

-e    --anonymousonly    

-E    --noanonymous    

-f    --syslogfacility    <opt>

-F    --fortunesfile    <opt>

-g    --pidfile    <opt>

-G    --norename    

-h    --help    

-H    --dontresolve    

-I    --maxidletime    <opt>

-i    --anonymouscantupload    

-j    --createhomedir    

-K    --keepallfiles    

-k    --maxdiskusagepct    <opt>

-l    --login    <opt>

-L    --limitrecursion    <opt>

-M    --anonymouscancreatedirs    

-m    --maxload    <opt>

-N    --natmode    

-n    --quota    <opt>

-o    --uploadscript    

-O    --altlog    <opt>

-p    --passiveportrange    <opt>

-P    --forcepassiveip    <opt>

-q    --anonymousratio    <opt>

-Q    --userratio    <opt>

-r    --autorename    

-R    --nochmod    

-s    --antiwarez    

-S    --bind    <opt>

-t    --anonymousbandwidth    <opt>

-T    --userbandwidth    <opt>

-U    --umask    <opt>

-u    --minuid    <opt>

-V    --trustedip    <opt>

-w    --allowuserfxp    

-W    --allowanonymousfxp    

-x    --prohibitdotfileswrite    

-X    --prohibitdotfilesread    

-y    --peruserlimits    <opt>

-Y    --tls    <opt>

-J    --tlsciphersuite    <opt>

-z    --allowdotfiles    

-Z    --customerproof   

以下怎么控制用户訪问,到/etc/pure-ftpd/db下,然后配置mysql.conf文件。mysql的IP,Port,user,password,database,然后是进行验证的sql语句,我的表是我users,当中有三个字段,username。密码,用户登录后的文件夹。UID和GID默认的是1000.

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh4NjA0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

如今你在浏览器中。输入ftp://127.0.0.1,输入数据库中的保存的数据就能够登录了.

以下对ftp配置,配置文件在/etc/pure-ftpd/conf,其一个配置项为一个文件。默认有AltLog     MinUID           NoAnonymous        PureDB

FSCharset  MySQLConfigFile  PAMAuthentication  UnixAuthentication



事实上文件名称就是-h命令打印的參数全名.比方-p參数--passiveportrange,先建一个PassivePortRange文件,注意文件名称。小写不认的.

内容为45000 50000,标识被动模式的port范围。在不须要client有不论什么变化情况下訪问内网的ftp,使用被动是最好的,有兴趣能够看看主动和被动的差别.

又一次启动ftp

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh4NjA0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

能够看到-p參数有效果了.那么怎么让外网訪问。须要将21port和45000~50000port映射到路由器上的port,ip为你内网的地址.进入路由器,转发规则,虚拟server

如今使用外网登录

ok,搞定收工

在内网架设一个可供外网登录的ftpserver的更多相关文章

  1. 修改tomcat编码格式 & tomcat发布WEB项目供外网访问

    1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码:       <Connector port="8080" prot ...

  2. 阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问

    阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问

  3. 外网登录访问树莓派 Raspberry Pi

    外网登录访问树莓派 Raspberry Pi 本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi? 本文将介绍具体的实现步骤. 1. 准 ...

  4. 让Tomcat供外网访问

    使用Tomcat+花生壳部署一个Javaweb网站,步骤分为三步. 第一,花生壳配置. 下载花生壳,并默认安装.申请动态域名,激活护照,登录.(都是常规操作,不必多说) 第二,Tomcat设置. 找到 ...

  5. 服务器发布tomcat的WEB项目供外网访问

    1.首先你要确定你有一个外网ip地址.如果你分配到的是一个局域网IP地址需要经过一系列的转换为外网ip地址,然后继续下面操作. 2.拿到外网IP地址,进行tomcat的server.xml文件的配置. ...

  6. 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问

    1.首先你要确定你有一个外网ip地址.如果你分配到的是一个局域网IP地址需要经过一系列的转换为外网ip地址,然后继续下面操作. 2.拿到外网IP地址,进行tomcat的server.xml文件的配置. ...

  7. ngrok外网登录本地Web服务器

    首先在网上下载ngrok软件,然后cmd到其目录下,运行ngrok http 80即可打开服务器,然后自动生成外网连接,然后C:\inetpub\wwwroot下放置html网页,在公网即可打开

  8. 说一下怎么搭建外网来访问SVN服务器

    一.搭建SVN服务器 1.所需软件 TortoiseSVN,下载地址http://tortoisesvn.net/downloads.html TortoiseSVN中文语言包,下载地址http:// ...

  9. Tp-link TL-WR841N无线路由器端口映射到外网如何设置

    针对TP-LINK的无线路由器进行演示如何设置端口映射和访问控制,演示使用的具体型号是TP-LINK TL-WR841N 3G无线路由器如何设置端口映射. 什么是端口映射? 端口映射又称端口转发,有的 ...

随机推荐

  1. arm-linux-gcc下载与安装

    在RHEL 5平台上安装配置arm-linux-gcc  2011-02-23 19:35:40|  分类: 嵌入式开发环境 |  标签: |字号大中小 订阅 . 在linux平台上安装好的基础上,开 ...

  2. java反射小样例

    package reflect; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExc ...

  3. Appium Server 传递的基本参数

    Appium Server  传递的基本参数 官方列表 Appium server capabilities Capability Description Values automationName ...

  4. 查看内存数据的函数(ByteToHex和ByteToBin,最终都变成String)

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  5. 快速排序算法之我见(附上C代码)

    因为<The C Programming Language>一书中有一个练习,需要用到快速排序,所以又复习了一下,感觉收获颇多,故而分享之. 快速排序的核心是一种 divide and c ...

  6. SAP屏幕框架的创建

    1.创建包括文本的基本框架 REPORT ztest_sum. TABLES:mara,syst. WITH FRAME TITLE mytitle. "mytitle是框架上的文本 ) A ...

  7. perl 异步请求和JS对比

    perl 异步和js对比: /js************** $(function(){ function isPhone(str){ var regex = /[0-9]{11,11}/; ret ...

  8. fake it till you become it

    fake it till you become it_你泛起山川烟波里的不是我._百度空间 fake it till you become it

  9. Swift - 使用arc4random()、arc4random_uniform()取得随机数

    arc4random()这个全局函数会生成9位数的随机整数   1,下面是使用arc4random函数求一个1~100的随机数(包括1和100) 1 var temp:Int = Int(arc4ra ...

  10. opencv中的meanshift图像切割

    Meanshift(均值漂移)是一种在一组数据的密度分布中寻找局部极值的稳定的方法.Meanshift不仅能够用于图像滤波,视频跟踪,还能够用于图像切割. 通过给出一组多维数据点,其维数是(x,y,r ...