Network/Untangle

Untangle - 구축 (HAProxy, WEB, DB, DNS, FTP, MAIL / 방화벽 제한)

잇(IT) 2022. 5. 18. 17:15
728x90

목차


1. 구성도

2. Untangle 설정
3. HAProxy 설정
4. Web Server설정 (CentOS7-1,2)
5. DB Server 설정 (CentOS7-3)
6. DNS, FTP, MAIL 설정

6.1 DNS 기본 설정
6.2 FTP 기본 설정
6.3 MAIL 기본 설정

7. 설정 확인

7.1 DNS 확인
7.2 FTP 확인
7.3 MAIL 확인
7.4 WEB PAGE 확인


1. 구성도

 

- HAProxy를 통해 Web Server 1, 2에 부하 분산을 해 줄 것이다.

- 그 외 각 Server및 장비들은 위의 표와 같이 구성되어 있다.


2. Untangle 설정

 

- Untangle 네트워크 카드는 현재 NAT(10.0.0.11), Host-only(1.1.1.254), Host-only(2.2.2.254)로 구성되어 있다.

 

- 접근 가능 규칙은 DNS(53), FTP(20,21), MAIL(25,110,143)번 포트를 모든 IP에서 접근 가능하도록 설정하였다.

 

- WEB의 경우 HAProxy에서 부하 분산을 해 줄 것이기 때문에 외부에 Web에 접근하기 이전에 먼저 HAProxy(2.2.2.2)로 가도록 포트 포워딩 해준다.

 

- 나머지 FTP, Mail Server는 W2K19-MEM1(2.2.2.1)이기 때문에 해당 Server로 요청이 가도록 포트 포워딩 해준다.


3. HAProxy 설정

 

- HAProxy를 통해 Web Server 1, 2에 부하 분산을 해 줄 것이다.

 

- HAProxy의 80번 포트로 들어오는 요청을 Web Server 1과 Web Server 2에 부하 분산 해주는 설정이다.

- 63 : HAProxy로 들어오는 포트를 지정한다.

- 82, 82 : HAProxy에서 부하 분산 시킬 IP 주소 및 포트 번호를 지정한다.

 

- 시스템 재시작 및 80번 포트로 요청을 받을 것이기 때문에 80번 포트의 방화벽을 허용해준다.


4. Web Server설정 (CentOS7-1,2)

 

- Web Server의 경우 1, 2 부하 분산을 위해 구성된 2개의 Web Server이기 때문에 Web 페이지 구성 및 설정은 동일하다.

 

- HAProxy에서 각 Web Server로 보낼 포트를 80번으로 지정했기 때문에 Web Server가 요청을 받을 포트 번호도 80번으로 지정해준다.

 

- php 파일을 사용 할 것이기 때문에 기본 페이지를 index.php 파일로 변경해준다.

 

- 현재 Web Server에 4개의 파일이 있다.

 

- DB Server에 해당하는 1.1.1.3로 root 사용자 및 패스워드를 입력하고 데이터베이스, 포트, 인코딩 방식을 각 변수에 저장하고 해당 변수들을 mysql 접속에 사용한다.

- 해당 페이지는 DB Server에 연결이 되었는지 확인하는 페이지에 해당한다.

 

- person1.php 파일은 정보를 입력 및 다른 페이지로 이동하는 항목을 보여주는 페이지다.

- 입력한 정보는 post 방식으로 insert1.php 파일로 보내지게 된다.

- 아래 선택 항목들은 지정된 url을 따라 페이지를 이동하게 된다.

 

- insert1.php 파일은 person1.php 파일로부터 받은 데이터를 DB Server에 입력하는 역할을 한다.

- member 테이블에 해당 데이터들을 저장한다.

 

- table1.php 파일은 DB Server에 저장된 데이터들을 보여주는 파일이다.

 

- 즉, person1.php 파일에 입력된 데이터는 insert1.php 파일로 전송되고 insert1.php 파일은 person1.php 파일로부터 받은 데이터를 DB Server에 입력하고 table1.php 파일은 DB Server에 있는 데이터를 불러와 웹 페이지에 보여준다.

 

- 시스템 재시작 및 웹 페이지 접근을 위한 80번 포트의 방화벽을 허용해준다.


5. DB Server 설정 (CentOS7-3)

 

- MYSql 접속 후 member 데이터베이스를 생성해준다.

 

- 해당 데이터베이스 테이블에 어디서든 접근 가능하도록 설정한다.

 

- member 데이터베이스로 이동한다.


table1.php

 


- table1.php에 작성된 내용에 맞게 해당 컬럼들을 테이블에 생성해준다.

- 시스템 재시작 및 MYSql 접근을 허용하기 위해 3306 포트 방화벽을 허용해준다.


6. DNS, FTP, MAIL 설정

 

- 구체적인 Server에서 DNS, FTP, MAIL 설정은 이전 포스팅을 참고한다.


6.1 DNS 기본 설정

 


6.2 FTP 기본 설정

 


6.3 MAIL 기본 설정

 

 


7. 설정 확인


7.1 DNS 확인

 


7.2 FTP 확인

 

- Filezilla 프로그램을 통해 FTP Server 사용자 a의 홈 디렉터리로 폴더를 전송한다.

 

- FTP Server 사용자 a의 홈디렉터리에 전송된 폴더가 있는 것을 확인 할 수 있다.

 

- cmd에서도 확인이 가능하다.


7.3 MAIL 확인

 

- Hmail을 통해 AD DC에서 생성한 사용자 a, b의 메일 계정을 생성하여 서로에게 메일을 주고 받는 모습을 확인할 수 있다. 


7.4 WEB PAGE 확인

 

-  HAProxy를 통해 WEB Page 접근시 부하 분산이 되고, 해당 웹 페이지에 접속하여 정보 입력, 정보 전송, 정보 출력 화면을 확인 할 수 있다.


8. 방화벽으로 제한

 

8.1 WEB 제한

 


2. FTP 제한

 

- 출발지 IP가 10.0.0.101인 장비에서 목적지 포트가 20,21에 해당하는 요청을 전부 제한하는 설정이다.

- 포트 번호 20,21은 FTP에 사용되는 포트 번호이기 때문에 해당 방화벽을 제한하면 FTP가 실행되지 않는다.

 

- 10.0.0.101 장비에서 FTP 실행이 안되는 것을 볼 수 있다.


8.3 MAIL 제한

 

728x90

'Network > Untangle' 카테고리의 다른 글

Untangle - 구축 및 설정 2  (0) 2022.05.17
Untangle - 구축 및 설정 1  (0) 2022.05.15
Untangle - 설치  (0) 2022.05.12