17.4. 특정 인터페이스를 통해 DNS 트래픽 라우팅
NetworkManager는 시스템의 DNS 서버를 구성하는 다양한 메커니즘을 지원합니다. 여기에는 /etc/resolv.conf
파일에 구성 추가 및 systemd-resolved
,dnsmasq
, dnsconfd
와 같은 DNS 서비스 구성이 포함됩니다.
연결 프로필에 언급된 각 DNS 서버는 특정 네트워크 인터페이스와 연결됩니다. DNS 백엔드 서비스 systemd-resolved
및 dnsmasq
는 각 DNS 이름 서버가 올바른 네트워크 인터페이스를 통해서만 액세스할 수 있도록 합니다. 그러나 다른 백엔드 서비스에서는 이 기능을 지원하지 않습니다. 이와 관련하여 NetworkManager에는 전용 경로를 자동으로 추가하여 각 이름 서버에 올바른 인터페이스를 통해서만 도달할 수 있는 기능이 있습니다. 이 기능을 사용하도록 ipv4.routed-dns
및 ipv6.routed-dns
속성을 설정할 수 있습니다.
예제 시나리오:
연결 프로파일 1 <example-connection-1> :
-
기본 게이트웨이:
192.0.2.254
-
DNS 서버:
10.0.0.1
- 검색 도메인: example-domain.com
-
기본 게이트웨이:
연결 프로필 2 <example-connection-2> :
-
기본 게이트웨이:
198.51.100.254
(이 게이트웨이는10.0.0.0/24
네트워크에 액세스할 수 없음) -
DNS 서버:
203.0.113.1
-
기본 게이트웨이:
이 예에서는 enp1s0
및 <example-connection-2> enp7s0
네트워크 인터페이스를 통해 연결된 두 개의 연결 <example-connection-1> 프로필이 있습니다. 두 번째 <example-connection-2> 프로필이 먼저 연결된 경우 이 연결의 기본 게이트웨이 198.51.100.254
에는 더 낮은 메트릭이 있으며 첫 번째 프로필보다 우선합니다. 결과적으로 RHEL은 첫 번째 프로필의 DNS 서버 10.0.0.1
에 연결하는 동안 두 번째 연결의 기본 게이트웨이를 사용합니다. 이로 인해 DNS 확인이 실패합니다. 이 문제를 해결하려면 NetworkManager가 올바른 인터페이스(이 경우 enp1s0
)를 통해 10.0.0.1
DNS 서버에 대한 전용 경로를 생성하도록 두 연결 프로필에 대해 ipv4.routed-dns
설정을 활성화합니다.
사전 요구 사항
- 연결 프로필이 이미 존재합니다.
프로세스
연결 프로필을 수정하여 이름 서버에 대한 경로 생성을 활성화합니다.
연결 프로필 1의 경우 다음을 입력합니다.
nmcli connection modify <example-connection-1> ipv4.routed-dns yes
# nmcli connection modify <example-connection-1> ipv4.routed-dns yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결 프로필 2의 경우 다음을 입력합니다.
nmcli connection modify <example-connection-2> ipv4.routed-dns yes
# nmcli connection modify <example-connection-2> ipv4.routed-dns yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
연결을 다시 활성화합니다.
nmcli connection up <example-connection-1> nmcli connection up <example-connection-2>
# nmcli connection up <example-connection-1> # nmcli connection up <example-connection-2>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
IP 주소에 연결할 경로를 표시합니다.
ip route get 203.0.113.1
# ip route get 203.0.113.1 203.0.113.1 dev enp1s0 table 20053 src 10.0.0.1 uid 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 올바른 인터페이스를 통해 이름 서버에 도달했는지 확인하고 특수 라우팅 테이블
20053
에 있는 DNS 서버의 모든 경로를 배치하는 정책 라우팅 방법을 사용합니다.