안녕리눅스 3 User Guide
  • Introduction
  • Chapter 1. 안녕 리눅스 3 \/ CentOS 7.2 차이점
  • Chapter 2. Access Control
    • 안녕 리눅스 방화벽 설정
      • 기본 설정
      • Inbound 제어
      • Outbound 제어
      • brute force attack 제어
      • User defined rule 제어
      • 특정 국가에서의 접속 제어
      • oops-firewall 실행 방법
    • Shell login Control (with PAM)
      • login 가능한 account 제한
      • login account chroot
      • Google OTP를 이용한 2 factor 인증
    • 인증 통합 (Authentification\/Authorization Intergrate)
      • Openldap
        • Master Server 설정
        • SSL 설정
        • Slave Server 설정
        • Replication 설정
        • LDAP 클라이언트 인증 연동 설정
        • LDAP data 관리
        • Sudo LDAP 연동
      • NIS
      • Active Directory
  • Chapter 3. Web control
    • httpd
    • nginx
    • lighttpd
    • PHP
    • Web Access Control
      • Apache 2.4
      • Nginx
      • lighttpd
    • Web Monitor agent
  • Chapter 4. JVM 운영
  • Chapter 5. DNS 운영
    • 기본 설정
    • 신규 도메인 설정
    • Slave DNS 구성
    • Inverse Domain 설정
    • DNSSEC 설정
    • GeoDNS 설정
    • Domain 위임
    • IDN
    • Troble Shooting
  • Chapter 6. Time Server 운영
    • Chrony
    • NTP
  • Chapter 7. VPN 운영
  • Chapter 8. SMTP 운영
  • 안녕 리눅스 White Paper
    • Disk Partition Aligment
  • 안녕 리눅스 알려진 버그
  • 안녕 리눅스 3 패키지 일람
    • [AN:core]
      • annyung-release
      • byspam
      • check-utils
      • genpasswd
      • httpd-conf
      • httpd-krisp
      • httpd-nis
      • httpd-url
      • kmod-geoip
      • l4vip
      • ldap-auth-utils
      • libchardet
      • libimginfo
      • libipcalc
      • libkrisp
      • mariadb-aes256
      • olibc
      • oops-firewall
      • perl-KRISP
      • perl-ModuleList
      • php-chardet
      • php56-chardet
      • php71-chardet
      • php-common
      • php56-common
      • php71-common
      • php-fpm-conf
      • php56-fpm-conf
      • php71-fpm-conf
      • php-geoip
      • php56-geoip
      • php71-geoip
      • php-korean
      • php56-korean
      • php71-korean
      • php-krisp
      • php56-krisp
      • php71-krisp
      • php-nis
      • php56-nis
      • php71-nis
      • php-pear-KSC5601
      • php-pear-ipcalc
      • php-pear-krisp
      • php-pear-oops-key
      • procdump
      • python-chardet
      • python-krisp
      • remount
      • utf8-profile
      • whois
      • yum-annyung
    • [AN:base]
      • apr
      • authconfig
      • bash
      • bind
      • chrony
      • coreutils
      • ctags
      • cvs
      • ecj
      • filesystem
      • GeoIP
      • gperftools
      • httpd
      • initscrtips
      • iptables
      • java-1.8.0-openjdk
      • javapacakges-tools
      • linuxdoc-tools
      • mariadb
      • memcached
      • net-tools
      • ntp
      • openssh
      • openssl
      • pam
      • php
      • procmail
      • procps-ng
      • redhat-rpm-config
      • rootfiles
      • rsyslog
      • sendmail
      • setup
      • shadow-utils
      • sudo
      • systemd
      • sysvinit-tools
      • tomcat
      • traceroute
      • unzip
      • util-linux
      • vim
      • xinted
    • [AN:xless]
    • [AN:addon]
      • authbind
      • cronolog
      • google-authenticator
      • hping3
      • httpd-fcgid
      • imap
      • jfbterm
      • jlint
      • libevent14
      • libnet
      • libnetfilter_acct
      • lighttpd
      • mhash
      • mimetex
      • mm
      • netdata
      • netperf
      • nginx
      • openvpn
      • pdnsd
      • perl-CSS-DOM
      • php-pecl-apcu
      • php56-pecl-apcu
      • php71-pecl-apcu
      • php-pecl-memcache
      • php56-pecl-memcache
      • php71-pecl-memcache
      • php-pecl-oauth
      • php56-pecl-oauth
      • php71-pecl-oauth
      • php-pecl-xdebug
      • php56-pecl-xdebug
      • php71-pecl-xdebug
      • php56
      • php71
      • proftpd
      • python-Mako
      • python-MarkupSafe
      • python-mcrypt
      • python-openpyxl
      • python-xlrd
      • re2c
      • redis
      • rudiments
      • splint
      • sqlite32
      • sqlrelay
      • tomcat-native
    • [AN:plus]
  • 안녕 리눅스 Upgrade Guide
