dns 설정을 통해 IP가 아닌 도메인 이름으로 접속해보자
ifconfig로 네트워크 설정 확인
네트워크 설정하는 법
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
IN SOA @ 에서 @가 도메인을 의미
rname.invalid.는 이메일 주소 형식으로, 실제로는 사용되지 않지만 형식적으로 필요
NS @는 네임 서버 레코드를 정의하며, 여기서는 현재 도메인에 대한 네임 서버를 설정
A 는 IPv4 주소를 의미하며, AAAA는 IPv6 주소를 의미
네임 서버를 ns.cloud.com으로 설정 후 prefix를 3종류(ws1, ws2, ws-lb)를 설정
각각의 prefix에 대해 redirect 할 IP 주소를 설정
(NS와 ns A 설정은 항상 필수로 해줘야 한다)
dns 허용
firewall-cmd --add-service=dns firewall-cmd --add-service=dns --permanent
여기까지 진행 후 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설정으로 우선순위를 높힌다.
DNS 주소를 지정해주지 않아도 잘 찾는 모습이다
curl ns.cloud.com을 4번 호출해봤다