2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

리눅스에서 시스템의 DNS 설정을 확인하는 방법은?

_____
Q1: 리눅스에서 현재 DNS 설정을 어디서 확인할 수 있나요?
A1: 대부분의 리눅스 배포판에서 DNS 설정은 `/etc/resolv.conf` 파일에 저장되어 있습니다. 이 파일을 열어 nameserver 항목을 확인하면 현재 사용 중인 DNS 서버 주소를 알 수 있습니다.
```bash
cat /etc/resolv.conf
```

---

Q2: `/etc/resolv.conf` 파일 외에 DNS 정보를 확인할 수 있는 방법은?
A2: 네트워크 관리 도구나 서비스에 따라 달라질 수 있지만, 다음 방법들도 있습니다.

- NetworkManager 사용 시
```bash
nmcli dev show | grep DNS
```
또는
```bash
nmcli connection show | grep ipv4.dns
```

- systemd-resolved 사용 시
```bash
systemd-resolve --status | grep 'DNS Servers' -A2
```
또는
```bash
resolvectl status
```

---

Q3: `/etc/resolv.conf` 파일이 자동으로 변경되는 경우 어떻게 하죠?
A3: 시스템이 DHCP 또는 NetworkManager에 의해 자동으로 DNS 설정을 관리할 경우, 수동 편집은 곧 초기화될 수 있습니다. 이럴 때는 다음과 같이 설정을 영구 변경해야 합니다.

- NetworkManager 설정에서 DNS 서버를 직접 지정한다.
```bash
nmcli connection modify ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up
```
- systemd-resolved 설정을 편집한다 (`/etc/systemd/resolved.conf`).
- DHCP 클라이언트 설정 파일 (예: `/etc/dhcp/dhclient.conf`)에서 DNS 옵션을 변경한다.

---

Q4: DNS 캐시 확인은 어떻게 하나요?
A4: DNS 캐시를 확인하고 싶다면 다음 명령어를 사용할 수 있습니다.

- systemd-resolved 캐시 보기:
```bash
systemd-resolve --statistics
```
- `dnsmasq` 캐시 상태:
`dnsmasq`의 경우 직접 확인은 어렵지만 로그를 참조하거나 재시작할 수 있습니다.

---

Q5: 도메인 네임 해석 상태를 직접 테스트하는 방법은?
A5: `dig`나 `nslookup` 명령어를 통해 현재 설정된 DNS 서버를 이용해 이름 해석 테스트를 할 수 있습니다.

예시)
```bash
dig google.com
nslookup google.com
```
또는 특정 DNS 서버를 지정해서 조회할 수도 있습니다.
```bash
dig @8.8.8.8 google.com
nslookup google.com 8.8.8.8
```

---

요약
- 기본 확인: `/etc/resolv.conf`
- NetworkManager: `nmcli`
- systemd-resolved: `resolvectl` 또는 `systemd-resolve --status`
- DNS 테스트: `dig`, `nslookup`
- 자동 변경 시 네트워크 관리 도구에서 설정 변경 필요

이 방법들을 활용하면 리눅스 시스템의 DNS 설정을 효과적으로 확인하고 관리할 수 있습니다.
리눅스에서 시스템의 DNS 설정을 확인하는 방법은 여러 가지가 있으며, 사용 중인 리눅스 배포판에 따라 약간의 차이가 있을 수 있습니다.

일반적으로 DNS 설정은 `/etc/resolv.conf` 파일에 저장되며, 이 파일을 통해 시스템이 DNS 서버에 접근하는 방식을 확인할 수 있습니다.

아래에서는 DNS 설정을 확인하는 다양한 방법을 자세히 설명하겠습니다.

1. `/etc/resolv.conf` 파일 확인 가장 기본적인 방법은 `/etc/resolv.conf` 파일을 확인하는 것입니다.

이 파일에는 DNS 서버의 IP 주소가 나열되어 있습니다.

다음 명령어를 사용하여 내용을 확인할 수 있습니다.

```bash cat /etc/resolv.conf ``` 출력 예시: ``` Generated by resolvconf nameserver

8.8.8.8 nameserver

8.8.4.4 ``` 여기서 `nameserver` 항목은 DNS 서버의 IP 주소를 나타냅니다.

여러 개의 DNS 서버가 설정되어 있을 경우, 시스템은 위에서부터 순서대로 DNS 요청을 처리합니다.



2. `systemd-resolve` 명령어 사용 `systemd`를 사용하는 배포판에서는 `systemd-resolve` 명령어를 통해 DNS 설정을 확인할 수 있습니다.

다음 명령어를 입력합니다.

```bash systemd-resolve --status ``` 이 명령어는 현재 활성화된 DNS 서버와 각 인터페이스에 대한 DNS 설정을 보여줍니다.

출력 예시는 다음과 같습니다.

``` Global DNS Servers:

8.8.8.8

8.8.4.4 DNS Domain: ~. Link 2 (eth0) Current Scopes: DNS LLMNR setting: yes MulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no DNS Servers:

8.8.8.8

8.8.4.4 DNS Domain: ~. ```

3. `nmcli` 명령어 사용 NetworkManager를 사용하는 시스템에서는 `nmcli` 명령어를 통해 DNS 설정을 확인할 수 있습니다.

다음 명령어를 입력합니다.

```bash nmcli dev show | grep DNS ``` 이 명령어는 각 네트워크 인터페이스에 대한 DNS 서버 정보를 출력합니다.

출력 예시는 다음과 같습니다.

``` IP4.DNS[1]:

8.8.8.8 IP4.DNS[2]:

8.8.4.4 ```

4. `resolvectl` 명령어 사용 `systemd`의 최신 버전에서는 `resolvectl` 명령어를 사용할 수 있습니다.

이 명령어는 DNS 설정을 확인하는 데 유용합니다.

```bash resolvectl status ``` 이 명령어는 DNS 서버와 관련된 다양한 정보를 제공합니다.



5. DNS 캐시 확인 DNS 캐시가 활성화된 경우, 캐시된 DNS 레코드를 확인할 수 있습니다.

`systemd-resolved`를 사용하는 경우 다음 명령어를 사용할 수 있습니다.

```bash sudo journalctl -u systemd-resolved ``` 이 명령어는 DNS 요청과 응답에 대한 로그를 보여줍니다.



6. DNS 테스트 DNS 설정을 확인한 후, 실제로 DNS가 제대로 작동하는지 테스트할 수 있습니다.

`dig` 또는 `nslookup` 명령어를 사용하여 특정 도메인의 DNS 정보를 조회할 수 있습니다.

```bash dig example.com ``` 또는 ```bash nslookup example.com ``` 이 명령어들은 도메인에 대한 DNS 레코드를 조회하고, 응답 시간을 포함한 다양한 정보를 제공합니다.

결론 리눅스에서 DNS 설정을 확인하는 방법은 다양하며, 사용 중인 시스템의 구성에 따라 적절한 방법을 선택할 수 있습니다.

`/etc/resolv.conf` 파일을 확인하는 것이 가장 기본적인 방법이지만, `systemd-resolve`, `nmcli`, `resolvectl` 등의 명령어를 통해 더 많은 정보를 얻을 수 있습니다.

DNS 설정을 확인하고, 필요에 따라 수정하는 것은 네트워크 문제를 해결하는 데 중요한 과정입니다.

작성자: 김도윤 [비회원] | 작성일자: 1년 전 2024-09-30 08:49:46
조회수: 978 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.