리눅스

hostnamectl set-hostname <HOSTNAME>

정지홍 2024. 8. 3. 19:35

hostname

  • 컴퓨터 or 네트워크에 할당된 고유한 이름
  • 호스트네임은 네트워크에서 다른 시스템과 통신할 때 식별하는데 사용됨.
  • 이는 서버 식별, 로그 분석 , 네트워크 관리 및 구성에 중요한 역할을 함.
  • 호스트 네임은 다른 컴퓨터나 네트워크에 접속할 수 있는 유효한 이름이어야 함

[root@localhost limits.d]# hostnamectl
   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: b9169e225da54f1bb78946ecaaaffd97
           Boot ID: 7f272e66cb944a3cb4d5ec563bef6a39
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64


# 위에서 보면 현재 호스트명은 localhost.localdomain임을 알수있다.

 

[root@localhost limits.d]# hostnamectl set-hostname 'localCentos'
[root@localhost limits.d]# hostnamectl
   Static hostname: localcentos
   Pretty hostname: localCentos
         Icon name: computer-vm
           Chassis: vm
        Machine ID: b9169e225da54f1bb78946ecaaaffd97
           Boot ID: 7f272e66cb944a3cb4d5ec563bef6a39
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64
      
# 현재 hostnamectl set-hostname <HOSTNAME>을 이용하여 호스트의 이름을 변경했다.

[root@localhost limits.d]#  cat /etc/hostname
localcentos
# cat 명령어로로 확인이 가능하다

[root@localhost limits.d]# hostname
localcentos
# 그냥 이렇게도 확인 가능. 이거는 위의 /etc/hostname에서 가져오는 거

[root@localhost limits.d]# hostname localAdmin
[root@localhost limits.d]# hostname
localAdmin
# 이렇게도 변경 가능

브라우저에 도메인 이름을 치면, 네임서버를 거쳐 도메인 이름은 ip 주소로 변환이 됨.

만약 브라우저에 localhost입력시 /etc/hosts 파일을 우선적으로 참고해서, 네임서버를 아이피주소로 바꿈.

매핑테이블 형식. 이게 dns서버라고 생각하면 됨

형식은 ip주소 도메인이름 이다.

이를 수정하고나면 수정 내용을 메모리에 올려야하며 network데몬을 재실행 하면 됨.


[root@localhost limits.d]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@localhost limits.d]# /etc/init.d/networking restart
-bash: /etc/init.d/networking: 그런 파일이나 디렉터리가 없습니다

[root@localhost limits.d]# cd /etc/init.d
[root@localhost init.d]# ls
README  functions  jexec  netconsole  network
[root@localhost init.d]# ./network restart
인터페이스 ens33 (을)를 종료 중:   장치 'ens33'의 연결이 성공적으로 해제되었습니다.
                                                           [  OK  ]
loopback 인터페이스 종료 중:                               [  OK  ]
loopback 인터페이스 활성화중 입니다:                       [  OK  ]
ens33 인터페이스 활성화중 입니다:  연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/8)
                                                           [  OK  ]

[root@localhost etc]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 172.16.25.2

# 사용하고자 하는 네임서버를 지정하는 파일
# search는 호스트+도메인으로 사용할 도메인 명을 지정해둔 것
# 거의 모두 호스트명과 도메인 명을 함께 사용한다.
# 하지만 특별히 호스트명만 사용된 경우 사용할 도메인명을 의미
# ex) search localdomain이면 www만 입력한다면 www.localdomain으로 인식하는 것