메일 서버 개념



네트워크 구성도



실습1) 메일서버 구축


1. 패키지 설치


- apt-get -y install sendmail


2. 파일편집


- vi /etc/hostname -> mail.naver.com 편집

- vi/ /etc/hosts



- vi /etc/mail/local-host-names 에 mail.naver.com 추가.

- reboot


실습2) 메일서버2 Server(B) 구축


- 실습과정 위와 동일

- mail.daum.net

- IP : 192.168.111.200


실습3) 네임서버 구축


- 실습과정 동일 : http://kyumoonhan.tistory.com/37

- john.com.db 대신 naver.com.db와 daum.net.db를 만듬

- 포트를 모두 열음 ufw disable

- 파일 편집 시 아래와 같이 설정



실습4) 메일서버1,2의 네임서버를 192.168.111.100으로 바꿔줌


4.1 메일서버 1 설정


- vi /etc/NetworkManager/system-connections/유선 | 연결/ 1 편집

- ipv4 의 dns를 192.168.111.100 으로 변경

- vi /etc/resolv.conf 에서 nameserver ip를 192.168.111.100 으로 변경


4.2 Client 설정


- 위와 동일

- reboot


4.3 메일서버2 설정 (Server(B))


- vi /etc/network/interfaces

- 맨 밑의 dns-server를 192.168.111.100 으로 설정

- vi /etc/resolv.conf 또한 192.168.111.100 으로 변경


4.4 WinClient 설정


- 명령 프롬프트로 설정




'Linux' 카테고리의 다른 글

[Linux] 웹 메일 구축  (3) 2018.07.11
[Linux] 메일 서버 구현 (2)  (0) 2018.07.10
[Linux] 마스터 네임서버 구축  (0) 2018.07.09
[Linux] 캐싱 전용 네임서버 구축  (0) 2018.07.09
[Linux] 네임서버 작동원리  (0) 2018.07.09

실습) 외부 사이트 3개를 이용하여 라운드로빈 방식으로 www.john.com 구현


라운드로빈방식 네임서버에 대한 이미지 검색결과


1. vi /etc/bind/john.com.db 편집



2. 시스템 재시작 후 nslookup으로 확인



- 3개를 번갈아 가면서 라운드로빈 방식으로 지정해줌 


3. 결과    - www.john.com에 들어갈때마다 서로다른 3개의 사이트로 들어가짐을 확인.



마스터 네임 서버


- 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에 해당 컴퓨터의 IP주소를 알려주는 역할


실습) 마스터 네임 서버 구축


-john.com의 '마스터 네임 서버'를 설치하고 운영

- 간단한 웹 서비스 / FTP 서비스를 제공해 본다.

- 네임서버 관련 설정 파일을 학습


1. 웹서버 설치


- apt-get -y install apache2


1.1 간단한 웹 페이지 생성


- cd /var/www/html/

- vi index.html (생성 아무렇게나)


1.2 FTP 서버 생성 (Server(B))


- apt-get -y install vsftpd

- FTP 설정 (vi etc/vsftpd.conf 편집) -나중에 배움



2. 마스터 네임서버 구축


2.1 vi /etc/bind/named.conf 편집 ( 도메인 정보 입력 )



2.2 vi /etc/bind/john.com.db 편집



2.3 named-checkzone john.com john.com.db (문법에 틀린 것이 있는지 체크)

2.4 systemctl restart bind9


3. Client로 접속



4. WinClient에서 접속


4.1 static으로 dhcp 끄고 static으로 설정 해줌



4.2 결과



도메인 이름 체계


- 초창기 인터넷에는 1대의 네임 서버만으로도 충분히 IP주소와 이름의 관리가 가능

- 하지만 인터넷이 폭발적으로 확장되면서, 몇 대의 네임 서버로는 실시간으로 인터넷 상의 수많은 컴퓨터들을 관리할 수가 없게 되었음.

- 그래서 트리 구조와 같은 '도메인 이름 체계'를 구축


 


로컬 네임 서버의 작동 순서




실습) 캐싱 전용 네임 서버 구축


1. 패키지 설치


- apt-get -y install bind9 bind9utils


2. vi /etc/bind/named.conf.options 편집




3. 서비스 가동


- systemctl restart bind9

- systemctl enable bind9

- systemctl status bind9



4. 방화벽 설정


- ufw allow 53 (tcp / udp 둘다 오픈)


5. 서버 구축 후 테스트



6. 리눅스 Client 에서 네임서버 사용


6.1 네임 서버 구축 되었는지 확인



6.2 /etc/resolv.conf 편집 -> nameserver를 192.168.111.100으로 지정



6.3 확인



