一把鼻涕一把泪 搭建公网ftp服务器
至于为什么要搭建公网ftp服务器,就当我心血来潮吧。
ftp开源工具很多,咱用的是filezilla服务器。后来为了方便搭建web服务器,就改成了集成工具xampp。客户端工具也是filezilla client,用浏览器也行。
首先内网用户想搭建公网ftp服务器第一个要解决的问题是如何得到公网ip。经过认真试验仔细研究得到两种方案:
1.设置路由器参数,增加转发规则,外网21端口转发到内网21端口;
2.还是设置路由器,设置dmz主机,把自己的内网ip地址填上去,路由器的公网ip就成了自己电脑的公网ip。
这里要注意的是,设置完路由器后,还要把21端口添加到防火墙的例外中,否则外网的连接被拒绝。我是直接关掉了防火墙。
幸运的话,打开ftp服务器,设置用户名密码和根目录,一个公网ftp服务器就诞生了。查一下路由器自己的公网ip即可从外网访问。
路由器的公网ip也不是一成不变的,为了解决这个问题,咱们下载一个免费的花生壳,注册账号密码登录,就能得到一个域名。用域名代替公网ip,就可以坐享公网ftp服务器了。
其实刚开始咱还是很幸运的,舒舒服服用了两天公网ftp后,突然不能连接了。这个原因排查的过程,真是不堪回首月明中啊。我把上面的过程翻来覆去重复了5遍,已经看透了原理学懂了理论,结果仍是一样的。为了测试公网ip的可用性,特地找远程的朋友用socket工具测试了tcp连接,发现聊天妥妥的顺滑。问题就定位在ftp服务器上了。最具有误导性的现象是,公网ip过来的连接是可以正常登录服务器的,但是无法进入pasv模式,用dir命令列出目录也不能,服务器会断开socket。我就以为是服务器设置的问题,禁用pasv模式,改用port模式也不能够可以。查到一个方案,说是用花生壳做端口映射,但是妹的那是内网映射,收费的。后来发现别人有遇到有时候可用有时候不能用的情况,更换21端口就稳定了。我试了一下,问题解决!原来是ISP把21端口给封了,路由器的公网ip也不是免费的午餐!
最后,ftp端口改成21212,尘埃落定。
一把鼻涕一把泪 搭建公网ftp服务器的更多相关文章
- linux中搭建公网ftp服务器
Linux搭建ftp服务器汇总整理 一.检查linux中是否已经安装vsftpd服务端软件 rpm -qa |grep vsftpd 二.卸载linux中的vsftpd服务端软件 rpm -e vsf ...
- 在Linux中搭建一个FTP服务器
在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...
- Linux中搭建一个ftp服务器详解
来源:Linux社区 作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种 ...
- 使用FileZilla Server轻松搭建个人FTP服务器
Linux平台下快速搭建FTP服务器 服务器FTP Server环境搭建 针对以上遇到的问题的解决方案如下: 1)如何上传文件到云服务器上 关于这个问题,我首先想到的是使用FileZ ...
- Linux搭建一个FTP服务器
1.安装vsftp 2.配置vsftpd.conf, vim /etc/vsftpd.conf 下面说说里面比较重要的选项 1 anonymous_enable=NO #不允许匿名用户 2 3 loc ...
- 【Linux搭建创建FTP服务器】---完美解决 - 费元星
配置大红字文件置顶: vsftp d.conf 4.5KB useradd -d /home/bai_du -s /sbin/nologin bai_du 修改访问权限: usermod ...
- Windows10搭建本地ftp服务器
首先要有一个win10专业版的操作系统,连接上互联网... 一.首先打开控制面板选择程序,再选择"启用或关闭windows功能" 二.在"Windows功能"中 ...
- Ubuntu 14.10下搭建简易FTP服务器[vsftpd]
Ubuntu下公认最易上手的ftp软件是vsftpd,既然标题都说了是“简易”的,那么必然是用最大众的..下面是正题 目标需求:搭建一个允许匿名/本地登录的FTP,并且支持上传/下载/修改功能,同时F ...
- 使用filezilla server搭建FTP服务器
参考文献 http://www.pc6.com/infoview/Article_51961_all.html 背景 需要在内网环境下搭建一个FTP服务器,查阅相关资料发现使用filezilla se ...
随机推荐
- Size Balance Tree(SBT模板整理)
/* * tree[x].left 表示以 x 为节点的左儿子 * tree[x].right 表示以 x 为节点的右儿子 * tree[x].size 表示以 x 为根的节点的个数(大小) */ s ...
- python异常处理
1. 异常 (1) 异常处理 #没有异常处理 num = int('abc') print(num) #报错 #异常处理 try: num = int('abc') #try里的代码是受保护的 pri ...
- php.ini 中文注释
这个文件控制了PHP许多方面的观点.为了让PHP读取这个文件,它必须被命名为 ; ´php.ini´.PHP 将在这些地方依次查找该文件:当前工作目录:环境变量PHPRC ; 指明的路径:编译时指定的 ...
- [Nhibernate]SchemaExport工具的使用(一)——通过映射文件修改数据表
目录 写在前面 文档与系列文章 SchemaExport工具 SchemaUpdate工具 一个例子 总结 写在前面 上篇文章介绍了使用代码生成器的nhibernate模版来生成持久化类,映射文件等内 ...
- 你想的到想不到的 javascript 应用小技巧方法
javascript 在前端应用体验小技巧继续积累. 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElemen ...
- hadoop源码编译——2.5.0版本
强迫症必治: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using b ...
- 练习:使用nmcli 配置网络连接
显示所有连接 # nmcli con show 显示活动连接的所有配置信息 # nmcli con show "System eth0" --->引号内为连接的网卡名称 显示 ...
- mysql数据库 中文乱码
看到一篇很好的文章,转录于此 中文乱码似乎是程序编写中永恒的一个话题和难点,就比如MySQL存取中文乱码,但我想做任何事情,都要有个思路才行,有了思路才知道如何去解决问题,否则,即使一时解决了问题,但 ...
- JS事件对象与事件委托
事件对象 包含事件相关的信息,如鼠标.时间.触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTa ...
- WIN7下VS2008生成Detours3.0
Detours是微软开发的一个函数库,可用于捕获系统API.在用其进行程序开发之前,得做一些准备工作: 一.下载Detours 在http://research.microsoft.com ...