Chinaunix首页 | 论坛 | 博客
  • 博客访问: 148686
  • 博文数量: 54
  • 博客积分: 1732
  • 博客等级: 上尉
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-23 23:29
文章分类

全部博文(54)

文章存档

2011年(3)

2010年(26)

2009年(25)

分类: LINUX

2009-12-29 23:19:05

我现在有两台机器,一台运行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而已

阅读(3428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~