반응형

 

 


 

테스트한 날짜: 2024년 2월 15일
테스트 환경:  Ubuntu 22.04  /  Ubuntu 20.04  /  Ubuntu 18.04  (이 3개 버전 모두 잘 동작했다)

 


BIND 설치에 관해 참고하면 좋은 문서:
  https://www.hiroom2.com/2018/05/06/ubuntu-1804-bind-en/
BIND(DNS) 설정, 운영에 관해 참고하면 좋은 문서:   <-- 진짜 잘 만들어진 문서, 꼭 읽어볼 것 !!
  https://joungkyun.gitbook.io/annyung-3-user-guide/chapter5
    - BIND 기본 설정
    - 새 도메인 설정
    - Slave DNS 구성
    - Inverse domain 설정
    - DNSSEC 설정
    - GeoDNS 설정
    - Domain 위임
    - IDN

 

 

Install BIND pkg

 

##
## root 계정으로 아래 명령을 수행
##

$  apt  update

$  apt  install -y bind9

 

 

 

Configuration

 

파일명: /etc/bind/named.conf.options

options {
  directory "/var/cache/bind";
}

   참고: 원래 기본 설정이 위와 같기 때문에 수정할 내용은 없다.

 

파일명: /etc/bind/named.conf.local

zone "andrew.space" IN {
  type master;
  file "andrew.space.zone";
};

 

파일명: /var/cache/bind/andrew.space.zone

$TTL 86400

@ IN SOA andrew.space root.andrew.space (
  2021090500
  3600
  900
  604800
  86400
)

              A  10.10.9.11
              
@          IN NS ns1
           IN NS ns2

ns1        IN A  10.10.2.3
ns1        IN A  10.10.9.3

www        IN A  10.10.2.3
andrew     IN A  10.10.9.71

 

 

 

Validation (설정 값 유효성 확인)

 

$  named-checkzone  andrew.space  /var/cache/bind/andrew.space.zone
zone andrew.space/IN: loaded serial 2021090500
OK

 

 

 

Run BIND

 

$  sudo systemctl enable bind9
$  sudo systemctl restart bind9

 

 

Test

 

$  nslookup

##
## 방금 위에서 구성한 DNS 서버의 주소
##
> server 10.10.9.11
Default server: 10.10.9.11
Address: 10.10.9.11#53

##
## name zone db에 추가했던 domain name이 잘 resolution 되는 확인
##
> www.andrew.space
Server:		10.10.9.11
Address:	10.10.9.11#53

Name: www.andrew.space
Address: 10.10.2.3
>

 

 

'Ubuntu' 카테고리의 다른 글

추가 장착한 Disk Mount  (0) 2021.12.28
Root 계정의 SSH 로그인 허용  (0) 2021.12.28
openssl command example  (0) 2021.11.04
.bashrc 또는 .bash_profile 설정  (0) 2021.07.22
.vimrc 작성  (0) 2021.07.22
반응형

VIM 편집기를 사용할 때, .vimrc 파일을 잘 작성하면 IDE만큼 편하게 쓸 수 있다.

각 항목을 잘 이해하고 .vimrc 파일을 설정하면 좋겠지만, 귀찮으면 그냥 아래 내용을 copy & paste하면 된다. :D

 

"
" Filename: .vimrc
"

syntax on

color koehler
set expandtab   " tab character를 whitespace로 자동 변환

set tags=./tags,/root/tags

set fileencodings=utf8,euc-kr
set smartcase   " 대문자가 검색어 문자열에 포함될 때에는 noignorecase
set ignorecase  " 검색시 대소문자 무시
set hlsearch    " 검색시 하이라이트(색상 강조)
set incsearch   " 검색 키워드 입력시 한 글자 입력할 때마다 점진 검색

set ruler       " 현재 커서 위치 (row, col) 좌표 출력
set noerrorbells    " 에러 알림음 끄기

set bs=indent,eol,start " backspace 키 사용 가능
set background=dark  " 검정배경을 사용할 때, (이 색상에 맞춰 문법 하이라이트 색상이 달라짐.)

set wmnu            " tab 자동완성시 가능한 목록을 보여줌
set shiftwidth=4    " shift를 4칸으로 ( >, >>, <, << 등의 명령어)
set tabstop=4       " tab을 4칸으로
"set tabstop=4 softtabstop=4 shiftwidth=4

set noimd       " no imdisable 한글 입력기 관련

set ai              " autoindent 자동 들여쓰기
set smartindent     " 자동 들여쓰기 "
set cindent         " C언어 자동 들여쓰기
set laststatus=2    " 상태바를 언제나 표시할 것
set sm              " 매치되는 괄호 표시 (= showmatch)
set history=1000    " vi 편집기록 기억갯수 .viminfo에 기록



" 마지막으로 수정된 곳에 커서를 위치함
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "norm g`\"" |
\ endif


