免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1643 | 回复: 0
打印 上一主题 下一主题

/etc/hosts功能初探 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-29 23:19 |只看该作者 |倒序浏览

                我现在有两台机器,一台运行kubuntu9.10系统,主机名是laptop,IP地址为192.168.1.150,另一台运行FreeBSD8.0 Release,主机名FreeBSD,IP地址为192.168.1.150,两台电脑通过一个最简易的路由器共享拨号网络(我菜鸟一个,暂时还没学习到自己配置NAT的程度,只能买路由器了),两台机器共同生活在一个叫domain的域内。
以前要ssh登录到FreeBSD系统上都是用IP地址登录的,最近嫌每次都要输入IP地址麻烦,就想着使用主机名登录,就为两台电脑弄一个DNS服务器没必要,而且咱暂时也没那个能力,配置一下/etc/hosts是最好的解决办法
参考:
man 5 hosts
FreeBSD系统/etc/hosts文件中自带的注释
/etc/hosts文件实际上就是一个主机名与IP地址的映射关系,文件中以#开头的部分为注释,其余部分每一行都包括以下数据:
IP地址    主机名     [别名]
典型的数据如下:
       127.0.0.1       localhost
       192.168.1.10    foo.mydomain.org       foo
上面的第一行数据只有IP地址和主机名,而第二行数据显示将地址192.168.1.10映射到mydomain.org域的foo主机上,同时给该主机定义别名foo,而不需要每次都使用foo.mydomain.org
-----------------我是分界线,以下操作在FreeBSD系统下进行--------------------
#vi /etc/hosts
在其中添加:
192.168.1.150           laptop.domain    laptop
然后尝试ping laptop
#ping laptop
PING laptop.domain (192.168.1.150): 56 data bytes
64 bytes from 192.168.1.150: icmp_seq=0 ttl=64 time=0.376 ms
64 bytes from 192.168.1.150: icmp_seq=1 ttl=64 time=0.222 ms
64 bytes from 192.168.1.150: icmp_seq=2 ttl=64 time=0.319 ms
64 bytes from 192.168.1.150: icmp_seq=3 ttl=64 time=0.223 ms
^C                                                         
--- laptop.domain ping statistics ---                       
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.222/0.285/0.376/0.066 ms
由上面的结果看到链接成功,同样的ping laptop.domain也能成功链接
然后将/etc/hosts文件中刚才添加的那行改成:
192.168.1.150           laptop.domain   
此时ping laptop.domain仍然可以成功,但是ping laptop就不通了
继续修改/etc/hosts文件,将刚才添加的那一行修改成:
192.168.1.150           aptop.domain     laptop
注意上面将主机名修改得与另一台电脑上实际设定的主机名字不一致,此时,ping laptop可以链接,ping aptop也可以链接,但是ping laptop.domain就不通了,由此可见/etc/hosts只是在本机上建立一个主机名与IP地址之间的对应关系,与对方真正的主机名没有关系
-----------------我是分界线,以下操作在kubuntu系统下进行--------------------
默认情况下,我的kubuntu系统/etc/hosts文件中统一都没有别名(只有IP地址和主机名两项)
我依葫芦画瓢,在其中添加了
192.168.1.100   FreeBSD
同样的,此时可以ping FreeBSD成功,再将其改成
192.168.1.100   FreeBS
此时,ping FreeBS成功,ping FreeBSD不成功,最后,该回原来的
192.168.1.100   FreeBSD
因为我在FreeBSD上配置了sshd,此时,使用
ssh 192.168.1.100 -l compass

ssh FreeBSD -l compass
都能成功登录
-----------------------我是分界线,以下是结论-----------------------------
其实,如果仅仅是为了解决ssh登录是输入麻烦的问题,完全可以在.bashrc中设置set -o vi,利用bash的历史命令以及vi的查找功能就可以解决,这里搞这么麻烦,无非是想弄清楚一下/etc/hosts而已
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105027/showart_2134795.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP