Linux/unix主机环回地址的一些功用
作者:田逸()发表于[url][/url]
不管是linux、unix还是windows系统,都有一个为127.0.0.1这样的ip地址。这是一个特殊的ip地址,称为主机环回地址。打开文件/etc/hosts,至少有127.0.0.1这一行。在日常工作中极有可能使用环回地址来完成某种任务,但关于环回地址127.0.0.1用途的文章还是相当的少,我在此行文一篇,权作抛砖引玉。
测试功能
127.0.0.1常用来在本机测试各种网络服务,下面列举一些事例:
1、测试sshd服务是否正常。在控制台上运行命令 ssh 127.0.0.1如果出现要求输入密码则表明sshd服务正常。
2、测试ftp服务。在控制台运行命令 ,某个控制台的输出入下:
-bash-3.00# ftp 127.0.0.1
ftp: connect: Connection refused
ftp> |
这个输出表明ftpd服务不正常,正常提供网络服务的ftp输出应该是这样的:
-bash-3.00# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
Name (127.0.0.1:root): |
3、测试邮件服务。控制台执行命令 telnet 127.0.0.1 25 和 telnet 127.0.0.1 110即可判断邮件服务器的运行状态。
4、查看系统都开放了那些端口。Nmap工具是个非常好的选择,输出结果远比netstat 直观。
[root@netmonitor ~]# nmap 127.0.0.1
Starting nmap 3.70 ( [url]http://www.insecure.org/nmap/[/url] ) at 2007-05-15 18:05 CST
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1656 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
Nmap run completed -- 1 IP address (1 host up) scanned in 0.224 seconds |
本地应用程序连接
象apache+php+mysql这样的应用环境,应用程序与mysql数据库同时存在于同一个系统上面,常用环回地址127.0.0.1做套接字的ip地址。
在这里可能有人会质疑:不用环回地址可不可以?答案是肯定的,用主机某个网络接口的ip就可以代替这个环回地址。那这里为什么还要强调这个环回地址呢?主要的原因是方便和稳定。网络接口的地址可能因为某种原因被更改(如服务器搬迁到别的地理位置),或者应用被迁移到另外的系统,象前面描述的apache+php+mysql 环境,由于使用了环回地址127.0.0.1,就不会受ip地址改变的影响,反之亦然。有的网络服务,对它自身所监听的网络接口---如把apache的监听设置成 “Listen 192.168.27.201:80”—依赖性比较高,一旦网络接口中断(down),服务本身也可能停止,如果采用默认的监听地址127.0.0.1就不会发生这种情况。
2007-5-16
本文出自 “sery” 博客,请务必保留此出处http://sery.blog.51cto.com/10037/27895