Linux에서 수정된 호스트 파일이 유효하지 않은 경우 어떻게 해야 하나요?
1. 로컬 별칭 /etc/hosts의 호스트 이름을 수정한 후 Linux가 적용되지 않는 경우가 많습니다. 해결 방법
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을 가리킵니다.
관련 권장 사항: "
linux tutorial"
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 stop2. Linux의 DNS
Linux 자체에는 DNS 캐시가 없습니다. DNS 캐시를 사용하려면 직접 설치해야 합니다. 서비스 프로그램 NSCD(이름 서비스 캐시 데몬)
nscd는 3개의 서비스 passwd 그룹 호스트를 캐시하므로 /etc/passwd, /etc/hosts 소스에 해당하는 3개의 라이브러리를 기록합니다. 및 /etc/resolv.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 파일을 편집하고 다음 줄을 추가하여 로컬 DNS 캐시를 활성화할 수 있습니다:
enable-cache 호스트 예
Alibaba Cloud Host에 대한 구성은 다음과 같습니다.
[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 서비스 bb465b611d06b065d5e0e67bdf17426c: 지정된 서비스 캐시를 활성화 또는 비활성화합니다.
긍정적-time-to-live 서비스 값: 지정된 캐시에 있는 서비스의 긍정적인 항목(성공적인 요청)의 TTL(Time to Live)을 설정합니다. 값은 초 단위입니다. 값이 클수록 캐시 적중률이 증가하여 평균 응답 시간이 감소하지만 캐시 일관성 문제가 증가합니다.
negative-time-to-live 서비스 값: 지정된 캐시에 있는 부정적인 항목(실패한 요청)의 TTL(Time to Live)을 설정합니다. 값은 초 단위입니다. 시스템 데이터베이스에 없는 uid가 소유한 파일이 있는 경우(예: Linux 커널 소스를 루트로 압축 해제하는 경우) 캐시 일관성 문제를 줄이기 위해 값을 작게 유지해야 합니다.
추천 크기 서비스 값: 내부 해시 테이블의 크기이며, 최적화를 위해 값을 소수로 유지해야 합니다.
check-files 서비스 bb465b611d06b065d5e0e67bdf17426c: 지정된 서비스에 속한 파일의 변경 사항 확인을 활성화 또는 비활성화합니다. 이러한 파일은 /etc/passwd, /etc/group 및 /etc/hosts입니다.
nscd 보기 및 지우기
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에서 호스트 파일 수정이 유효하지 않은 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!