欢迎来到天天文库
浏览记录
ID:19649612
大小:31.50 KB
页数:8页
时间:2018-10-04
《内网ftp服务器架设指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、内网FTP服务器架设指南由于最近很多人询问关于如何在内网架设FTP的问题,因此在这里把经验总结一下供大家分享。本文将分为四个部分。第一部分阐述“什么是内网架设FTP”的问题。第二部分分析FTP协议的原理。第三部分阐述在内网中架设FTP服务器时会遇到的问题以及解决方法,使外网的用户能够访问位于内网的FTP服务器。第四部分为总结。建议读者能够将这五部分全部读完。如果只想要一个快速安装指南,那么请阅读第一部分和第四部分。本文所使用的FTP服务器为proftpd。1.内网FTP服务器的概念设想下面的这种环境:几台计算机组成一个局域网,该局域网中拥
2、有一台DHCP服务器负责为局域网中每台计算机分配IP地址。其中有一台计算机(或网络设备)作为网关(可以与DHCP服务器为同一台设备),网关通过拨号或其他方式连接到Internet,获取一个真实IP地址。局域网内的计算机通过网关的转发来实现与Internet的连接。我们定义该局域网内部为内网,相对地,定义Internet为外网。举个例子,假设我们拥有两台计算机A、B和一个拥有拨号和DHCP功能的网关G。各自的网络配置如下:网关G:局域网IP地址:192.168.0.1(由网关硬件指定)局域网子网掩码:255.255.255.0(由网关硬件指
3、定)广域网IP地址:12.34.56.78(拨号之后获得)计算机A:局域网IP地址:192.168.0.10(通过网关的DHCP功能获得)局域网子网掩码:255.255.255.0(通过网关的DHCP功能获得)网关:192.168.0.1(通过网关的DHCP功能获得)计算机B:局域网IP地址:192.168.0.11(通过网关的DHCP功能获得)局域网子网掩码:255.255.255.0(通过网关的DHCP功能获得)网关:192.168.0.1(通过网关的DHCP功能获得)这样,从A、B发出的所有网络请求都会被发送到网关G(192.168
4、.0.1),网关再将这些请求变换之后通过12.34.56.78发送到Internet,以实现A、B与Internet的连接。需要提醒一点的是,你的网关必须拥有端口映射(PortMapping)的功能(也称转发,Forwarding),这是下文架设服务器的先决条件。所谓端口映射功能,就是指网关能够将从外网发送到网关的指定端口的包转发到内网中指定的IP地址上。举个例子,假如我们定义了如下一条规则:将端口21映射到192.168.0.10上。那么从外网发送到网关的一个包,其信息为源地址:200.12.34.56:7890,目的地址:12.34.
5、56.78:21那么网关将修改该包的目的地址,结果为源地址:200.12.34.56:7890,目的地址:192.168.0.10:21并将该包发送到局域网中的192.168.0.10上。这样对于192.168.0.10来说,这个包仿佛是从Internet上直接发给自己的一样。2.FTP协议原理一般我们说,FTP协议使用TCP端口21。实际上这这并不准确;FTP协议使用TCP的21端口传送的是控制命令,同时使用随机端口来传送数据。也就是说,下载一个文件至少需要在客户端与服务器之间建立两个TCP连接,这两个连接分别称为控制连接和数据连接。控
6、制连接总是由客户端主动连接服务器的21端口来建立的;而数据连接则不一定。根据数据连接的建立方式的不同,FTP传送方式可分为主动方式和被动方式两种。主动方式下,服务器连接客户端的某个端口以建立数据连接;被动方式下,客户端连接服务器的某个端口来建立数据连接。主动方式的连接过程如下:1.客户端用随机端口连接服务器的21端口,建立控制连接,并发送用户名和密码进行登录。2.客户端打开一个随机端口P进行监听,并通过控制连接将自己的IP地址和P端口的信息通知服务器。3.服务器用自己的随机端口连接客户端的端口P,建立数据连接,并进行数据传送。4.数据传送
7、完毕之后,数据连接断开。5.客户端通过控制连接发送结束命令,以断开控制连接,FTP交互过程结束。被动方式的连接过程如下:1.客户端用随机端口连接服务器的21端口,建立控制连接,并发送用户名和密码进行登录。(与主动方式相同)2.客户端通过控制连接通知服务器使用被动方式。3.服务器选择一个随机端口P进行监听,并通过控制连接将自己的IP地址和P端口的信息通知客户端。4.客户端用自己的随机端口连接服务器的端口P,建立数据连接,并进行数据传送。5.数据传送完毕之后,数据连接断开。(与主动方式相同)6.客户端通过控制连接发送结束命令,以断开控制连接,
8、FTP交互过程结束。(与主动方式相同)举个实际的例子来说明。下文中以S:开头的为服务器返回的信息,C:开头的为客户端命令。主动方式:S:220ProFTPD1.2.10Server(控制连接建
此文档下载收益归作者所有