본문 바로가기
Linux

[Linux] 2/9 강의 정리 (압축과 묶음, find, IP 주소 얻는 flow, 포워드 존 파일, 캐싱 전용 네임 서버 구축, )

by jionee 2021. 2. 9.
SMALL

압축과 묶음

리눅스에서는 파일 압축과 파일 묶기를 원칙적으로 별개의 프로그램으로 실행

ex) SparkR_3.0.1.tar.gz (압축을 푼 후 묶기를 풀어야 함)

윈도우에서는 파일 압축과 파일 묶기를 한꺼번에 진행

ex) aaa.zip

 

파일 압축하기

확장명 : xz, bz2, gz, zip(Window), Z 등

*** 과거에는 주로 gz를 사용했으나 최근에는 압축률이 더 좋은 xz나 bz2를 더 많이 사용하는 추세

 

파일 묶기

확장명 : tar

tar c 		//새로운 묶음을 만듦
tar x		//묶인 파일을 풀어줌
tar t		//묶음을 풀기 전에 묶인 경로를 보여줌
tar C		//묶음을 풀 때 지정된 디렉터리에 압축을 풀어줌. 지정하지 않으면 묶을 떄와 동일한 디렉터리에 묶음이 풀림

 

사용예)

tar cvf my.tar /etc/systemd			//묶기

tar cvfJ my.tar /etc/systemd		//묶기 + xv 압축
tar cvfz my.tar /etc/systemd		//묶기 + gzip 압축
tar cvfj my.tar /etc/systemd		//묶기 + bzip2 압축

tar xvf my.tar /etc/systemd			//tar 풀기

tar xfJ my.tar /etc/systemd		//xz 압축 해제 + tar 풀기
tar xfz my.tar /etc/systemd		//gzip 압축 해제 + tar 풀기
tar xfj my.tar /etc/systemd		//bzip2 압축 해제 + tar 풀기

 

 

 

파일 위치 검색

- find

ex) find - ~size 0k -exec ls -l ( ) \;

-> 현재 사용자의 홈 디렉터리 하위에서 파일 크기가 0인 파일의 목록을 상세히 출력

 

find /home -name "*.sap" -exec rm ( ) \;

-> /home 홈 디렉터리 하위에서 확장명이 *.swp인 파일 삭제

 

- which

PATH에 설정된 디렉터리만 검색

절대 경로를 포함한 위치 검색

 

- whereis

실행 파일 및 소스, man 페이지 파일까지 검색

 

- locate

파일 목록 데이터베이스에서 검색하기 때문에 매우 빠르고 유용하지만,

패키지를 추가 설치하는 등의 작업 때문에 파일이 변경된다면

updatedb 명령을 실행해야 변경된 파일이 검색됨

 

 

프로세스

ps : 사용자와 관련된 프로세스를 출력

ps aux : 시스템에 동작 중인 모든 프로세스를 소유자 정보와 함께 출력

ps -ef | more : 시스템 동작중인 모든 프로세스를 출력 , 한 페이지씩 화면에 출력

ps aux | grep sendmail : 동작중인 프로세스 중에 sendmail이라는 이름의 프로세스를 찾아서 출력

 

 

 

서비스

서비스는 데몬이라고도 하는 서버 프로세스를 말함

서비스는 웹 서버, 네임 서버 , DB 서버 등의 프로세스를 지칭

systemctl start/stop/restart 서비스명		//서비스 시작/중지/재시작
systemctl status 서비스명					//서비스 상태 확인
systemctl enable/disable 서비스명			//서비스 사용/사용 안함 설정

 

 

IP 주소를 얻는 내부 흐름

출처 : 이것이 리눅스다 책

 

 

로컬 네임 서버 작동 순서

출처 : 이것이 리눅스다 책

 

 

 

캐시 전용 네임 서버(Caching only name server)

- 네임 쿼리의 응답을 찾은 후 캐시에 저장

- 같은 질의에 대해 바로 응답

- 접속 회선이 느린 경우에는 기다리는 시간을 줄임

 

 

 

 

포워드 존 파일 문법

1. ; (세미콜론) : 주석을 의미

2. $TTL : Time To Live의 약자로 www.john.com의  호스트 이름을 질의해갔을 때 질의해간 다른 네임 서버가

해당 IP 주소를 캐시에 저장하는 시간을 말함 (3H는 3시간)

3. @ : /etc/bind/named.conf에 정의된 john.com을 의미(john.com으로 고쳐 써도 됨)

4. IN : 클래스 이름으로 internet을 의미

5. SOA : Start Of Authority 약자로 권한의 시작을 뜻함

괄호 안의 숫자는 시간을 의미

차례로 serial(버전 정보), refresh(상위 네임 서버에 업데이트된 정보를 요청하는 간격), retry(상위 네임 서버에 문제가 발생했을 때 재접속 간격), expire(상위 네임 서버에 접속하지 못할 경우 이전의 정보를 파기하는 간격), minimum(이 시간 이후 정보가 삭제됨)을 말함

