1. 목표

dns 설정을 통해 IP가 아닌 도메인 이름으로 접속해보자

2. 네트워크 설정

ifconfig로 네트워크 설정 확인

네트워크 설정하는 법

3. bind 설정

bind 패키지 설치

dnf install -y bind

구성파일 설정

해당 위치의 구성 파일을 수정

vim /etc/named.conf

listen-on과 allow-query를 any로 설정하여 모든 IP에서 모든 쿼리를 허용

cloud.com으로 접속하면 cloud.com.zone 파일의 설정을 확인하여 redirect 하도록 설정

설정 후 그룹 소유권을 named로 변경해줘야 정상적으로 동작한다

chown :named /etc/named.conf

설정 변경 후 named.service를 restart 해줘야 수정한 내용이 적용된다

systemctl restart named.service

영역 파일 설정

기본적으로 영역 파일은 /var/named/ 영역 안에 위치해야 한다

먼저 /var/named/named.empty 파일을 복사하여 템플릿을 확인

cd /var/named/
cp named.empty cloud.com.zone

named.empty


IN SOA @ 에서 @가 도메인을 의미
rname.invalid.는 이메일 주소 형식으로, 실제로는 사용되지 않지만 형식적으로 필요
NS @는 네임 서버 레코드를 정의하며, 여기서는 현재 도메인에 대한 네임 서버를 설정
A 는 IPv4 주소를 의미하며, AAAA는 IPv6 주소를 의미

수정 후


네임 서버를 ns.cloud.com으로 설정 후 prefix를 3종류(ws1, ws2, ws-lb)를 설정
각각의 prefix에 대해 redirect 할 IP 주소를 설정
(NS와 ns A 설정은 항상 필수로 해줘야 한다)

4. 방화벽 설정

dns 허용

firewall-cmd --add-service=dns
firewall-cmd --add-service=dns --permanent

5. DNS 서버 설정

여기까지 진행 후 host 명령어로 검색 시 DNS가 원활히 진행되지 않는다

host 옵션에 강제로 현재 IP 주소를 DNS 서버로 설정하면 정상적으로 작동한다

이는 /etc/resolv.conf 파일 안에 설정이 기본적으로 DNS 서버를 10.0.2.3으로 하고 있기 때문이다. 이는 보통 NetworkManager에서 관리한다.

밑에 있는 options는 왜 생겼는지 모르겠다
보통 resolv.conf 파일은 직접 수정을 권장하지 않으니 다른 방식으로 DNS 설정을 바꿀 예정이다.

nmcli connection show 명령어로 DNS 설정을 확인

지금 보니 Gateway도 설정하지 않았었다...

nmcli connection modify 에서 ipv4.dns로 현재 서버 IP를 설정하고, ipv4.dns-priority 설정으로 우선순위를 높힌다.

5. 결과

DNS 주소를 지정해주지 않아도 잘 찾는 모습이다

curl ns.cloud.com 을 4번 호출해봤다

0개의 댓글