ftpbind
① 用linux怎样建web服务器,DNS服务器,ftp服务器
linux是哪个企业版本的。
redhat centos 还是 gentoo 然后查下包管理工具是什么。
提供web服务的软件有: 1,apache 2,nginx 目前比较主流用的
DNS服务的话, 可以使用 bind
ftp 服务 的话 vsftp
具体的配置可以自己到先关的技术论坛查找下,51cto ,csdn都可以
② 如何修改 ftp 端口
怎样修改SSH和FTP的登录端口
LINUX 的默认SSH 端口是 22。为了防止别人暴力破解(这年头无聊的菜鸟黑客太多),建议修改SSH 访问端口:
第一步:
[[email protected] ~]#vim /etc/ssh/sshd_config
找到#Port 22一段,这里是标识默认使用22端口,修改为如下:
Port 22
Port 3456
注意:先不要删除Port 22,以免发生意外无法登录。
保存退出,然后执行/etc/init.d/sshd restart(或/etc/init.d/ssh restart,或service sshd restart),重启SSH服务,这样SSH端口将同时工作与22和3456上。测试成功后再关闭22端口。
如果没有启用防火墙或者防火墙没有屏蔽端口,就可以直接测试新端口是否可用了。
如果打开了iptables,则执行第二步:
编辑防火墙配置:vi /etc/sysconfig/iptables 开放 3456端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3456 -j ACCEPT
然后执行/etc/init.d/iptables restart
第三步:
使用ssh工具连接3456端口,来测试是否成功。
如果连接成功了,则再次编辑sshd_config的设置,将里边的Port 22 删除即可。
最后,别忘了重启SSH服务哦。
修改FTP端口相对要复杂一些,主要是因为FTP软件太多,启动方式也不一样。
第一种情况:vsftpd
步骤:1.修改/etc/services文件
# vi /etc/services
将21/tcp修改为20129/tcp (20129是你自己想要的端口号,可以随便修改,不过必须注意:端口号最大为65535。)
2.修改(新增)FTP配置文件vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf
如果文件中有Listen_port=21,则将21修改为2021,
否则添加一行Listen_port=2021
3.启动TFP服务
# service vsftpd restart
4.检查TFP服务
# service vsftpd status
第二种情况:FTP集成在Kloxo之中。Kloxo是一整套的服务器模块,其中一个是FTP。您不能改变对Kloxo管理控制面板的服务器配置。默认情况下Kloxo使用pureftp作为FTP服务器,xinetd的作为协助进程启动FTP服务。
步骤:1,登录使用root的SSH访问。
您的pureftp配置是在/etc/xinetd.d/pureftp,这个文件的第一行就是ftp的服务,一般不需修改。
2,打开/etc/services 编辑,找到这些行:
ftp 21/tcp
ftp 21/udp fsp fspd
将其修改成这样:
ftp 20129/tcp
ftp 20129/udp fsp fspd
保存文件并退出。
3,重新启动xinetd:
service xinetd restart
检查所有的监听端口:
netstat -an | grep LISTEN
如果已没有侦听端口21,而是发现端口20129
tcp 0 0 0.0.0.0:20129 0.0.0.0:* LISTEN
则应该就算成功了。当然,你应该马上通过您的FTP客户端来测试一下,不要忘记使用新端口哦!
第三种情况:LNMP集成pureftp
这种情况应该修改 /usr/local/pureftpd/pure-ftpd.conf
找到其中的
#Bind 127.0.0.1,21
修改为:
Bind 127.0.0.1,20129
有的时候这样也不行,那就将127.0.0.1删掉,改为
Bind ,20129
然后重启ftp服务 /etc/init.d/pureftpd restart
③ Ubuntu 12.10从 ftp 下载数据时提示:ftp:bind:Address alresdy in use
是服务器主动被动模式的问题,如果服务器开启了被动模式的话,在客户端 输入passive on 就可以了.
④ bind vsftpd apache dns samba nfs这些是什么服务
BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件。它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准。
BIND这个缩写来自于使用的第一个域,Berkeley Internet Name Domain,而不是Berkeley Internet Name Daemon。这个软件起源于20世纪八十年代初的University of California at Berkeley,是在DARPA授权下编写的。
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。
Apache是世界使用排名第一的Web服务器。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。
就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中 域名必须对应一个IP地址,而IP地址不一定只对应一个域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有 两种形式:主服务器和转发服务器。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮询实现一对多,域名虽然便于人们记 忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet的 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最 终指向是IP。
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
NFS是Network File System的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
参考资料: http://ke..com/view/44349.html?wtp=tt
⑤ C++编写ftp服务器时,Ftp服务器与客服端建立连接之后,怎么协商数据传输端口(程序实现)
当用accept函数与客户端请求建立连接之后,accept函数将自动新建一个套接字(假设为s2),这个新建的套接字和客户端相连接并收发数据,而原来在监听状态的套接字(假设为s1)仍然处于监听状态,以便接受下一个连接请求。在accept函数返回s2之前,bind、listen、accept都是针对s1进行的。而accept函数返回s2之后的send和recv都是针对s2.
至于代码,想深究的话,建议去看看"tcp/ip详解"第二卷
⑥ ftp:bind:缓冲区空间不受支持
使用netstat命令查看一下网络连接,看是否有大量未完成的连接,占用了本机的大量端口,如果是,那通常就是有病毒了,导致端口都被占用,无法建立数据连接.
发生类似情况,重启网卡后解决,可参考,但很快又有大量未完成连接的端口被占用,乃至到了65535端口。已协调查毒等检测处理,希望有借鉴意义
⑦ 如何禁止FTP,如何封堵FTP,FTP通讯协议和端口范围
添加防火墙入站规则,
windows上禁止20、21两个端口就可以了。
linux上,还有22端口是给ssh工具用的,如果也想阻止,就一起禁止掉。
⑧ 怎么查看ftp当前是主动还是被动,是否输入pass显示passive mode on证明输入pa
如果客户程序不支持被动模式,它就会返回?Invaild command;如果客户程序支持被动模式,而服务器不支持,就会返回"PASV:command not understood",PASV是一个FTP协议命令,使服务器进入到被动模式。
使用默认数据传输端口
在FTP协议中,除了被动模式和主动模式之外,还有另外一种数据传输模式。如果客户程序既不向服务器发出PASV命令也不发送PORT命令,FTP服务器就会使用FTP协议的数据传输端口(20)和客户端的控制连接源端口建立一个数据传输连接。这就需要客户程序在这个端口上监听。在客户程序上使用sendport命令可以关闭FTP协议的PORT控制指令,然后需要使用passive命令关闭被动模式。整个过程如下:
客户程序从本地端口N初始化一个FTP控制连接。
用户使用sendport命令和passive命令(某些客户程序在默认情况下,被动模式是打开的)关闭主动模式和被动模式,然后使用数据传输指令,例如:ls、get等。这样客户程序就会在本地端口N上监听FTP服务缉发起的数据传输连接。
服务器通过TCP例程(例如:getpeername())确定客户端的端口N。然后从FTP数据传输端口(20)发起一个连接。
不过,这种方式有一个最大的缺点就是无法在很短的时间之内连续输入数据传输命令,用户经常会遇到"bind:Address Already in use等错误。这是TCP协议造成的。因此,这种模式并不常用。
⑨ 电脑中的 bind()错误是什么
Berkeley Internert Name Domain(BIND)是我们所熟知的域名软件,它具有广泛的使用基础,Internet上的绝大多数 Py`<W
DNS服务器都是基于这个软件的。BIND目前由ISC(Internet Software Consortium)负责维护,具体的开发由 7! J"|RRH*
Nominum(www.nominum.com)公司来完成。下面编译的这个常见问题集就是由该公司所发布的(同时也见于 @W(6pyQd
http://www.isc.org/bind),可以说,它具有较强的针对性和实用性。 V;gkSh*^i
1) 哪里可以找到BIND? j 9|KD
BIND以源码的格式发布。当前的版本为BIND 9,不过BIND 8.2.2-P5仍然是广泛发布的版本。考虑到早期版本的安全问 FGX G7vl
题,如果您还在运行比8.2.2-P5更早的版本,那么我们强烈推荐您升级软件。 RB2/TwDZ%
以下的URL包括了源码和其他相关资源的链接,你可能会觉得很有用处: &]L~(kL
http://www.isc.org/procts/BIND/ I4o^<P+
源码也可以使用ftp从ftp://ftp.isc.org/isc/bind/src/8.2.2-P5/bind-src.tar.gz 获得。 'f Vw$0W
镜像BIND的ftp服务器列表和其它ISC维护的开发源码软件可以在ftp://ftp.isc.org/isc/MIRRORS上找到。 `1N.=W
2) 怎样安装BIND? l.%B,bUg
下载源码到一个空的目录。如果你需要的话,你也可以下载文档和捆绑的包。 OqOA*AnNK[
接下来,你需要解压(unzip)和解包(untar)发布的包。 <n1],wY
gunzip < bind-src.tar.gz | tar xf - w0_x\
然后,你需要编译和安装软件。常见src/INSTALL以获知指令。在安装之前请备份系统,因为安装可能会覆盖旧的二进制 a_$ Xi
代码;这是依赖于系统的。 W"$w57
如果你是从BIND 4转过来的,那么你需要将配置文件named.boot转成新的语法。这里包含了一个转换程序。 Q-! |C
named-bootconf }(y
< /etc/named.boot w1'SM}J%
> /etc/named.conf 9JEC+]6
同时,如果你正从BIND 4转换而来,那么系统启动脚本需要进行修改,以使之查找/etc/named.conf,而不是 z$Tk?0*a
/etc/named.boot。 f o+-<s
接着,你需要终止老的named并启动新的。 TD:^&o+
kill -TERM tF /[A-
ndc start [#yE)| Q
检查系统日志(在大多数Unix系统上,错误都存放在/var/adm/messages中),因为当前的版本比先前的版本容错性会差 g^|3;F2j
一些。 cw%V0r
3) 哪里有基于NT的BIND? {}x.lWT-
最新的基于NT的BIND可以从ftp://ftp.isc.org/isc/bind/src/8.2.2-P5/bind-src.tar.gz上的8.2.2p5源码中找 R zsW2.&
到。你应该能够使用WinZip来解压/解包8.2.2p5文件。一旦解压了源码,你会在src/port/winnt目录下找到NT的移植程 ]NcAW6"
序。你需要Visual C++ 6.0来编译它。 lyh=!F*X4
4) 哪里可以找到有关BIND的信息? l;,wcUi
先从http://www.isc.org/procts/BIND/开始。 DA #S
对于BIND用户,有一个可用的邮件列表。使用http://www.isc.org/services/public/lists/bind-lists.html上的表 sw*ryaPHw
单订阅。在你提交你的问题到邮件列表之前,请检查邮件列表的档案以查看是否你的问题已经回答过了。可搜索的 gPoZfV
bind-users邮件列表档案位于http://www.isc.org/ml-archives/bind-users/。 p6ba)>r
Bind-users邮件列表同时指向了中等的Usenet新闻组comp.protocols.dns.bin.你可以在http://www.deja.com/上搜 <SjBK\.>
索该新闻组。 )6=~|6c^
BIND的"圣经"是DNS and BIND,Third Edition,作者:Paul Albitz和Cricket Liu。 - ]*R[}a8p
5) 为什么我应该升级BIND到最新的版本? b>NV)
最新的BIND版本解决了在以前版本中发现的bug和/或安全漏洞。 V)]OHyC6{
6) 我现在使用的是BIND的什么版本? ohF8Rfr/2
有几种方法可用来确定你正在使用什么版本的BIND。请注意有一些是针对于特定操作系统的,而其它一些不能在早于 b>\F K
4.9.5的BIND版本上工作。我们会在下面的描述中指明这些限制。 5pB5KCV
● 最简单的告知版本号的方法是查找named启动时写到系统日志文件中的消息。例如: #I Q1
Jul 14 12:54:21 ns named[15677]: starting. named 8.2.2-P5 !\cM,+6R
Jul 14 12:54:21 [email protected]:/usr/sbin/named C<ruBa9Z
● named带"-v"开关会显示版本: 0Hq N[ @
# named -v ''dfa<5%I
named 8.2.2-P5 Thu Jul 20 17:19:57 PDT 2000 g-qJi ~6#
[email protected]:/usr/sbin/named ;lM _
● 当使用更新版本的BIND时,BIND的name后台守护程序的控制接口程序可以提供版本信息: *${\w`H
ndc status (+-S_A(o
● 源代码控制系统(SCSS)的"what"命令提供了文件的标示信息。 Bh(iA\/
what /named e5r8_50ut|
以下命令当在运行BIND 4.9.5及以上版本的服务器上检查时会起作用。这两个程序都包括在BIND的发布版本中。 "$CYOoa
●nslookup _|h1
# nslookup h;*Hd>W>_
Default Server: ns.yourco.bogus (?j47Ts
Address: 333.333.333.333 _K)pf
> set class=chaos ve;qLn/o
> set type=txt ;["?u S
> version.bind @c.rC090
Server: ns.yourco.bogus "^L%]
Address: 333.333.333.333 i3ovFUs(
VERSION.BIND text = "8.2.2-P5" x]OiQL%jz
〉 cf1V^v3
●dig :.hnR&>r;
dig version.bind txt chaos @ server name z$X1,h.\U
或者 W*1?87<'r
dig @ server name txt chaos version.bind ^f$7t
7) 我得到一个错误提示:No default TTL set using SOA minimum instead.为什么会这样?怎么办? D3rJ0m7[
从BIND 8.2开始,你需要一条$TTL指示来设置域的默认TTL。可在域的SOA记录之前添加一条'$TTL XXXXXX'指示。 .X Xv2R
(XXXXXX表示计算到秒的默认TTL.) ..s6$i#@
8) 主机名可使用哪些有效字符? IG/*CJ}@
主机名可以包括字母,数字以及连字符,但不能以连字符开头。下划线(_)在主机名中不是有效的字符。尽管有一些DNS ^b{
服务软件包可以允许下划线在主机名中出现,但大多数是不行的。使用一个带有下划线的域或者主机名会导致大多数 @em=?gla
Internet上的名字服务器不能识别相关的主机/IP地址。 s5Av"Jy:k
9) 为什么当我在本域中的一台主机上使用nslookup时会得到non-authoritative的答复? Q*z"m |
这通常发生在域(zone)文件中有错误出现的时候。检查系统日志文件'messages'以查证错误。 GtZ(rVA0F/
10) 我已经修改了自己的域,但是在Internet上的其它地方看不到这种改变,为什么? nE8IaTpT
每当你修改了你的域文件,例如当你添加或者修改了主机记录的时候,你也必须更新域的SOA记录的文件版本,或者是 ]Bl.m:vMc
"serial number",因为名字服务器从你的服务器检索信息时需要知道发生了修改。如果从上次查询之后版本号没有修 q6BW*<
改,就不会执行更新。举例如下: Dl6]iB
; foo.com. DuB;X\E`{
$TTL 14400 |6p ^Gz.H,
@ IN SOA o.8J#XJP*
someplace.foo.com. admin.foo.com. ( K$i<D) c
1 ; this file's version -- change I2NfG ~9 J
43200 ; refresh twice a day yj~cD9:(e
1800 ; retry refresh every 15 minutes yj->X7}+'
604800 ; expire after 1000 hours (over week) Ve\2#Yh
259200 ) ; minimum TTL of 3 day t~?^o!Q
显而易见,带'file's version'的行是我们想要修改的。版本序号可以为任何数字;1,2,3,4或者2001,2002, ngx6}[tgV
2003,等等。唯一的限制是版本号不能多于10位。在这个示例中,如果你对域文件作了修改,你需要将版本序号改为 TSBSfc4zu
'2'。 $g_TCdN%
11) 为什么没有IP地址? ((${Ea1
在/etc/resolv.conf中没有名字服务器记录。 4o _G ,/G_
12) 在我的日志文件中出现的"lame server"错误是什么? Aa]0IY'7jp
"lame server"指的是不能确信其是否具有域的授权的服务器。如果你有lame server,或者是授权给了lame server的 I<zvq!Z)
域,那么"lame server"消息很有用。如果你宁愿不看到"lame server"消息,你可以使用logging语句丢弃它们: YbA ]9uB
logging { X TDb R]
category lame-servers{ null; }; $=?:-f5
}; LOFv5H4I
13) Microsoft Windows 2000和BIND的关系怎样? MFY813 `
BIND默认会检查所有记录以确保只在需要主机名的地方使用了主机名,这能够防止意外的一致性问题。 <;+\&u7x*
Microsoft Windows 2000使用一个称为"_msdcs"来存放动态目录数据。尽管这种子域不会与合法的主机名产生不一致, p\9x[9:iR1
但是也使得在子域中存放非法的主机名成为可能。这种主机名的使用默认是被BIND拒绝的。 @YS osEk}
动态目录希望在_msdcs中有"全局目录(global catalog)"(例如,gc._msdcs.example.com),这默认是拒绝的。为了解 Q/&"5rvC
决此问题,我们推荐动态目录设为独立的域(例如,"_msdcs.example.com")并配置成不检查非法的主机名。这应该是合理 -'Z ~(su
的,因为Window 2000服务器创建这些数据,而且不应该会与其它希望访问这些数据的Windows 2000机器产生不一致问 iIaj )ihQI
题。 })7p M`a
例如, WI:kRt1
zone "_msdcs.example.com" { >x=?UPe8
type master; }26- @:
file "_msdcs.example.db"; JCbt$6Tv
check-names ignore; @eaD5'$bt)
allow-update { localnets; }; ec?mz?
}; sU QfN{:
14) 什么是TSIG key? (+5m(CvN
TSIG key提供了一种鉴别和验证交换的DNS数据有效性的方法,它在解析器和服务器之间或者两台服务器之间使用一个密 cy_*
钥。 Z lY<!
15) 我怎样使用TSIG key来动态更新我的DNS? 1vB(T!9%
首先你需要使用以下命令生成一个TSIG密钥(我们将使用tsig-key作为密钥文件名): (+zhM'Z
dnskeygen -H 128 -h -n tsig-key。 Vh#X8 S 4
这会生成一对密钥文件: AvU =D$a
'Ktsig-key.+157+00000.key',这是一个ASCII文件,它包括以下行: YML|F;
tsig-key. IN KEY 513 3 157 <$u32YI H.
awwLOtRfpGE+rRKF2+DEiw== t 9 O;*rv
和 rmbW3!bh
'Kvip-key.+157+00000.private' ,这包括: N&-tX$iLa5
Private-key-format: v1.2 Algorithm: 157 (HMAC) .bkk{&*{
Key: awwLOtRfpGE+rRKF2+DEiw== i5:W'g1b?
你将需要获取base64编码的密钥awwLOtRfpGE+rRKF2+DEiw== 并在配置你的服务器命名设置中使用它。例如: J,6Ir/f"b
key tsig-key. { algorithm hmac-md5; secret "awwLOtRfpGE+rRKF2+DEiw=="; }; rkn#b:Dxq
zone "ddns.dregis.com" { 3K|*Bd()t
... 0z]o0= {
... l40iikt
allow-update { key tsig-key. ; }; ImBFtHXYo
} kJVcF)
记得在这之后重启named。 UEPu;.#=Q
然后,你需要复制这两个密钥文件到客户系统的某个位置(例如使用/var/named/tsig)。最后,你需要运行以下命令: dC*\GwP
nsupdate -k /var/named/tsig:tsig-key。 FCr\
16) 在named.conf中的'forwarder'选项有何作用? EKH!_!
forwarder行告诉服务器转发所有查询,因为它对另一个域名服务器没有授权或缓冲的数据。