>  기사  >  운영 및 유지보수  >  Linux에서 호스트 파일 수정이 유효하지 않은 경우 수행할 작업

Linux에서 호스트 파일 수정이 유효하지 않은 경우 수행할 작업

藏色散人
藏色散人원래의
2019-12-28 10:48:517701검색

Linux에서 호스트 파일 수정이 유효하지 않은 경우 수행할 작업

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 stop

2. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.