*** H(시간), D(일), W(주)

6. NS : Name Server의 약자로, 설정된 도메인의 네임 서버 역할을 하는 컴퓨터를 지정

7. MX : Mail Exchanger의 약자로, 메일 서버 컴퓨터를 설정 

8. A : 호스트 이름에 상응하는 IP주소를 지정

9. CNAME : 호스트 이름에 별칭을 부여할 때 사용

 

 

 

순서대로 Server, Client, WinClient

 

Server를 캐싱 전용 네임 서버로 구축

1. Server에 네임 서버 설치

apt -y install bind9 bind9utils

네임 서버와 관련된 패키지 설치

 

2. 캐싱 전용 네임 서버와 관련된 설정 파일 변경

gedit /etc/bind/named.conf.options 

21행 수정 : dnssec-validtion no;

22행에 추가 : recursion yes;

23행 추가 : allow-query { any; };

 

저장 후 닫기

--> VMware가 사용하는 가상 머신의 네트워크 주소에 있는 모든 컴퓨터가 네임 서버를 사용할 수 있게 설정

 

3. 네임 서버의 서비스(데몬) 작동

systemctl restart named //재시작(stop + start)
systemctl enable named //네임 서버 상시 가동
systemctl status named //네임 서버 상태 확인(Q가 종료)

네임 서버의 서비스(데몬) 이름은 named

 

4. 방화벽 설정

ufw allow 53
ufw enable

네임 서버의 포트인 53번 허용

방화벽 활성화

 

ufw status

확인

 

5. 네임 서버 동작 확인

-dig로 확인

dig @네임서버IP 조회할URL

dig @192.168.10.10 www.nate.com

 

- nslookup으로 확인

nslookup
server 테스트할네임서버IP
조회할 URL
exit

 

 

Client에서 Server를 네임 서버로 사용

1. Client에서 터미널을 열고 네임 서버 가동 테스트

2. 네임 서버 고정 사용

sudo nano /etc/resolv.conf

nameserver 192.168.10.10 

추가

 

 

 

 

WinClient에서 Server에 설정한 네임 서버 이용

네트워크 상태 및 작업 보기 -> Ethernet0 을 클릭 -> 속성 -> 인터넷 프로토콜 버전 4 -> 속성 -> 다음 DNS 서버 주소 사용 192.168.10.10

 

 

 

Server에 www.ktds.com 마스터 네임 서버 설치 운영 

1. apache2 웹 서버 설치

apt -y install apache2

 

 

2. 웹 서버 가동 확인 작업 

systemctl restart/enable/status apache2		//웹 서버 작동/상시 가동/가동 확인

 

3. 웹 서버 포트 허용

ufw allow 80

 

 

4. index.html 파일

cd /var/www/html
rm index.html

기존 index.html 파일 제거

 

gedit index.html

새 html 파일 생성

 

입력 후 저장

 

 

 

Server B에서 FTP 서버를 설치하고 설정 ( Server B는 구축 안했기 때문에 pass)

1. FTP 서버 설치

apt -y install vsftpd

 

2. FTP 방화벽 설정 허용

ufw allow 21

 

3. welcome.msg 파일 생성

cd /srv/ftp/
touch welcome.msg
nano welcome.msg

###############################

Welcome !!! Ubuntu 20.04 LTS FTP Server

###############################

 

저장 후 닫기

 

 

4. vsftpd.conf 파일 수정

nano -c /etc/vsftpd.conf

28행 쯤의 anonymous_enable=NO를 YES로 변경

그 아래에 banner_file=/srv/ftp/welcome.msg 추가 

 

저장 후 닫기

 

 

5. FTP 서버 시작

systemctl restart vsftpd

 

 

 

Server에 ktds.com 도메인 설정

1. named.conf 파일 수정

gedit /etc/bind/named.conf

 

 

zone "ktds.com" IN {
	type master;
    file "/etc/bind/ktds.com.db";
    };

아래에 추가 후 저장

 

 

2. 문법 오류 확인

named-checkconf

문법에 오류가 없는지 확인

아무것도 안나오면 오류 없음

 

 

3. 포워드 존 파일 생성

cd /etc/bind
touch ktds.com.db
gedit ktds.com.db

 

$TTL	3H
@		IN		SOA		@		root.	(	2	1D	1H	1W	1H	)

@		IN		NS		@
		IN		A		192.168.10.20
        
www		IN		A		192.168.10.10
ftp 	IN		A		192.168.10.20

 

 

4. 문법 오류 확인

named-checkzone ktds.com ktds.com.db

 

 

 

5. 네임 서비스 재시작 및 확인

systemctl restart bind9
systemctl status bind9

 

6. 방화벽 확인

ufw status

53, 80 번 포트가 ALLOW되어 있는지 확인

 

 

 

Client와 WinClient에서 실행 확인

 

 

댓글