au BufNewFile,BufReadPost *.c,*.h set cindent
au BufNewFile,BufReadPost *.cpp,*.cc source $VIM/syntax/cpp.vim
au BufNewFile,BufReadPost *.cpp,*.cc set cindent
au BufNewFile,BufReadPost *.go source $HOME/Git/shell_config/go.vim
au BufNewFile,BufReadPost *.tex source $VIM/syntax/tex.vim
au BufNewFile,BufReadPost *.tex set autoindent
au BufNewFile,BufReadPost *.java source $VIM/syntax/java.vim
au BufNewFile,BufReadPost *.java set cindent
au BufNewFile,BufReadPost *.html,*.htm source $VIM/syntax/html.vim
au BufNewFile,BufReadPost *.html,*.htm set smartindent


" Move tab for multiple files open
nnoremap <TAB> <C-W>w
nnoremap <S-TAB> <C-W>W

" vim-commentary
map gc <Plug>Commentary
nmap gcc <Plug>CommentaryLine

imap ,for for (idx = 0; idx < ; idx++) {<ENTER>}
imap ,if if () {<ENTER>}<ESC>kf(a
imap ,wh while () {<ENTER>}<ESC>kf(a
imap ,pr printf("%s %s(%d) \n", __func__, __FILE__, __LINE__);

ab _a@  #if 0 /* I would not use the following code */ <CR>#else<CR>#endif


" ctrl-j 로 라인을 분리.
nnoremap <NL> i<CR><ESC>

" copy , paste , select 기능 보완 -------------------------------
noremap <Space>y    "+y
nnoremap <Space>p   "+p
nnoremap <Space>a   gg<S-v>G

" navigation 기능 보완 ---------------------------------
nnoremap <Space>h ^
nnoremap <Space>l $
noremap <Space>j 8j
noremap <Space>k 8k


ab _el      MYLOG_ERR("%s:: \n", __func__);
ab _sl      MYLOG_SVC("%s::success\n", __func__);
ab _dl      MYLOG_DBG("%s:: \n", __func__);
반응형

 


 


참고: 
  테스트한 날: 2023년 1월 6일
  테스트에 사용했던 OS:  Ubuntu 22.04

 

 

Ubuntu OS를 Booting할 때마다 기존  /etc/resolv.conf 파일은  resolvconf.servicesystemd-resolved.service에 의해서 overwrite 된다.

따라서 nameserver를 내가 원하는 값으로 변경하고 싶으면, 아래와 같이 추가로 설정 작업을 해야 한다.

 

##
## root 계정 권한 갖기
##

$  sudo -s


##
## Ubuntu를 설치할 때 최소 설치 또는 기본 설정으로 설치했다면
## 아래와 같이 resolvconf.service가 없어서 에러가 출력될 것이다.
## 따라서 resolvconf.service 부터 설치해야 한다.
##

$  systemctl status resolvconf.service

Unit resolvconf.service could not be found.

$

## 
## NOTE:
##   apt 명령으로 resolvconf를 설치하기 전에 임시로 /etc/resolv.conf 파일에
##   nameserver 항목에 1.1.1.1 값을 설정한다.
##
$  cat  /etc/resolv.conf
... 중간 생략 ...

nameserver  1.1.1.1         ## <-- 이 부분을 수정할 것!!!
options edns0 trust-ad

$  apt install resolvconf

$  systemctl status resolvconf

● resolvconf.service - Nameserver information manager
     Loaded: loaded (/lib/systemd/system/resolvconf.service; enabled; vendor preset: enabled)
     Active: active (exited) since Thu 2021-12-30 16:07:28 KST; 3min 14s ago

... 중간 생략 ...

$  cat  /etc/resolvconf/resolv.conf.d/head

nameserver 1.1.1.1
nameserver 8.8.8.8


##
## 위에서 설정한 값을 system에 반영하기 위해 아래와 같이 명령을 수행한다.
##

$  resolvconf --enable-updates

$  resolvconf -u

$  cat /etc/resolv.conf

nameserver 1.1.1.1
nameserver 8.8.8.8

$

##
## 위 과정이 에러 없이 수행되었다면, OS를 Reboot해서
## /etc/resolv.conf 설정 내용을 원하는 대로 반영되는지 확인해볼 것 !!!
##

$  reboot

## Rebooting ...
## ...
## ...

$  cat /etc/resolv.conf

nameserver 1.1.1.1
nameserver 8.8.8.8

$

 

 


참고:  위 설정은  Ubuntu 18.04 와 Ubuntu 20.04 에서만 테스트했음.  다른 버전의 Ubuntu는 위 설명이 효과가 있는지 아직 모름.
(2021년 12월 30일에 테스트한 결과)

 

 

 

참고:  위와 같이 nameserver를 왜 변경해야 하는 상황이 있을까?

 

apt update 또는 apt install  명령을 수행하다보면, 아래 화면과 같이  Temporary failure resolving archive.ubuntu.com 이라는 에러가 발생하는 경우가 있다.

atp 명령 수행시 Temporary failure resolving archive.ubuntu.com 에러 발생

 

왜 이런 에러가 발생할까?

nameserver 기본 설정이 아래와 같이 127.0.0.53 으로 되어 있기 때문이다.

nameserver 값을 1.1.1.1 또는 8.8.8.8 과 같이 설정하면 apt install 명령을 잘 수행될 것이다.

 

resolv.conf 기본 설정 정보


 


 

+ Recent posts