# 문제
Linux1, Linux2 설치완료
1. Linux1 주 DNS 서버
도메인 영역 : keduit.vm
주 네임서버 ns1.keduit.vm.
보조 네임서버 ns2.keduit.vm. => Linux2
보조 네임서버 ns3.keduit.vm. => win2003-1
부모와 같은 호스트
www1 호스트 생성
www2 호스트 생성
ssl 호스트 생성
Linux1 웹서버 1
버추얼호스트
/www1/index.html <- www1.keduit.vm
/www2/index.html <- www2.keduit.vm
2. Linux2
웹서버 2
보조 DNS / 웹서버
/var/www/html/index.html => ssl site
SSL 자체 서명된 인증서를 이용해서 보안웹 구성
https://ssl.keduit.vm 으로 사이트 확인
3. win2003-1 => dns 서버
Linux1의 주 dns 서버에서 보조영역 구성
모든 사이트 확인
http://www1.keduit.vm
http://www2.keduit.vm
4
Linux01, centos8, centos8-2 설치완료 나머지 가상머신은 그대로 사용
centos8, centos8-2 HTTPD 서버와 MariaDB 서버 설치 하시오.
centos8
/var/www/html/index.html => www1 site
/var/www/html/index.html => www2 site
Haproxy로 웹서버 로드벨런싱 구성 후 HAProxy IP 입력헤서 접속
HAProxy 서버에 SSL 인증서를 이용해서 https://192.168.1.10 치면 사이트 접속 확인
centos8과 cento8-2 MariaDB 서버에 원격으로 사용자 root 암호 :1234로 설정
centos8 로컬에서 로그인해서
kosa DB 생성
centos8-2 그대로 사용
* HAproxy 서버에 Maria DB 로드벨런서를 구성하시오
mysql -h 192.168.1.10 -u root -p 입력해서 Mariadb서버가 로드벨런싱 되는지 확인 하시오.
# 주서버(ns1) - Linux1
## Virtual Host
yum -y install caching-nameserver
vi /etc/named.conf
vi /etc/named.rfc1912.zones
###########################
###########################
cd /var/named/
cp -p named.localhost jh.com.zone
vi jh.com.zone
###########################
###########################
systemctl start named
systemctl enable named
# 보조영역(ns2) - Linux2
## Virtual Host
yum -y install caching-nameserver
vi /etc/named.conf
vi /etc/named.rfc1912.zones
###########################
###########################
systemctl start named
systemctl enable named
cd /var/named/slaves
ls
vi /etc/resolv.conf # 네임서버 바꿔줘야함
ping www1.jh.com
ping www2.jh.com
# 보조영역 (ns3) - Window 2003-01
## Virtual Host
# 주서버(ns1) - Linux1
## httpd 웹서버 생성
yum -y install httpd
mkdir /www1
mkdir /www2
cd /www1
echo www1.jh.com > index.html
cd /www2
echo www1.jh.com > index.html
vi /etc/httpd/conf/httpd.conf
##############################################
#127 /
#맨마지막줄
<VirtualHost *:80>
DocumentRoot /www1
ServerName www1.kosa.vm
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www2
ServerName www2.kosa.vm
</VirtualHost>
##############################################
systemctl restart httpd
vi /etc/resolv.conf
##############################################
nameserver 192.168.1.10
##############################################
# 보조영역(ns2) : SSL 자체 서명된 인증서 - Linux2
## httpd 웹서버 생성 및 ssl 인증서 발급
1. yum -y install httpd mod_ssl # mod_ssl : 자체인증서 만드는 프로그램
2. mkdir -p /etc/ssl/private # /ssl/private > 디렉토리 이름은 아무거나 만들어도 됨.
3. cd /etc/ssl/private
4. openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt
#x509 규칙으로 새로운 키를 만들어서 rsa:2048(공개키 48비트를 써라) req(요청한다)
# -out 내보내라. tecmint.local.crt(인증서를) tecmint.local.key(개인키)
ls
tecmint.local.crt tecmint.local.key
# cat tecmint.local.crt
# cat tecmint.local.key
5. echo ssl site > /var/www/html/index.html # 웹서버 화면에 띄울 내용
6. vim /etc/httpd/conf.d/ssl.conf #보안전용(443)
맨 밑줄 붙여넣기
####################################
<VirtualHost *:443>
ServerAdmin admin@naver.com
ServerName www.tecmint.local
ServerAlias tecmint.local
DocumentRoot /var/www/html # index.html 위치(웹서버 화면에 띄울 내용)
SSLEngine on
SSLCertificateFile /etc/ssl/private/tecmint.local.crt # 인증서 위치
SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key # 개인키 위치
</VirtualHost>
####################################저장
7. systemctl start httpd
systemctl restart httpd
8. httpd -t 문법검사
여기, 3번까지 OK!
# centos8 / 8-02
## http / mariadb 다운로드 및 실행
# httpd 다운로드 및 설정
yum -y install httpd
cd /var/www/html
echo www.centos8 origin > index.html
systemctl enable --now httpd # 업데이트 및 enable
systemctl status httpd # 에러 확인
---------------------------------------------
# mariadb server 다운로드 및 설정
yum -y install mariadb-server # Mariadb 다운로드
systemctl start mariadb
mysql_secure_installation => enter => y => 1234 => n => y,y,y # 로컬에 대한 암호 접속 설정
# = mysqladmin -u root password '1234'
mysql # 로그인 안됨
mysql -u root -p
>1234 # 로그인
>use mysql
>grant all privileges on *.* to root@'%' identified by '4321'; #원격 접근 설정
#>select user, host from user where user not like ' '; #원격접근권한 부여 확인
# centos8에만 생성
>create database centos8888;
>show databases;
# linux01
## HAproxy 다운로드 및 설정 완료(로드밸런싱)
yum -y install haproxy
cd /etc/haproxy
ls
vi haproxy.cfg
#############################
63
81
#############################저장
systemctl start haproxy
systemctl enable haproxy
systemctl status haproxy
curl 192.168.1.10
# 위에 1,2,3번에서 한 httpd는 꺼준 후에 진행해야한다. 아니면 겹쳐서 http index만 나온다.
# systemctl stop httpd
# systemctl restart haproxy
# https 붙여서 검색해도 나오게 만들기 - https://192.168.1.10
## SSL 인증서 생성
# SSL 인증서 생성
cd /etc/pki/tls/certs
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/haproxy.pem -out /etc/pki/tls/certs/haproxy.pem -days 365
ls haproxy.pem
cat haproxy.pem # pem 파일에 인증서와 키가 같이 들어가 있는것 확인
# chmod 600 haproxy.pem # 권한 수정
## SSL 전용 HAProxy 구성
vi /etc/haproxy/haproxy.cfg
######################################################
# add in the "global" section
# global
# max per-process number of SSL connections # 한번에 동시접속 최대 256명까지 가능
maxsslconn 256
# set 2048 bits for Diffie-Hellman key # Diffie-Hellman : 키교환 방식 중 하나
tune.ssl.default-dh-param 2048
####### ####### #######
## add follows in the "frontend" section
#frontend http-in
# bind *:80
# specify port and certs
bind *:443 ssl crt /etc/pki/tls/certs/haproxy.pem
#########################################################
systemctl restart haproxy # 업데이트
systemctl status haproxy # 에러 여부 확인
# mariadb 원격접속 가능하게 만들기
## mariadb 클라이언트(프로그램) 다운로드 및 설정
yum -y install mariadb # 클라이언트 프로그램
vi /etc/haproxy/haproxy.cfg
###################################################
# mode 변경
mode tcp
#맨 마지막 줄에 삽입
frontend mysql-in
bind *:3306
default_backend db_servers
backend db_servers
balance roundrobin
server db1 192.168.1.20:3306 check
server db2 192.168.1.30:3306 check
###################################################
systemctl restart haproxy # 업데이트
systemctl status haproxy # 에러 확인
## HAproxy IP로 원격접속
# 원격접속
mysql -h 192.168.1.10 -u root -p
>4321
>show databases; # 다시 접속하면 centos888 DB가 있다없다한다 > 로드밸런싱 정상작동 확인 가능!
>exit
오늘은 앞서 배운 내용을 섞어서 미니프로젝트 실습을 진행해보았습니다. 응용해서 더 활용해보시기 바랍니다. 감사합니다.