A. 如何访问到外网的ftp服务器地址
一、路由器下的FTP服务端:
路由器下的FTP服务端,需要解决一个“安全验证”问题,IE客户端会核对服务端的IP
地址,因为服务端是内外两个IP,而使IE客户端安全验证失败,但专业FTP客户端CuteFTP9、LeapFTP3
可以不核对IP验证,而使访问成功,但用户总是喜欢IE做客户端,为此需要找一个解决“安全验证”
的FTP服务端,FileZilla FTP Server就是最实用小巧的FTP理想服务端,只有1M多一点,非常小巧。
二、路由器下的FTP服务端要被外网IE访问的因素:
1. FTP服务端WINDOWS电脑要关闭自带的防火墙或设成FTP服务程序为“例外”;
2. 路由器下的电脑服务器要设成路由器的DMZ主机,这样服务端端口就.开.放在外网,
才能被外网所访问,所以,服务端电脑要设成静态IP如 192.168.1.10,并把路由器的
DMZ主机设为此IP,设DMZ后就不需要再设.端.口.映.射.了;
3. FileZilla FTP SERVER要设成被动方式PASV,并要指定一个外网IP,以解决NAT的安全验
证问题,否则,客户端不能被WINDOWS的IE所访问,但能被CuteFTP访问;
4. 外网的端.口不能被运营商所封或者不能是共享外网IP地址的NAT代理,端口会因NAT改变;
三、FileZilla FTP Server需要的设定:
1. 需要设定为 Passive被动模式:端口范围可为设为 10000-10050
2. 指定的IP要设为外IP:以解决“安全验证”问题
这个外IP就是将要被访问的FTP://外IP
3. 用户增加 anonymous,密码不设,这是匿名方式;
4. 共享文件夹设成你的一个被访问目录;
5. 其它21号服务端口等缺省参数不需改动。
四、程序说明:
一、FileZilla server.exe 这是后台服务程序,运行后启动服务就可;
二、FileZilaa Server Interface.exe 这是界面管理程序,让管理员设定参数的;
B. win7下怎么搭建服务器,可以外网访问的
有公用IP搭建FTP服务器,外网的用户就可以实现访问,具体:
1、打开 "控制面板",选择"程序" -> "打开或关闭Windows资源",在弹出的窗体里找到 “Internet信息服务”,展开后选择“Ftp服务器",然后点击"确定",此时Windows开始更新功能资源列表。
2、更新完成后,进入"控制面板" -> "系统和安全" -> "管理工具" ,双击 "Internet 信息服务(IIS)管理器"。在弹出的窗体中右键点击你的计算机名称,选择添加FTP站点。
会弹出如下窗口:
在此窗口中输入Ftp站点的名称(例如"myFtp"),物理路径(例如"d:\myFtp"),点击 "下一步".在"IP地址"框中输入本机的IP地址(例如本机IP地址为192.168.1.100),然后点"下一步",(注:此步操作时要根据实际情况,慎重配置),由于本人局域网中的安全问题没有过于敏感的信息,因此在身份验证中选中"匿名",并允许所有用户访问,执行读和写的操作权限。最后点击完成。
3、配置防火墙,以便其它用户通过局域网中其它计算机访问本计算机中的Ftp资源。进入"控制面板" -> "系统和安全" - > "允许程序通过防火墙" -> 钩上FTP及后面两个框选上。
C. 用IIS搭建了一个FTP服务器,怎么让外网访问
需要在路由器上进行端口映射,以tplink wr886n为例:
1、打开浏览器,输入路由器ip,默认为192.168.0.1;
2、输入密码,点击登录;
D. win7 搭建了一个ftp服务器 如何在外网访问
需在路由器中设置端口映射,以tplink wr886n为例,方法如下:
1、打开浏览器,输入默认ip192.168.0.1回车登录;
2、登录对话框,输入 密码点击确定;
3、点击转发规则--虚拟服务器,点击添加新条目;
E. 怎样完整搭建可以让外网访问的linux服务器
1、撤销多余的服务根据机器的用途,很多服务是不需要的。要是Linux只用作桌面,就不需要sendmail、httpd和另外许多服务。如果你的服务器只是Web服务器,也可以关掉许多服务。为此,可转到管理菜单,检查服务项目。只需撤销所有不想启动的服务选项。
F. 怎么给内网服务器配置外网访问地址
2018-12-11
外网 路由器 访问地址
114.248.76.186 用户名:admin 密码:省略
windows 2012 内网服务器
ipconfig 192.168.1.22 内网地址
在目标主机,打开“开始→运行”,输入“regedit”,打开注册表,
进入以下路径:修改数值的话需要修改注册表的两个地方:
第一个地方:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp
PortNumber值,默认是3389,修改成所希望的端口,比如我的改为4489。
第二个地方:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
PortNumber值,默认是3389,修改成所希望的端口,比如我的4489,这个修改跟前一个修改端口相同。
关闭防火墙
设置登录用户名和密码
参考 https://blog.csdn.net/kxwinxp/article/details/78560402
输入:114.248.76.186:8389 用户名Administrator 密码:略
配置完成
内网能远程连接服务器,外网不能:
原因:内网映射的外网内网访问不了,内网模拟不了外网映射访问,只能访问内网服务器,不然容易形成闭环
解决办法:
找个外网的人访问这个外网ip port
G. 如何在自己电脑上架设ftp服务器,让别的外网可以访问,我用的是宽带ADSL
不知道楼主是否使用路由器连网,如果是,下面提供了详细的设置方法,如果是直接拨号游缓上网,则更简单。 一、使用路由器,需要设置路由器的端口映射,就可以实现楼主的要求,具体需要映射的端口是21,21是FTP端口。这里给楼主详细说下: 1、申请花生壳免费域名。因为ADSL每次拨号后,获得的IP都是不同的,所以需要动态绑定到域名上,方便其他人记忆和访问。 2、设置本机固定局域网IP,例如设置为192.168.1.100 3、登陆路由器,找到“虚拟服务器”选项,这里需要说明一下,不同的路由器型号的配置方法也不完全相同,但一般都会有“虚拟服务器”这项功能,如果找不到这一项,可以找到“DMZ主机”,DMZ主机可以将内网的某个IP地址的所有端口均对外网开放,不过这样设置会有安全隐患,建议设置虚拟服务器 4、在“虚拟服务器”表格中填入要映射的内网IP,按上面的就是192.168.1.100,在内网端口和外网端口处填21,然后保存重起路由器 5、启动花生壳并激活域名服务 6、在计算机中安装SERVER-U软件,它是一款非常好用的FTP服务器软件(我自己用了很多年),有中文版,设置起来非常简单,如果不会我帮你远程,设置好后就可以正常访问了。需要注意,通过路由器配扮空置的服务器,在内网电脑一般是不能通过域名访问的,假设在你自己的电脑上访问你申请的域名,就会出现让你输入用户名和密码的提示,你怎么输入都神缺模是不对的。要外网的电脑才可以正确访问,这点希望楼主明白。 二、直接ADSL拨号上网的配置方法: 1、申请花生壳免费域名 2、在计算机上启动花生壳并激活域名服务 3、安装SERVER-U软件,设置好后即可成功访问 差不多就这样了,有什么不懂再问我吧
希望采纳
H. 怎么搭建一个可以被外网访问的linux web服务器
首先需要将你的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发布到外网
I. Socket编程如何搭建一个外网可以访问的服务器
步骤:
1,和代理建立tcp联接。
2,向代理发送版本的请求信息:
void CCommunicator::SendVer()
{
int datasize = 6;
char tempbuf[6];
tempbuf[0]=5;
tempbuf[1]=4;//标示后面所根的字接数
tempbuf[2]=0;
tempbuf[3]=1;
tempbuf[4]=2;
tempbuf[5]=3;
int senddatalen;
senddatalen=send(m_sock,(char*)tempbuf,6,0);
}
这一步如果失败,断开建立的tcp联接,如果成功,如果需要用户验证则进行步骤3,否则进行4.
3,如果需要用户验证,则类似:
BOOL CCommunicator::SendUserTest()
{
int usernamelen=0;
int userpasslen=0;
usernamelen=m_strTestUserName.GetLength();
userpasslen=m_strTestUserPass.GetLength();
char tempbuf[100];
tempbuf[0]=5;
tempbuf[1]=usernamelen;//标示后面所根的字接数
strcpy(&tempbuf[2],m_strTestUserName);
tempbuf[2+usernamelen]=userpasslen;
strcpy((char*)&tempbuf [3+usernamelen],m_strTestUserPass);
int senddatalen;
int len;
len=usernamelen+userpasslen+3;
senddatalen=send(m_sock,(char*)tempbuf,len,0);
} 如果失败,断开建立的tcp联接, 如果用户返回成功,步骤4.
4,发送请求的协议类似:
void CCommunicator::SendRequestUDP()
{
int const datasize=10;
BYTE tempbuf[datasize]; tempbuf[0]=5;
tempbuf[1]=3;//标示UDP连接
tempbuf[2]=0;
tempbuf[3]=1;
tempbuf[4]=0;
tempbuf[5]=0;
tempbuf[6]=0;
tempbuf[7]=0;
*((SHORT*)(&(tempbuf[8])))=m_uBindUDPPort; //UDP在客户端绑定的端口,就是你本地机器的做udp数据传送的端口调用
//socket函数后,再调用bind()来邦定一个端口。
char temp;
temp=tempbuf[8];
tempbuf[8]=tempbuf[9];
tempbuf[9]=temp;
int senddatalen=send(m_sock,(char*)tempbuf,datasize,0);
}
如果失败,断开建立的tcp联接,如果返回成功,验证完毕!步骤5
5,真正的数据传送,用代理传送的时候,数据包的前面加上10个字节类似:
void CCommunicator::CopyDataHead(BYTE * ptempbuf)
{
struct in_addr addr;
addr.s_addr=inet_addr(“202.220.33.333”);//这个ip是服务器端的ip
ptempbuf[0]=0;
ptempbuf[1]=0;
ptempbuf[2]=0;
ptempbuf[3]=1;
ptempbuf[4]=(char)addr.S_un.S_un_b.s_b1;
ptempbuf[5]=(char)addr.S_un.S_un_b.s_b2;
ptempbuf[6]=(char)addr.S_un.S_un_b.s_b3;
ptempbuf[7]=(char)addr.S_un.S_un_b.s_b4;
*((SHORT*)(&(ptempbuf[8])))=m_uServerUDPPort;//服务器的端口,就是你最终要发到那个服务器的端口,也就是你的qq服务器。
char temp;
temp=ptempbuf[8];
ptempbuf[8]=ptempbuf[9];
ptempbuf[9]=temp;
}
真正发送的时候类似:
int CCommunicator::SendBufferUDP(LPBYTE lpBuf,int nLen)
{
BYTE tempbuf[1000];
int iHeadData=0;
struct sockaddr_in her;
her.sin_family=AF_INET;
her.sin_addr.s_addr=inet_addr(m_szProxyAddr);//代理服务器
her.sin_port=htons(m_uSocksPort);//发送请求的时候返回的代理服务器端的端口,记住,这是最重要的。
CopyDataHead(tempbuf);
iHeadData=10;
nLen=nLen+10;
int addr_len;
addr_len=sizeof(struct sockaddr);
CopyMemory((char*)&tempbuf[iHeadData],lpBuf,nLen);
int returndatalen=sendto(m_socket,(char *)tempbuf,nLen,0,(struct sockaddr *)&her,addr_len);
J. 在电脑上搭建服务器怎么让外网访问
首先查看下你路由器拨号上网获得的外网IP地址,再看下你电脑获得的内网IP,然后再路由器上做一个端口映射,就可以直接通过外网IP连接到你服务器了。映射相应的端口,比如连接SQL需要映射1433,Mysql需要3306,iis需要80等。当然如果路由器可以做NAT,可以直接把你内网的机器通过地址转换到外网IP。不过,如果实在不懂这些的话,建议去掉路由器直接电脑拨号就可以。