Powered by GitBook
On this page
  • 5.8.1 punycode
  • 5.8.2 IDN 환경
  • 5.8.3 한글 도메인 설정
  • 5.8.3.1 IDN zone 설정
  • 5.8.3.2 zone file에서의 IDN 사용

Was this helpful?

  1. Chapter 5. DNS 운영

IDN

IDN(Internationalized Domain Name)은 흔히 다국어 도메인이라고 말을 하기도 합니다.

PreviousDomain 위임NextTroble Shooting

Last updated 5 years ago

Was this helpful?

5.8.1 punycode

IDN은 1998년 부터 논의가 시작이 되었으며, 처음 IDN 서비스를 시작한 verysign은 RACECODE 를 이용하여 COM/NET 도메인에 IDN을 적용하여 서비스 하기 시작했으나, 2002년 가 표준안으로 채택이 되고 나서 2004년 경 부터는 모든 domain extension들이 punycode를 사용하기 시작했으며, 현재는 punycode만 사용이 되어 집니다.

punycode는 domain에 사용할 수 있는 문자가 아닐 경우에는, 다음과 같이 xn-- prefix를 이용하여 변환을 합니다.

안녕.com =>       xn--o70b819a.com
안녕-linux.com => xn---linux-2x2xk18i.com

IDN을 punycode로 변환을 하기 위해서는 보통 웹상에서 "punycode 변환"을 검색어로 검색을 하면 많은 페이지를 볼 수 있습니다.

안녕 리눅스의 경우, whois package를 설치할 경우, command line interface에서 사용을 할 수 있는 punyconv 실행 파일이 설치가 됩니다.

[root@an3 ~]$ punyconv 안녕.com
xn--o70b819a.com
[root@an3 ~]$

5.8.2 IDN 환경

안녕 리눅스에서의 지원하는 패키지들의 경우에는 대부분 내부에서 punycode를 지원하도록 패치가 되어 있습니다. ssh, ping, traceroute, host 등등의 network 도구에서는 IDN을 직접 사용하더라도 내부에서 알아서 punycode로 변환을 하도록 되어 있습니다.

[root@main ~]$ ping 한글.com
PING 한글.com (202.31.187.154) 56(84) bytes of data.
64 bytes from 202.31.187.154 (202.31.187.154): icmp_seq=1 ttl=52 time=7.79 ms
64 bytes from 202.31.187.154 (202.31.187.154): icmp_seq=2 ttl=52 time=8.22 ms
64 bytes from 202.31.187.154 (202.31.187.154): icmp_seq=3 ttl=52 time=7.83 ms

좀더 요약하자면, shell의 언어 환경이 UTF-8 이라면, punycode를 신경쓸 필요 없다는 의미 입니다.

5.8.3 한글 도메인 설정

5.8.3.1 IDN zone 설정

기본적으로, bind에서 IDN을 사용하기 위해서는 punycode를 사용해야 합니다. 예를 들어 한글.com을 설정 한다고 가정 하면 다음과 같습니다.

zone "xn--bj0bj06e.com" IN {
    type master;
    file "zone/한글.com.zone";
    allow-update { none; };
};

안녕 리눅스에서는 다음과 같이 punycode 변환 없이 사용을 할 수 있습니다.

zone "한글.com" IN {
    type master;
    file "zone/한글.com.zone";
    allow-update { none; };
};

IDN을 작성할 때, zone 파일의 문자셋이 UTF-8일 경우에는 모든 IDN을 punycode로 변환 없이 사용이 가능하며, UTF-8이 아닐 경우에는 EUC-KR 과 EUC-JP만 지원을 합니다.

또한, EUC-KR 또는 EUC-JP를 사용하기 위해서는 CH+문자셋.도메인의 형식을 이용해야 합니다.

zone "CH+EUC-KR.한글.com" IN {
    type master;
    file "zone/한글.com.zone";
    allow-update { none; };
};

5.8.3.2 zone file에서의 IDN 사용

zone 설정과 마찬 가지로, UTF-8 환경이라면, 아무런 제약 없이 IDN을 직접 사용할 수 있습니다.

자음         IN  A   10.0.0.1

이렇게 설정을 하면, 자음.한글.com 의 A record가 10.0.0.1로 설정이 되게 됩니다.

zone 설정과 마찬가지로, UTF-8 환경이 아니라면, EUC-KR 및 EUC-JP만을 지원 하며, IDN 표기를 CH+문자셋.도메인의 형식을 이용해야 합니다.

CH+EUC-KR.자음         IN  A   10.0.0.1

단, 혼용을 하지 않는 다는 가정하에서, ZONE 파일 제일 처음에 @CHARSET 지시자를 이용할 수 있습니다.

@CHARSET "EUC-KR"
$TTL 60
@               IN  SOA ns.oops.org. admin.oops.org.    (
                2017021205  ; Serial
                10800       ; Refresh
                3600        ; Retry
                604800      ; Expire
                60          ; TTL (1day)
                )

자음         IN  A   10.0.0.1

위와 같이 사용이 가능 합니다.

punycode