이글은 사설ip내에서 DNS구매없이 적용가능한 방법입니다.
DNS는 주소입력창에 ip를 치기싫어 만들었다고 보시면됩니다.
DNS는 리눅스에서 대표적으로 bind에서 사용할 수 있습니다.
bind도 소스설치가 가능하지만, 여기선 yum설치로 진행하도록 하겠습니다.
이 예제에서 저는 goatasriel.com이라는 도메인이 172.30.1.34(사설)에 접속하도록 만들것입니다.
이를 참고하시고 연습하실때 본인에게 맞는 값으로 변경하시길 바랍니다.
아래 hosts를 변경하는작업은 필수 작업은 아닙니다만, 해두는게 서버관리도 더 편하니 참고만하세요.
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.30.1.34 ns1.goatasriel.com
가장아래줄에 새로운것을 추가했습니다.
주로 dns서버에 사용되는건 ns1.도메인.com ns2.도메인.com 이런식으로 사용합니다.
ssh를 재시작해보면 localhost에서 ns1으로 명칭이 변경된것을 확인 할 수 있습니다.
bind를 설치합니다.
# yum install bind
설치가 완료되면
# vi /etc/named.conf
… options { |
빨간색 부분만 변경하시면됩니다. (기존엔 127.0.0.1 이나 localhost 등의 루프백ip로 설정되어있을겁니다)
저 빨간색부분을 수정하여 원하는 아이피만 허용하는것 역시 가능합니다만, 그럴일이 잘없긴 하죠.
# vi /etc/named.rfc1912.zones
…
zone "goatasriel.com" IN {
type master;
file "goat.zone";
allow-update { none; };
};
가장아래에 추가하면 됩니다.
# vi /var/named/goat.zone (새로운파일작성, goat.zone은 임의의 이름입니다.)
$TTL 1D
@ IN SOA @ ns1.goatasriel.com. (
2019032714 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.goatasriel.com.
IN A 172.30.1.34
ns1 IN A 172.30.1.34
@ IN A 172.30.1.34
www IN A 172.30.1.34
goat.zone의 소유권을 변경해줍니다.
# chown root.named /var/named/goat.zone
검증을 한번해봅시다.
# named-checkconf /etc/named.conf
(별말없음)
# named-checkzone goatasriel.com /var/named/goat.zone
zone goatasriel.com/IN: loaded serial 2019032714
OK
오류가 없는것을 확인하고 있다면 경고메세지를 참고하여 적절히 수정합니다.
53번 포트 방화벽을 해지합니다.
# vi /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<service name="http"/>
<service name="https"/>
<port protocol="tcp" port="8080"/>
<port protocol="tcp" port="53"/>
<port protocol="udp" port="53"/>
</zone>
가장 아래에 53포트 2개의 구문을 참고하여 추가해줍니다. (tcp udp 둘다 열려있어야 dns서비스가능)
서비스를 시작합니다.
# systemctl start named
만약 오류가 발생하면 # systemctl status named 로 오류내용을 확인합니다.
접속할 클라이언트의 dns설정을 해줍니다.
저는 윈도우 네트워크 설정을 활용하겠습니다.
웹브라우저에 goatasriel.com으로 접속해봅니다.
접속이 됨을 확인하였습니다.
저의 환경에선 당연히 외부인은 접속안됩니다.
※ 이외에도 conf파일 zone파일들의 여러가지를 옵션들도 검색을 통해 공부하시면 도움이 됩니다.
'IT, Computer > Linux' 카테고리의 다른 글
mysql8 유저 생성 (1) | 2019.03.29 |
---|---|
아파치 홈 디렉토리 설정 및 가상호스트설정 (0) | 2019.03.28 |
CentOS 7 APM 설치 - php7.3.3 설치(컴파일설치) (1) | 2019.03.26 |
CentOS 7 APM 설치 - Apache2.4.38 설치(컴파일설치) (0) | 2019.03.26 |
CentOS 7 APM 설치 - Mysql8 설치 (0) | 2019.03.26 |