您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 配置-FTP-服务器以支持-IPv6
配置FTP服务器以支持IPv6学学学学习习习习如何如何如何如何编编编编写写写写Java程序程序程序程序来来来来与与与与启启启启用用用用IPv6的的的的FTP服服服服务务务务器通信器通信器通信器通信级别:初级MakhamV.Kumar(makhamvk@in.ibm.com),工程师,IBM2006年8月07日下一代协议,InternetProtocolversion6(IPv6),被广泛认为是Internet和网络世界的未来。这种认同已鼓励各个IT公司开发支持并使用IPv6地址格式进行相互通信的应用程序。在本文中,学习配置FileTransferProtocol(FTP)服务器以支持IPv6,然后通过一个简单的使用IPv6地址的Java程序来与FTP服务器通信。IPv6,又称下一代协议,是现有IPv4网络基础的超集。IPv6与IPv4相兼容和协作,允许您升级您的Internet设备。有关IPv6的更多信息,请参考我的前一篇文章“DiscoverInternetProtocolversion6(IPv6)”,在参考资料部分可以找到这篇文章。在本文中,我将向您演示如何在两种FTP服务器上配置IPv6:Orenosv1.0(与Microsoft®Windows®兼容)和vsftpd2.0.1-5(与Linux®兼容)。您将使用IBM®Java™RuntimeEnvironment(JRE)1.5.0来编写和执行示例Java应用程序。配置配置配置配置WindowsFTP服服服服务务务务器器器器Orenosv以支持以支持以支持以支持IPv6您可以从Orenosv站点(参阅参考资料)下载OrenosvFTP服务器。让我们来看看如何配置服务器来监听和接受IPv6地址。首先,下载和安装服务器,默认安装在$Drive/ProgramFiles/Orenosv中。创建用户帐户和其默认目录。转到安装位置,打开passwd.txt,然后添加下面这一行:ipv6:ipv6:/ftpusers/ipv6在这一行中,ipv6代表用户,ipv6代表密码,而ftpusers/ipv6表示用户目录位置。图1显示了最终passwd.txt文件的样子。图图图图1.最最最最终终终终passwd.txt文件表示文件表示文件表示文件表示页码,1/11配置FTP服务器以支持IPv62009-12-27接着,在$Install_Location/ftproot中创建用户目录位置ftpusers/ipv6。最终目录结构类似于:$Install_Location\ftproot\ftpusers\ipv6为您创建的ipv6用户提供访问控制。转到$Install_Location,打开acl.txt,然后添加下面这一行:ftpuser/ipv6/*ALL=_all_all=@admin最终acl.txt文件类似于图2。图图图图2.最最最最终终终终acl.txt文件表示文件表示文件表示文件表示页码,2/11配置FTP服务器以支持IPv62009-12-27接着,将ipv6用户添加到admin组。转到$Install_Location,打开grpdb.txt,然后将用户添加到admin组,类似于:admin:admin1,admin2,ipv6图3显示最终grpdb.txt文件的样子。图图图图3.最最最最终终终终grpdb.txt文件表示文件表示文件表示文件表示页码,3/11配置FTP服务器以支持IPv62009-12-27要使FTP服务器接受IPv6请求,转到$Install_Location,然后打开http.conf。取消注释http.conf文件中的这些行:注释掉http.conf文件中的所有SecureSocketsLayer(SSL)条目,然后添加下面这一行以支持IPv6:ftp_listen=IPv6Address@21IPv6Address表示机器IPv6地址。这里是一个具有真实IP地址的示例:ftp_listen=2002:9b8:708a:0:0:0:0:1@21要重新启动服务器,导航到StartProgramsOrenosv,并单击RestartOrenosvService。检查FTP服务器正在运行并可以监听IPv6请求。为此,打开命令行提示符并使用IPv6地址连接FTP服务器。如果登录成功,服务器看上去将与图4类似。图图图图4.成功登成功登成功登成功登录录录录FTP服服服服务务务务器器器器ftp_enable=1ftp_listen=0.0.0.0@21ftp_port_srcport=20页码,4/11配置FTP服务器以支持IPv62009-12-27如果登录失败,请检查配置并再试一次。配置配置配置配置LinuxFTP服服服服务务务务器器器器vsftpd以支持以支持以支持以支持IPv6vsftpd服务器默认附带有RedHatEnterpriseLinux(RHEL)。让我们配置服务器来监听和接受IPv6地址。首先,以root用户登录然后打开vsftpd.conf,该文件通常位于/etc/vsftpd目录中。注释掉vsftpd.conf文件中的下面这一行:listen=yes将这一行添加到vsftpd.conf中以支持IPv6:listen_ipv6=yes要重新启动vsftpd服务器,使用servicevsftpdrestart命令。如果重新启动失败,请检查vsftpd.conf条目。编编编编写写写写示例示例示例示例FTP客客客客户户户户机程序机程序机程序机程序让我们编写一个简单的JavaFTP客户机程序来实现下列功能:使用IPv6数字地址连接FTP服务器在与服务器建立连接之后显示用户登录目录下的文件提示用户输入要下载的文件名从FTP服务器下载各自的文件之后退出您可以下载zip文件(参阅下载),其中包含有用来运行程序的所有相关文件的完整代码;在运行Java应用程序一节参看更多有关说明。清单1解释程序的核心逻辑。清清清清单单单单1.从从从从支持支持支持支持IPv6的的的的FTP服服服服务务务务器器器器获获获获取文件的示例取文件的示例取文件的示例取文件的示例Java程序程序程序程序packagecom.ibm.ipv6.ftp;importjava.io.BufferedInputStream;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileOutputStream;importjava.io.InputStreamReader;页码,5/11配置FTP服务器以支持IPv62009-12-27***@authorMakhamKumar**/publicclassIPv6FTPClientextendsFtpClient{privatestaticfinalStringsourceClass=IPv6FTPClient;privatestaticfinalStringSPACE=;privatestaticfinalStringSEP=-;privatestaticfinalStringLINE=\n;publicIPv6FTPClient(){}publicstaticvoidmain(String[]ipv6Main){finalStringsourceMethod=main;BufferedReaderbRead=null;IPv6FTPClientipv6Ins=null;StringstrOption=null;StringstrFileName=null;booleanbStatus=true;try{if(ipv6Main.length==3){ipv6Ins=newIPv6FTPClient();ipv6Ins.loginToMachine(ipv6Main[0],ipv6Main[1],ipv6Main[2]);ipv6Ins.listFileSets();//CapturingdetailsfromtheusertodownloadfilesfromtheFTPserverdo{console(LINE+LINE+SPACE+Wanttodownloadafile?[Y/N]:);bRead=newBufferedReader(newInputStreamReader(System.in));strOption=bRead.readLine();if(strOption.equalsIgnoreCase(Y)){console(LINE+SPACE+Enterthefilenametodownload:);strFileName=bRead.readLine();bStatus=ipv6Ins.getFile(strFileName);}elseif(strOption.equalsIgnoreCase(N)){bStatus=false;ipv6Ins.closeServer();console(LINE+LINE+SPACE+ClosingtheFTPserverconnection+LINE);}else{bStatus=false;console(LINE+LINE+SPACE+Enteredinvalidoption.);}}while(bStatus);bRead.close();}else{console(LINE+Enteredinvalidarguments);}console(LINE+LINE+SPACE+Applicationexisting!!!+LINE+LINE);页码,6/11配置FTP服务器以支持IPv62009-12-27}catch(ExceptioneM){eM.printStackTrace();console(LINE+Applicationexisting!!!+LINE+LINE);}finally{try{if(bRead!=null)bRead.close();}catch(ExceptioneFinally){eFinally.printStackTrace();}}}/***ThisutilitymethodconnectstoFTPserverusingUsernameandPassword*@returnvoid*/privatevoidloginToMachine(StringstrMachine,StringstrUser,StringstrPasswd){finalStringsourceMethod=loginToMachine;try{openServer(strMachine);login(strUser,strPasswd);console(sourceMethod,SuccessfullyconnectedtoFTPserver);binary();}catch(ExceptioneLogin){eLogin.printStackTrace();System.exit(0)
本文标题:配置-FTP-服务器以支持-IPv6
链接地址:https://www.777doc.com/doc-4638803 .html