7. 리눅스 텍스트 모드로 네임 서버 사용 (elinks 패키지 사용하여 확인, 설정방법은 위와 동일)





- /etc/hosts를 먼저 확인 후 없다면 네임서버에 질의                           (이것이 우분투 리눅스다 475페이지)

- 그림 하나로 ns작동원리 파악.

'Linux' 카테고리의 다른 글

[Linux] 마스터 네임서버 구축  (0) 2018.07.09
[Linux] 캐싱 전용 네임서버 구축  (0) 2018.07.09
[Linux] SSH 서버, VNC 서버 구축  (0) 2018.07.08
[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03

OpenSSH 서버


- 텔넷과 용도는 동일하지만, 보안이 강화

- 텔넷과 거의 동일하지만 데이터를 전송할 때 암호화를 한다는 점이 다름.


실습) SSH 서버 구축



1. apt-get -y install openssh-server OpenSSH 설치


2. SSH 서비스 가동


- systemctl restart ssh

- systemctl status ssh

- systemctl enable ssh ( SSH 상시가동 )



3. 방화벽 설정 (22번 포트 열어줌)


- ufw allow 22/tcp


4. 리눅스 클라이언트에서 접속.



5. 윈도우 클라이언트에서 접속



VNC 서버

- X 윈도우 환경으로 원격접속을 사용하고 싶을 때

- 원격지로 그래픽 화면을 전송하는 원리이므로, 속도가 많이 느림.


실습) VNC 서버 구축



1. 패키지 4개 설치


- apt-get -y install gnome-panel gnome-settings-daemon metacity vnc4server

- reboot


2. VNC 서버 가동


- vncserver

- password는 6글자이상



3. xstartup 파일 수정


- vi .vnc/xstartup



4. VNC 서비스 재가동

- vncserver -kill :1

- vncserver :1


5. 방화벽 포트 열기


- ufw allow 5901/tcp


6. 클라이언트에서 뷰어다운로드


리눅스 : - sudo apt-get -y install xtightvncviewer

윈도우 : - www.tigervnc.com에서 다운로드


7. 리눅스 클라이언트 접속



8. 윈도우 클라이언트 접속



* 3가지 원격접속 비교




'Linux' 카테고리의 다른 글

[Linux] 캐싱 전용 네임서버 구축  (0) 2018.07.09
[Linux] 네임서버 작동원리  (0) 2018.07.09
[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] LVM  (0) 2018.07.03

텔넷 서버 개요


- 오랫동안 전통적으로 사용되어 온 원격 접속 방법

- 보안에 취약

- 리눅스 서버에 텔넷 서버를 설치하고 나면, 원격지에서 접속할 PC에는 텔넷 클라이언트가 필요.

- 원격지의 PC에서 접속하게 되면 서버 앞에 앉아서 직적 텍스트 모드로 작업하는 것과 완전히 동일한 효과.


실습) 텔넷 서버 구축



1. apt-get install xinetd telnetd ->텔넷 설치


2. /etc/xinetd.d/telnet 파일을 편집한다.



3. 사용자 생성 (teluser)


- adduser teluser


4. 텔넷 서비스 가동


- systemctl restart xinetd

- systemctl status xinetd



5. 포트 설정 후 서버에서 telnet 테스트


- ufw allow 23/tcp (telnet은 23번 포트 이용)



6. 윈도우 클라이언트에서 접속해보기. (Putty 이용)



'Linux' 카테고리의 다른 글

[Linux] 네임서버 작동원리  (0) 2018.07.09
[Linux] SSH 서버, VNC 서버 구축  (0) 2018.07.08
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] LVM  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28

쿼터 (Quota)


- 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것


실습 진행 순서



1. 하드디스크 추가하기.


- 10GB의 사용자 하드디스크를 추가.


2. /dev/sdb의 파티션을 생성 및 포맷을 한 후 'userHome' 디렉토리에 마운트


- # fdisk /dev/sdb1

- Command : n

- Select : P (Linux)

- Partition Number(1-4) : 1

- First Sector : Enter

- Last Sector : Enter

- Command : p

- Command : w

- #mkfs.ext4 /dev/sdb1

- # mkdir /userHome

- # mount /dev/sdb1/ userHome


재부팅 후 인식되도록 /etc/fstab에 등록

/dev/sdb1 /userHome /ext4 default 0 0


3. 임의의 사용자를 생성


- john과 ban 생성

- adduser --home /userHome/john john

- adduser --home /userHOme/ban ban



4. /etc/fstab 을 편집한다.



- 기존에 입력되어있던 /dev/sdb1    /userHome ext4 default 0 0에 defaults 뒤에 다음 문구를 추가해준다.

- .usrjquota=aquota.user,jqfmt=vfsv0 을 추가한다. (추가한 디스크는 쿼터용을 될 수 있음을 의미)


