환경은빨간 모자
나아니요특권을 받은
그러나 지금/etc/resolv.conf예:
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
나(단일 사용자)만 DNS를 변경할 수 있나요?
어떻게 해야 하나요?
답변1
일반적으로 그렇지 않습니다. 그러나 일부 특별한 경우에는 LD_PRELOAD
권한이 있는 C 런타임 라이브러리(및 자체 구성)를 위장하는 프로그램을 작성할 수 있습니다 .
이것은루트 액세스 없이 cwrap을 사용하여 소프트웨어 스택 테스트:
현재까지 cwrap.org 제품군의 최신 멤버는 resolv_wrapper입니다. 이 라이브러리를 사용하면 libresolv API를 사용하는 애플리케이션을 테스트할 수 있습니다. 일반적인 예는 SRV DNS 레코드를 사용하여 연결할 서버를 찾는 프로그램입니다. 이 래퍼는 NSS 호출(예: getaddrinfo())을 래핑하는 nss_wrapper의 호스트 지원과 다릅니다. 반면에 resolv_wrapper는 libresolv 하위 수준 API를 지원합니다.
resolv_wrapper를 사용하면 사용자 정의 DNS 서버를 설정하고 환경 변수를 사용하여 해당 서버에 대한 테스트를 지정하거나 애플리케이션이 테스트 DNS 응답을 작성하는 데 사용할 가짜 DNS 데이터베이스 파일을 설정할 수도 있습니다. 첫 번째 옵션은 DNS 서버 또는 DNS를 포함하는 통합 서버(예: FreeIPA 또는 Samba)를 테스트하는 데 유용합니다. 두 번째 옵션은 클라이언트 서비스의 자동 검색을 테스트해야 하는 클라이언트 테스트에 더 유용합니다.
이 기사는 계속해서 완전한 예를 보여줄 것이라고 말합니다(그러나 이는 단지 일부분일 뿐입니다). 완전한 솔루션을 구현하기가 어려울 수도 있습니다.