如何建立一个能让外网访问的FTP服务器?

如何建立一个能让外网访问的FTP服务器?,第1张

1、下载个Serv-u, 解压并安装,打开软件后 界面如下图,点击域详细信息下的“配置域的监听器”。

2、进入监听器选项卡界面后,点击左下角“添加”按钮。

3、弹出“监听器”的对话框,请按下图填写内容,端口最好填写缺省的“21”,启用监听器前面要勾选,PASV IP一定要填写,输入运营商给的静态IP地址,如果不是静态IP,只能通过其他软件解析,输入完成后点保存。

4、点击左上角,返回主页面,单击右边倒数第二个菜单“服务器限制和设置”。

5、在弹出的界面中,我们选择"设置"选项卡,进入设置界面。

6、进入设置界面后往下拉到最下面,填写PASV端口范围,例如2000-2049,设置好后点保存,公网访问FTP的设置服务器端已经设置好了。

首先需要将你的web服务器搭建好,然后需要做NAT,我这里有我的一个做NAT的笔记,分享给你

NAT

拓扑结构图:

要求:

1.内网能够ping通外网地址,并且成功访问外网中的web服务;

2.外网能够访问内网的ftp服务。

步骤:

一:内网服务器配置

1.在内网中设置好ip地址,网关和DNS均为NAT服务器内网口地址,并搭建好ftp服务,此处略

二:NAT服务器配置

1.在NAT只能中添加一块网卡作为 外网卡,并设置好ip地址

2.开启NAT服务器的路由功能

[root@c2 ~]# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1              //将0改为1

[root@c2 ~]# sysctl -p                //永久生效

3.配置防火墙(必须按照以下循序配置,否则配置完成后不能拼通外网,需配置第二次)

#iptables-X

#iptables-t nat -X

#iptables --flush

#iptables -t nat --flush

//以上为重置链表的命令

#iptables-t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 202.10.10.12

//这条命令是将内网192.168.1.0/24的源地址映射为NAT服务器的外网口地址,eth1为外网卡

# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192.168.1.11

# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192.168.1.11

//这两条命令是发布内务的ftp服务

或者:

# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12--dport 21 -j DNAT --to 192.168.1.11

# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12--dport 20 -j DNAT --to 192.168.1.11

#/etc/init.d/iptablessave

#/etc/init.d/iptablesrestart

验证:

内网访问外网的web服务:

[root@c1 ~]# curl 202.10.10.13

web

外网访问内网的ftp服务(外网的防火墙一定要关闭,否则ls查看目录时会出错,或者打开外网的20号端口新建链接的也可以)#

[root@c3 ~]# ftp 202.10.10.12

Connected to 202.10.10.12 (202.10.10.12).

220 (vsFTPd 2.2.2)

Name (202.10.10.12:root): ftp01

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>ls

227 Entering Passive Mode(192,168,1,11,93,1).

ftp: connect: Network isunreachable     //列不出内容是因为进入了passive模式

ftp>passive                                                      //用passive命令切换passive模式和active模式

Passivemode off.

ftp>ls

200 PORT command successful. Consider usingPASV.

150 Here comes the directory listing.

226 Directory send OK.

ftp>

补充:

删除防火墙中配置的记录

[root@c2 ~]# iptables -t nat  -L POSTROUTING -n --line-number   //列出记录和记录序号

[root@c2 ~]# iptables -t nat -D POSTROUTING1                 //根据序号删除记录

你将内网的ftp服务换成web服务就可以了,主要是弄懂NAT的原理,将内部服务通过DNAT发布到外网

搭建外网访问,首先你要有一台外网可访问的服务器,有以下几种方法可以实现。

一、购买外网服务器。由于服务器端使用JAVA语言开发,所以外网服务器操作系统可以是Linux或Windows,这个需要你花钱购买。如果只是测试,你可以选择购买阿里云的云服务器,非常便宜。

二、还有一种方法就是你通过花生壳之类的软件进行映射你的网络,但花生壳对长城宽带之类的网络支持不是特别好,如果需要很好的支持,那也需要花钱购买。

三、如果你是通过路由器上网,并且可以操作路由器权限且使用的是电信或者是联通的网络,那可以直接在路由器里面做端口映射,这个你可以百度一下,有很多文章讲的非常清楚,这里篇幅限制,就不贴了。

四、如果你是直接通过猫上网且使用电信或联通宽带,那可以直接使用本机外网IP访问你的程序。

以上四种方法中,最稳定的还是购买外网服务器,其它都会有各种问题,你可以选择其中适合你的一种方法。希望能帮助到你


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/210187.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存