Linux에서 호스트 변경에 대한 솔루션이 적용되지 않습니다. 1. "/etc/sysconfig/network" 파일을 찾아 엽니다. 2. HOSTNAME을 "NETWORKING=yes HOSTNAME=host1"과 같이 해당 별칭으로 수정합니다. . 네트워크 서비스를 다시 시작하려면 "service network restart" 명령을 전달하세요.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
Linux에서 호스트 변경이 적용되지 않으면 어떻게 해야 하나요?
Linux는 로컬 /etc/hosts의 호스트 이름을 수정한 후 적용되지 않는 경우가 많습니다
1. Linux는 로컬 별칭 /etc/hosts의 호스트 이름을 수정한 후 적용되지 않는 경우가 많습니다. Linux는 로컬 별칭 /etc를 변경합니다. /hosts의 호스트 이름은 종종 적용되지 않습니다. 예를 들어 /etc/hosts의 내용은 다음과 같습니다.
#192.68.1.10 message.xxx.com 192.68.1.11 message.xxx.com
그러나 ping message.xxx.com은 여전히 192.68.1.10을 가리킵니다.
일반적으로 두 가지 해결 방법이 있습니다.
1) 다시 시작하는 것이 가장 직접적이고 안정적이며 안정적인 방법입니다. 가끔 다시 시작하는 것이 불편할 경우 두 번째 방법을 사용할 수 있습니다.
2) 다음과 같이 /etc/sysconfig/network 파일을 수정하고 HOSTNAME을 해당 별칭으로 변경합니다.
NETWORKING=yes HOSTNAME=host1
수정 후 네트워크 서비스를 다시 시작합니다.
service network restart (本质是/etc/init.d/network)
3). 서버를 다시 시작하면 로컬 DNS 캐시로 인해 발생해야 합니다.
nscd가 활성화되어 있는지 확인: ps -ef|grep nscd
Linux nscd 캐시 서비스 직접 끄기:
/etc/init.d/nscd stop
2. Linux DNS
Linux 자체에는 DNS 캐시가 없으므로 이를 사용해야 합니다. dns 캐시 서비스 프로그램 NSCD(네임 서비스 캐시 데몬)를 직접 설치하세요.
nscd는 3개의 서비스 passwd 그룹 호스트를 캐시하므로 /etc/passwd, /etc/hosts 및 /etc/resolv 소스에 해당하는 3개의 라이브러리를 기록합니다. 각 conf 라이브러리는 두 개의 캐시를 저장합니다. 하나는 발견된 레코드용이고 다른 하나는 발견되지 않은 레코드용입니다. 각 캐시에는 TTL(Time to Live)이 있습니다.
설치:
yum install nscd
구성 파일 /etc/nscd.conf를 수정하고, DNS 캐싱을 활성화하고, 이 줄을 수정하세요.
enable-cache hosts yes。
nscd 서비스가 활성화되면 dns 캐시, 그렇지 않으면 DNS 캐시가 없습니다.
서비스 시작, 중지, 다시 시작
service nscd start | stop | restart
nscd 구성:
/etc/nscd.conf 파일을 편집하고 다음 행 NS를 추가하여 로컬 D를 활성화할 수 있습니다. 캐시:
enable-cache hosts yes
Alibaba Cloud 호스트의 구성은 다음과 같습니다.
[root@iZ2571ykq ~]# cat /etc/nscd.conf #logfile /var/log/nscd.log threads 6 max-threads 128 server-user nscd debug-level 5 paranoia no enable-cache passwd no enable-cache group no enable-cache hosts yes positive-time-to-live hosts 5 negative-time-to-live hosts 20 suggested-size hosts 211 check-files hosts yes persistent hosts yes shared hosts yes max-db-size hosts 33554432
관련 매개변수에 대한 설명은 다음과 같습니다.
logfile debug-file-name: 파일 이름을 지정합니다. 디버깅 정보가 기록됩니다.
debug-level 값: 원하는 디버깅 수준을 설정합니다.
스레드 수: 요청을 기다리기 시작한 스레드 수입니다. 최소 5개의 스레드가 생성됩니다.
server-user user: 이 옵션을 설정하면 nscd는 루트가 아닌 이 사용자로 실행됩니다. 각 사용자가 별도의 캐시(-S 매개변수)를 사용하는 경우 이 옵션은 무시됩니다.
enable-cache 서비스
긍정적-time-to-live 서비스 값: 지정된 캐시에 있는 서비스의 긍정적인 항목(성공적인 요청)의 TTL(Time to Live)을 설정합니다. 값은 초 단위입니다. 값이 클수록 캐시 적중률이 증가하여 평균 응답 시간이 감소하지만 캐시 일관성 문제가 증가합니다.
negative-time-to-live 서비스 값: 지정된 캐시에 있는 부정적인 항목(실패한 요청)의 TTL(Time to Live)을 설정합니다. 값은 초 단위입니다. 시스템 데이터베이스에 없는 uid가 소유한 파일이 있는 경우(예: Linux 커널 소스를 루트로 압축 해제하는 경우) 캐시 일관성 문제를 줄이기 위해 값을 작게 유지해야 합니다.
추천 크기 서비스 값: 내부 해시 테이블의 크기이며, 최적화를 위해 값을 소수로 유지해야 합니다.
check-files 서비스
nscd 캐시 DB 파일은 /var/db/nscd에 있습니다.
nscd -g 통계 보기
nscd 캐시 지우기:
nscd -i passwd nscd -i group nscd -i hosts
물론 캐시 라이브러리도 삭제하거나 nscd 서비스를 먼저 중지하세요.
rm -f /var/db/nscd/hosts service nscd restart
또는 nscd 서비스 nscd stop을 직접 중지하세요.
추천 학습: "
linux 비디오 튜토리얼"
위 내용은 Linux에서 호스트 변경이 적용되지 않는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!