Project

22.05.16

가로선 2022. 5. 16. 23:57

 

   목차   

 

1. Load Balancer

 - Load Balancer 정리

 - Proxy

 - HAproxy(Load Balancer 구현)

    - 기본 설정

    - HAproxy 설정

    - 테스트

    - 포트바꿔 테스트

2. Untangle 문제풀이

 - 구성도

 - WEB 접속 테스트

 - MAIL 접속 테스트

 - DNS 접속 테스트

 - FTP 접속 테스트


 

   Load Balancer   

 

   Load Balancer 정리   

 - 부하 분산

 - Fault Tolerant

 

   Proxy   

 - 초창기에 느린 인터넷 속도로 웹사이트 접속이 원활하지 못한 경우 내부 서버에 웹사이트의 

    캐시 정보를 저장 후 내부 사용자들에게 서비스

 - Forward Proxy : IP 세탁에 많이 사용
    - 공격하면 역추적 하기가 쉽지 않음
 - Reverse Proxy : 회사 내부에 웹서버를 두어 클라이언트가 다이렉트 접속이 아닌 프록시서버에
                                   접속하여 부하분산을 시킨다(라운드-로빈 방식 같은 것)
    - 성능 좋은애한테 가중치를 줘서 처리도 가능(성능 좋으면 더 주는 것)
    - 프록시 서버가 서버들의 리소스 자원을 보고 주는 것
    - 보통은 라운드 로빈 방식으로 구현되어있음
    - Load Balancer의 원조

 

   HAproxy 설정 및 구현   

  - Reverse Proxy 구현하기 좋다(=Load Balancer)
  - 평소엔 부하분산 하나 고장나면 Fault Tolerant 가능

 

구성도

 

   기본 설정   

 

쉽게 구성하기 위해 CentOS 1, 2, 3 서버에 각각 NAT 카드와 Host-Only 카드 추가

    - 인터넷이 되야 웹서버 설치도 하기 때문

 

새로운 네트워크 카드 번호 확인

 

ip 주소 설정을 위해 복사가 필요

    - ens36 카드에 ip를 부여하려 했으나 존재하지 않으므로 복사가 필요하다

 

구성도에 주어진대로 ip부여

    - 외부로 나갈 일이 없으므로, GW와 DNS 주소가 필요 없다

 

   HAproxy 설정   

 

yum으로 설치

 

haproxy 구성파일 vi 편집기로 접근하여 수정

 

Client가 접근할 때 80번 포트 사용하여 접근하는 것을 확인

 

ip 수정

    - backend 이름이 app으로 설정된 것을 확인(큰 의미 없다)

    - balancer가 라운드로빈 방식으로 구현된 것을 확인

    - server의 ip를 구성도에 정해진대로 변경

 

haproxy 서비스 시작

 

   테스트   

 - HOST PC에서 Test 진행

 

NAT 카드의 IP로 접속하여 확인

 

NAT 카드의 IP로 접속하여 확인

    - Refresh를 진행할 때마다 서버가 바뀌는 것을 확인(Round-Robin 방식)

 

   포트바꿔 테스트   

 - 80번 포트가 아닌 60080번 포트로 변경하여 테스트

 

HAproxy 구성파일에서 수정

 

httpd 설정파일에서 Listen 포트 변경

 

방화벽 설정

 

 

   Untangle 문제풀이   

 

문제(출처 : https://virtualtech.tistory.com/)

    - WEB Server 설정, DB는 아직 배우기 전이므로 패스

    - DMZ와 내부는 통신이 무조건 되나 외부에서 내부로는 통신이 되지 않는다

    - Untangle을 통해 외부에서 DMZ로 접근이 가능하도록 설정

 

   구성도   

 

해당 그림대로 구성진행

    - 외부에서 DMZ의 서비스를 이용하려면 Untangle을 거쳐야한다

    - 외부에서는 10.10.20.1/24 네트워크 대역을 알 방법이 존재하지 않는다

        - Untangle(10.0.0.1)에서 포트포워딩을 통해 향하도록 지정해줘야 한다

    - 즉, 10.0.0.1로 외부에서 접속했을 때 해당 내부 서비스로 연결되록 설정 진행

    - MEM1은 AD의 Member Server로 가입

    - W10-1은 DNS 설정을 KT, Google로 설정

 

   WEB 접속 테스트   

 - WEB 서버 생성은 패스

 

Untangle에서 포트포워딩 진행

    - 10.0.0.1:80로 접속했을 때 10.10.20.1:80으로 포트포워딩 진행

    - 그림상에서는 UDP도 설정되어있으나 빼도 무방할 것 같다

 

W10에서 테스트 진행

    - DNS 설정에서 도메인에 10.0.0.1까지 추가하여 도메인으로 접속도 가능

 

HOST-PC에서 테스트 진행

    - 외부에서 10.10.20.1의 웹 서버에 접속이 되는 것을 확인

 

   MAIL 접속 테스트   

 

메일 관련 포트 포워딩 enable 체크 해제

 

썬더버드에서 서버 접속 테스트가 안되는 것읋 확인

 

Enable 체크

 

서버접속이 잘 되는 것을 확인

 

문제에서 주어진대로 AD에서 사용자 받아오기

 

메일 발신 테스트

 

메일 수신 테스트

 

Untangle에서 Enable 해제 시 메일 보내기가 안되는 것을 확인

 

   FTP 접속 테스트   

 

W10-1에서 접속

    - ftp.babo.com으로도 접속이 가능

 

ftp 관련 포트 포워딩 Enable 해제

 

접속이 거부되는 것을 확인

 

Host PC에서도 접속이 잘 되는 것을 확인

 

   DNS 접속 테스트   

 

KT의 DNS로 진행했을 때 진행이 안됨

    - W10-1에서 DNS을 10.0.0.1로 변경하여 테스트 진행

 

DNS 서버가 출력되는 것을 확인

    - 외부에선 10.0.0.1로 접속이 되기 때문에 DNS 서버 구성 때 10.0.0.1도 추가하여 구성

 

Untangle에서 DNS 포트 Enable 해제

 

DNS 조회불가 확인