/etc/hosts 는 DNS 참조보다 우선한다. aaa.bbb.ccc 라는 호스트가 등록돼 있으면 DNS 에서 정보를 가져오기 전에 이 파일을 참조한다. 재시작은 필요 없으며 바로 적용된다.
sudo vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# IP_ADDR FQDN 별칭
192.168.113.241 hdp01.encore.rnd hdp01
192.168.113.242 hdp02.encore.rnd hdp02
192.168.113.243 hdp03.encore.rnd hdp03
192.168.113.244 hdp04.encore.rnd hdp04
192.168.113.245 hdp05.encore.rnd hdp05
FQDN 을 별칭보다 앞에 둔다. 같은 내용을 모든 노드에 복사한다.
for h in hdp02 hdp03 hdp04 hdp05; do scp /etc/hosts $h:/tmp/hosts && ssh $h 'sudo cp /tmp/hosts /etc/hosts'; done
hostname -f # 자기 FQDN
getent hosts hdp01 # 정방향
getent hosts 192.168.113.241 # 역방향 — FQDN 이 먼저 나와야 한다
ping 은 ICMP 가 막혀 있으면 실패하므로 이름 풀이 확인에는 getent 를 쓴다.
127.0.1.1 <hostname> 줄을 넣는다. 클러스터 노드에서는 이 줄을 지운다 — 데몬이 루프백 주소로 등록된다./etc/nsswitch.conf 의 hosts: 줄에 files 가 dns 앞에 있어야 hosts 가 우선한다. 기본값이 그렇다./etc/hosts 를 먼저 읽는다.