압축과 묶음
리눅스에서는 파일 압축과 파일 묶기를 원칙적으로 별개의 프로그램으로 실행
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에서 실행 확인


'Linux' 카테고리의 다른 글
[Linux] 2/8 강의 정리 (상대경로, 절대경로, 리눅스 기본 명령어, etc/passwd, /etc/shadow, /etc/group, 파일 디렉터리, 특수 권한, 링크) (0) | 2021.02.08 |
---|---|
[Linux] 2/5 강의 정리 (운영체제, Ubuntu 설치 , VMware 설치, 리눅스 디렉토리 구조, ) (0) | 2021.02.05 |
댓글