Estou executando o Ubuntu (12.04) no Virtual Box e quero que minha máquina consiga pesquisar seu próprio nome de host, da mesma forma que outras VMs farão nessa rede (estou tentando construir um cluster virtual). Não há servidor DNS, o IP é atribuído pelo VirtualBox, e eu apenas mapeio-os em / etc / hosts.
O nome da máquina é node1 e eu tenho / etc / hosts assim:
user@node1-VirtualBox:~$ cat /etc/hosts
127.0.0.1 localhost
192.168.56.103 node1-VirtualBox.cs.ucl.ac.uk node1-VirtualBox
#10.0.2.15 node1-VirtualBox
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Então, eu diria que
- O nome completo do host seria node1-VirtualBox.cs.ucl.ac.uk
- node1 e node1-VirtualBox.cs.ucl.ac.uk resolveriam para 192.168.56.103 (e vice-versa)
Do nome do host, estou recebendo isto:
$hostname -> node1-VirtualBox (OK)
$hostname --fqdn -> node1-VirtualBox.cs.ucl.ac.uk (OK)
$hostname --A -> node1.local node1.cs.ucl.ac.uk (OK i guess)
hostname parece promissor, mas quando tento obter endereços IP usando host, não funciona ...
user@node1-VirtualBox:~$ host -v -t A node1-VirtualBox
Trying "node1-VirtualBox.cs.ucl.ac.uk"
Trying "node1-VirtualBox"
Host node1-VirtualBox not found: 3(NXDOMAIN)
Received 110 bytes from 127.0.0.1#53 in 1 ms
user@node1-VirtualBox:~$ host -v -t A 192.168.56.103
Trying "103.56.168.192.in-addr.arpa"
Host 103.56.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
Received 108 bytes from 127.0.0.1#53 in 2 ms
Alguma idéia de por que isso não está funcionando? Pelo que eu li e vejo na configuração, se o DNS é feito no localhost, ele deve apenas verificar o / etc / hosts ... e tudo está lá, certo? E o SSH está funcionando, então claramente este arquivo está correto?
Abaixo da minha configuração:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the 'glibc-doc-reference' and 'info' packages installed, try:
# 'info libc "Name Service Switch"' for information about this file.
passwd: compat group: compat shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files
protocols: db files services: db files ethers: db files rpc: db files
netgroup: nis
resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search cs.ucl.ac.uk
ifconfig:
eth0 Link encap:Ethernet HWaddr 08:00:27:da:a1:bc
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feda:a1bc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:169 errors:0 dropped:0 overruns:0 frame:0
TX packets:176 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:123968 (123.9 KB) TX bytes:21551 (21.5 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:99:65:51
inet addr:192.168.56.103 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::a00:27ff:fe99:6551/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:268 errors:0 dropped:0 overruns:0 frame:0
TX packets:252 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:78333 (78.3 KB) TX bytes:71866 (71.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:12527 errors:0 dropped:0 overruns:0 frame:0
TX packets:12527 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:23857104 (23.8 MB) TX bytes:23857104 (23.8 MB)
POST MORTEM:
Ok, acontece que o comando "host" não resolveu um pouco do meu problema original - não funcionou porque ele não procura em / etc / hosts, como explicado nas respostas abaixo. / p>
O problema original era a falta de nome de host canônico, ou seja, hostname --fqdn
estava retornando localhost. Para consertar eu tive que ter isso:
192.168.56.103 node1-VirtualBox.cs.ucl.ac.uk node1-VirtualBox
como segunda linha no meu / etc / hosts.
No entanto, para que funcione, tive que reiniciar minhas máquinas e reinstalar o Cloudera no meu cluster.