https://certbot.eff.org 에 접속 instructions를 살펴보면( https://certbot.eff.org/instructions ), command line 에 익숙하고 80 port가 open된 HTTP server가 필요하고, sudo 사용이 가능한 ssh 접속을 할 수 있어야 하고, wildcard cert를 필요로 한다면 DNS credentials도 있어야 한다. 설치 macOS brew install letsencrypt webroot 방식 : web server를 직접 운영하는 경우 사용 설정 macOS 80(HTTP)/443(HTTPS) port 는 root 에게만 권한이 있으므로, launchd plist 파일을 /Library/LaunchDaemons/"your.plist"에 작성하고 chown root "your.plist"로 사용자를 root로 변경 실행 sudo certbot certonly --webroot standalone 방식 : 실행 sudo certbot certonly --standalone -d "domain" 실행하면 다음 위치에 인증서와 개인키가 설치된다. /etc/letsencrypt/live/"domain"/privkey.pem /etc/letsencrypt/live/"domain"/fullchain.pem
이 글에서는 PowerDNS를 사용하여 DDNS를 만드는 방법에 대해 설명한다. PowerDNS의 예전 버젼에서는 recursive 처리가 포함되어 있었지만, 보안의 이유로 Authoritative Server와 Recursor로 분리되었다. Authoritative Server가 외부에서 요청되는 query에 대해 응답하는 용도로 사용되며, 여기서는 Authoritative Server를 통해 DDNS 서버를 만드는 방법을 정리한다. 설치 https://repo.powerdns.com/ 에 설치관련 내용이 정리되어 있다. Ubuntu 16.04기준으로, 4.4.x version의 설치 방법을 보면, 다음의 방법으로 설치할 수 있다. Create the file '/etc/apt/sources.list.d/pdns.list' with this content: deb [arch=amd64] http://repo.powerdns.com/ubuntu xenial-auth-44 main And this to '/etc/apt/preferences.d/pdns': Package: pdns-* Pin: origin repo.powerdns.com Pin-Priority: 600 and execute the following commands: curl https://repo.powerdns.com/FD380FBB-pub.asc | sudo apt-key add - && sudo apt-get update && sudo apt-get install pdns-server MySQL 연동 1. MySQL backend 설치 MySQL backend 를 다음과 같이 설치한다. sudo apt-get install pdns-backend-mysql /etc/powerdns/pdns.conf 파일에 다음과 같은 내용을 작성한다. launch = gmysql gmysql-host = 127.0.0.1 gmysql-user ...