pdnsd로 DNS Proxy 설정하기
가끔 외부에서 Cloud의 내부 DNS를 써야 할 경우가 있다.
그럴 경우 NGINX에서 TCP 53/UDP 53을 Reversy Proxy 해도 되고,
보다 편하게 할려면 Proxy DNS를 쓰면 된다. (DNS 캐싱 기능도 있음)
# 설치
wget http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par_sl6.x86_64.rpm
yum localinstall pdnsd-1.2.9a-par_sl6.x86_64.rpm
#/etc/pdnsd.conf를 열어서 해당 서버의 IP와 DNS IP를 설정한다.
vi /etc/pdnsd.conf
global {
server_ip = 169.56.100.100; #해당 서버의 Public IP로 바꾼다.
}
server {
ip = 10.0.80.11; #Cloud의 내부 DNS 주소를 적는다. (Softlayer: 10.0.80.11)
#AWS의 내부 DNS 주소는 링크 참고, https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_DHCP_Options.html#AmazonDNS
}
systemctl restart pdnsd
systemctl enable pdnsd
#방화벽에서 특정 IP만 열고 싶다면
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="1.2.3.4/32" port protocol="tcp" port="53" accept"
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="1.2.3.4/32" port protocol="udp" port="53" accept"
#전체를 열려면
firewall-cmd --permanent --zone=public --add-service=dns