5. 재부팅한 효과를 내기 위해 mount --option remount/userHome을 입력해 다시 마운트 한다.


6. 쿼터 DB 생성 (사용자 용량 제한)



- quota 명령어

cd .userHome - 쿼터용 파일 시스템이 마운트된 디렉터리로 이동한다.
quotaoff -avug - 일단 쿼터를 끈다
quotacheck -qugmn - 파일 시스템의 쿼터 관련 체크를 한다
rm -rf aquota. - 생성된 쿼터 관련 파일을 삭제한다
quotacheck -augmn - 다시 파일 시스템의 쿼터 관련 체크를 한다
touch aquota.user aquota.group - 쿼터 관련 파일을 생성한다
chmod 600 aquota.
 - 보안을 위해 소유자(root)외에는 접근하지 못하게 한다.
quotacheck -augmn - 마지막으로 파일 시스템의 쿼터 관련 체크를 한다.
quotan -avug - 설정된 커터를 시작한다.

7. 사용자별 공간 할당


- john 사용자가 사용할 수 있는 공간을 10MB 할당한다.

- edquota -u john 을 입력하면 사용자 별 할당량 편집 가능



- 10MB는 넘을 수 있지만 15MB는 넘기지 못한다. (soft hard 의미, 0은 제한이 없음)


8. john 으로 로그인해서 테스트.



- soft 크기까진 디스크 할당이 가능하지만 hard (15MB) 넘어 갔을 시에 파일이 짤려버림

- quota 명령어로 확인


9. 그 외 명령어


- edquota -p john ban ( john에 적용한 쿼터 값을 그대로 ban에게 적용)

- requota /userHome (userHome 디렉토리에 적용되어있는 쿼터값을 확인)

'Linux' 카테고리의 다른 글

[Linux] SSH 서버, VNC 서버 구축  (0) 2018.07.08
[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] LVM  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28

LVM ( Logical Volume Manage)


- 여러 개의 하드디스크를 합쳐서 한 개의 파일시스템으로 사용하는 것


용어


- Physical Volume

- Volume Group

- Logical Volume



실습 흐름도




1. fdisk 한다.



- LVM 은 type 이 8e 이다. ( L눌러서 type 확인 가능)


2. Physical volume create 후 Volume group create를 한다. 

- 먼저 패키지 설치를 해야함 apt-get -y install lvm2

- pvcreate 먼저 하고 vgcreate를 한다.



3. Logical Volume create을 한다.



- 5G 짜리 myVG를 각각 1,3,1G 로 나눈다.

- lvcreate --extents 100%FREE --name myLG3 myVG 를 써서 마지막에 남은 모든용량을 처리한다.


4. 포맷한다.


- mkfs.ext4 /dev/myVG/myLG1

- mkfs.ext4 /dev/myVG/myLG2

- mkfs.ext4 /dev/myVG/myLG3


5. 폴더 생성 후 각각 마운트 한다.




7. /etc/fstab에 등록한다.


'Linux' 카테고리의 다른 글

[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28
[Linux] 모듈과 커널 컴파일  (0) 2018.06.27



RAID

- RAID(Redundant Array of  Indepensive Disks) 여러개의 디스크를 하나의 디스크처럼 사용함

- 비용절감 + 신뢰성 항샹 + 성능 향상


RAID 방식의 비교


RAID 방식에 대한 이미지 검색결과


실습 ) RAID 0, 1, 5 구축해보기


1. 9개의 하드디스크를 추가한다. (sdb ~sdj 까지)



2. fdisk를 이용해 파티션한다.



- 포맷시 파티션 type 옵션에 t를 주고 type에 raid 설정을 위해 fd로 타입을 변경한다. (b~j까지 동일하게 진행)



fdisk 완료 (b~j까지)


실습) Linear RAID 구축



- apt-get install mdadm 

- mdadm --create /dev/md9 --level=linear --raid-device=2 /dev/sdb1 /dev/sdc1

(md9이라는 mdadm을 만들고 레벨은 linaer다. 장치는 2개고 그 2개는 sdb1과 sdc1 이다.)

- 그 후로 포맷 과정은 동일, 마지막에 /etc/fstab 수정함으로써 부팅후에도 유지시킴.

- 확인 명령어 : mdadm --detail /dev/md9

- 똑같이 raid 0,1,5 실습

- 완료 후 update-initrams -u 명령어 실행 (적용)


결과 )



'Linux' 카테고리의 다른 글

[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] LVM  (0) 2018.07.03
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28
[Linux] 모듈과 커널 컴파일  (0) 2018.06.27
[Linux] GRUB 부트로더  (0) 2018.06.27

+ Recent posts