쟝이의 세상
mac OS homebrew (DNS 서버 구축) 본문
맥북에서 DNS 서버를 구축하려면 BIND(Berkeley Internet Name Domain)라는 DNS 소프트웨어를 사용할 수 있다.
✔️ bind 설치
brew install bind
✔️ bind 설정 파일 편집
sudo vi /opt/homebrew/etc/bind/named.conf
편집 내용
→ 해당 내용 named.conf 파일에 추가zone "[example].com" { type master; file "/opt/homebrew/var/named/megabank.com.db"; };
✔️ 도메인 데이터베이스 파일 생성
sudo vi /opt/homebrew/var/named/[example].com.db
[example]에는 본인이 사용할 사이트 입력
편집 내용
$TTL 86400 @ IN SOA ns1.[example].com. admin.[example].com. ( 2023100601 ; serial number 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ) ; minimum TTL @ IN NS ns1.[example].com. ns1 IN A [DNS 서버의 IP 주소] ; @ IN A [웹 서버의 IP 주소] ; www IN A [웹 서버의 IP 주소] ;
✔️ 방화벽 설정
sudo vi /etc/pf.conf
편집 내용
→ 해당 내용 추가pass in proto tcp from any to any port 53
설정 저장 후 pf 방화벽을 enable
sudo pfctl -e
✔️ BIND 서비스 재시작 후 서비스 실행 확인
sudo brew services restart bind #재시작
sudo brew services list #서비스 실행 확인
💡 서비스 list 확인했을 때 error 일 경우
: named.conf 파일을 확인하면
channel _default_log { file "/opt/homebrew/var/log/named/named.log" versions 10 size 1m; severity info; print-time yes; };
log가 기록되는 파일을 확인할 수 있다.
📎 log 내용 확인
error: /opt/homebrew/etc/bind/named.conf:19: missing ';' before end of filetail -f /opt/homebrew/var/log/named/named.log
→ 나의 경우엔 19번째 줄 ;(세미콜론)이 빠진 것을 확인하여 오류 수정 후 다시 시작해주니 BIND 서비스가 시작된 것을 확인할 수 있었다.
✔️ DNS 서버 테스트
dig @[DNS 서버 주소] [example].com
☝🏻 위의 사진처럼 뜨면 성공!
✔️ 외부에서 접속 테스트
'자료' 카테고리의 다른 글
Nmap을 활용하여 취약점 진단 (0) | 2024.10.11 |
---|---|
Ubuntu 에서 DNS 서버 구축 (0) | 2024.10.08 |
mac OS homebrew (Apache 80포트 변경하기) (0) | 2024.10.04 |
kubenetes 서비스 노출과 버전 업데이트 (0) | 2024.10.04 |
추가 보안 적용 (0) | 2024.09.20 |