在Linux上使用主机名在两个设备之间进行通信

问题描述

我有两个linux设备dev1和dev2。我的dev1 ip是192.168.1.1,dev2 ip是192.168.1.2,

both are in the   same network.

when ping 192.168.1.1 from dev2 to dev1,i am able to ping.

when i have added /etc/hosts with "192.168.1.1 dev1" on dev1,and tried to ping dev1 from dev2 using 
$pin dev1

I got unkNown hostname

when i have added /etc/hosts with "192.168.1.1 dev1" on dev2,and tried to ping dev1 from dev2 using

$pin dev1

it is working,but this is not what we are expecting. Without any change from dev2,we want to ping dev1. 

In between any DNS server should be configured ? Please help us .

解决方法

就您而言,

when i have added /etc/hosts with "192.168.1.1 dev1" on dev1,and tried to ping dev1 from dev2 using 
$ping dev1

I got unknown hostname

您在dev1机器中添加了条目,并尝试从Dev2 ping通,Dev2没有Dev1的/ etc / hosts条目

 Hence you are getting Unknown hostname

下一步:

when i have added /etc/hosts with "192.168.1.1 dev1" on dev2,and tried to ping dev1 from dev2 using

$ping dev1

是的,因为您已经在dev2 / etc / hosts文件中添加了dev1条目,所以现在您的dev2机器能够从/ etc / hosts文件中解析dev1的IP地址。

如果要解析IP地址而不在/ ect / hosts文件中添加条目,则需要设置dns服务器,将dev1和dev2设置为dns客户端,然后可以使用主机名ping通

如果没有DNS设置,则必须在dev1和dev2机器中都添加/ etc / hosts条目,如下所示:

在Dev1计算机中的示例在/ etc / hosts文件中添加以下条目:

  192.168.1.1 dev1 # Dev1 IP address
  192.168.1.2 dev2 # Dev2 IP address

在Dev2计算机中的示例在/ etc / hosts文件中添加以下条目:

  192.168.1.1 dev1 # Dev1 IP address
  192.168.1.2 dev2 # Dev2 IP address