内网FTP服务器架设不完全解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介:
+关注继续查看

首先要提到的这里的内网是指一般我们网吧内部环境的内网,对局域网内网我没什么好说的,愿花钱的去DNS0755好了。一个基本条件:一个公网IP,对网关有操作权限。

FTP服务器端192.168.0.100,我选用Win2K+Serv-U 4.1.0.0,很普通常用的一个组合网关是最简单的双网卡PC,一接外网一接内网,这里假设外网IP为218.4.218.4,内网IP为192.168.0.1。

提一些概念性的东东:

一次完整的FTP会话,包含有两个连接,一个称之为命令通道,一个称之为数据通道。命令通道用来传递一些"命令"和反馈,包括用户名密码登陆,而且众所周知是明文数据通道用来传递实际数据----列目录、文件传输,一旦需要列目录或文件传输,数据通道就会被建立起来,这里分两种方式,一是PORT二是PASV。

你会在因特网上找到许多FTP服务器,有的要么只支持PORT,有的要么只支持PASV,有的是因为考虑安全因素,有的是因为条件限制等等。我想把我的FTP做成PORT和PASV方式都能支持的,这样不会使客户端在连接上受到困扰,特别是一些新手,对于PORT和PASV的定义,比较容易理解的解释是针对FTP服务端而言的:

PORT是主动模式,在建立数据通道时,服务端去连接别人;

PASV是被动模式,在建立数据通道时,服务端被别人连接;

建立数据通道时,用PORT模式还是PASV模式,选择权在于FTP客户端。

现在要做的,就是端口映射了,最基本的是命令通道的映射,这里选用默认的21,我想把在网关外网接口收到的对218.4.218.4端口21的连接请求,转发到192.168.0.100的21端口去。

Win2K网关

系统自带简单的端口转发程序,就是能给我们提供连接共享的ICS/RRAS,这两种方式原理是一样的,而且都能提供这类业务的端口转发设置过程比较简单,我也不抓图了,以前有过很多。

就是在"服务与端口"中,注册一条类似"公用网络与端口218.4.218.4:21 To 专用网络与端口192.168.0.100:21"这样格式的规则设置好后,别人就能访问你的内网FTP服务器了,但你很快会发现你的FTP服务器只支持PORT方式,如果客户端也在内网环境则PORT方式也用不了了这是为什么呢?我们来分析一下,因为在PASV方式,服务器接到客户端的PASV命令后,会指定一个本地的随机端口来作为PASV端口,并通知客户端,然后等待客户端的连接,在通知消息里包含有FTP服务器的IP地址和打开的PASV端口,我FTP服务器的IP地址是什么?

现在是192.168.0.100,那么对方收到的PASV通知将是这样格式的227 Entering Passive Mode (192,168,0,100,m,n)mn是定义了PASV端口的值,计算方式是m*256+m,如果这里m是10而n是20,那么PASV端口就是2580客户端收到这条通知后,当它想发起数据通道的连接,它会向192.168.0.100:2580这个目标地址发送SYN请求,毫无疑问将不会收到应答,因为这个IP在公共网络事实上是不存在的解决的办法是让FTP服务器发送带公网IP的PASV通知,我们的Serv-U支持这个功能。

然后在网关上把需要打开的PASV端口跟21端口一样做映射到192.168.0.100

你也许会疑惑了,PASV是服务器动态打开的随机端口,我怎么会知道它会用哪个?怎么映射啊?没有问题,Serv-U同样可以定义每次使用固定的PASV端口,当然为了同时承接多个连接会话,你需要多设置几个成一段,然后在网关上一一对应映射到FTP服务器上去,图中设置了20个。

相关文章
|
2月前
|
域名解析 网络协议 Linux
如何centos搭建内网dns服务器的详细步骤
要在 CentOS 上搭建内网 DNS 服务器,你可以按照以下步骤进行操作: 1. 安装 BIND DNS 服务器: - 打开终端并以 root 用户身份登录到 CentOS。 - 运行以下命令安装 BIND DNS 服务器: ``` sudo yum install bind bind-utils ``` 2. 配置 BIND DNS 服务器: - 使用文本编辑器打开 `/etc/named.conf` 文件,并根据需求进行配置。以下是一个示例配置: ``` options { listen-on po
503 0
|
3月前
|
缓存 算法 安全
转:深度解析如何利用递归算法来验证内网管理软件中的重要数据的完整性
用递归算法来验证内网管理软件里关键数据,就好比是在用放大镜审视一份份重要合同,确保它们都符合约定的条款,这样一来数据的品质和安全性都能得到提升。这种举重若轻的步骤,能够保证数据真实可靠,避免任何潜在的错误和漏洞。
33 1
|
4月前
|
存储 域名解析 弹性计算
阿里云VPC内网DNS日志正式接入SLS日志审计服务
内网DNS日志(Intranet DNS Log) 记录了指定阿里云uid下所有VPC网络内终端产生的DNS域名解析请求和应答,终端请求的这些域名既包含了配置在PrivateZone上的内网权威域名,也包含了外部公网域名。为了满足用户可以快速、简单实现多账号、多地域场景下内网DNS日志的采集、管理、中心化查询分析等需求,DNS与SLS联合开发,在SLS日志审计应用中发布一键开启内网DNS日志的功能。
阿里云VPC内网DNS日志正式接入SLS日志审计服务
|
9月前
|
域名解析 网络协议 安全
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
405 0
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
|
域名解析 Kubernetes 网络协议
内网主从智能DNS从此不再烦恼
内网主从智能DNS从此不再烦恼
|
网络协议
阿里云内网可用的dns
来自于阿里云技术支持工单 如果你要自己设置dns,可用: ```bash nameserver 100.100.2.136 nameserver 100.100.2.138 nameserver 223.
7210 0
|
运维 安全 网络协议
企业上云,内网DNS请用PrivateZone
DNS服务的作用就是就好比手机中的通讯录,可以通过域名找到对应IP。对于一家科技企业来说,搭建一套内网DNS是很有必要的。但是,当企业将网络整体搬迁到云上或者和云上网络相联通时,DNS服务常常面临无法覆盖新网络环境的问题。
|
网络协议 Ubuntu
如何在 Ubuntu 16.04 服务器上配置内网 DNS 服务
DNS 1. 简介   本文使用 BIND9,用尽量少的步骤,搭建出一个可用的内网 DNS 服务。另外要说明的一点是,本文不仅适用于 Ubuntu 16.04,也使用其后的 Ubuntu 系统(截止到目前位置,最新的 Ubuntu server 版本是 18.04,之后的版本无法保证)。
2416 0
|
网络协议 应用服务中间件 nginx
公司内网搭建代理DNS使用内网域名代替ip地址
企业场景 一般在企业内部(科帮网),开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问。
6432 0
推荐文章
更多
推荐镜像
更多