- [AWS SAA-C03] Amazon RDS Proxy 알아보기 [GPT에게 물어보다.] 에서 Proxy Server의 기능을 살펴보았었다.
- 이번에는 Linux 에 Proxy 기능을 설치하여 Proxy Server를 만들어보려고 한다.
[구성도]
[Linux Proxy Server 구축 기초]
0. Proxy Server 구축 전
0.1) Proxy Server 지정
- Proxy Server를 구축하기 전에, Proxy Server 설정을 해놓고 접속을 해보려고 한다.
- Linux Server의 Firefox을 열어서 [네트워크 설정] 으로 이동한다.
- 다음과 같이, [수동 프록시 설정]으로 변경 후, IP와 포트 번호를 입력하고 [확인]을 누른다.
- 그리고, google.com 로 접속하면, 아래 Error 와 같이 연결을 거부했다는 내용이 출력된다. 이제, Proxy Server 없이는 외부로 접속을 할 수 없는 상태가 되었으니, Linux Proxy Server를 구축하여, 외부로의 통신을 마무리해보자.
1. Proxy Server 설치
1.1) Squid 설치
yum -y install squid
- Squid는 자주 액세스하는 웹 콘텐츠를 캐싱하여 웹 브라우징 성능을 향상시키는 데 사용되는 서비스다. 아래와 같이 설치를 진행한다.
2. Squid 파일 설정 및 실행
2.1) Squid 파일 설정
vim /etc/squid/squid.conf
- 위의 파일로 이동하여, 다음의 파일 내용을 수정한다.
acl centos7 src 192.168.1.0 255.255.255.0
ACL 이름 = centos7
src = ACL이 수신 요청 대역을 지정 (Source IP 주소)
http_access allow centos7
정의 - "centos7"이라는 이름의 ACL(Access Control List)과 일치하는 Client 에 대해 HTTP Access를 허용
의미 - "centos7" ACL에 지정된 IP 주소를 가진 Client가 Squid 프록시를 통해 콘텐츠에 액세스 가
http_port 3128
의미 - Proxy Server 의 기본 포트 넘버
cache_dir ufs /var/spool/squid 1000 16 256
의미 - Squid의 캐시 디렉토리와 매개 변수를 지정
ufs = 캐시 디렉터리 형식 = 유닉스 파일 시스템
/var/smooth/smooth = 파일 시스템의 캐시 디렉토리에 대한 경로
1000 = 캐시에서 사용할 수 있는 최대 디스크 공간(메가바이트)을 지정
16 = 캐시 디렉토리 내의 첫 번째 수준 하위 디렉토리의 수
256 = 각 첫 번째 수준 하위 디렉토리 내의 두 번째 수준 하위 디렉토리의 수
visible_hostname centos7
의미 - Squid 서버에 대해 보이는 호스트 이름을 "centos7"로 설정. 특정 서버 응답에 사용되는 호스트 이름
2.2) Squid 실행
systemctl start squid
systemctl enable squid
systemctl status squid
- squid를 실행한다.
3. 외부로의 접속
- Windows에서 Proxy Server 설정을 마치고 나면 아래와 같이 외부로의 접속이 가능하다.
- [Windows] 윈도우 프록시 설정하기 [크롬 프록시 설정] 를 참고하여 설정하면 된다.
4. Proxy Server 확인하기
4.1) Wireshark 에서 확인하기
- 다음과 같이, 포트 번호 3128으로 요청하는 것을 알 수 있다.
4.2) Linux Proxy Server에서 확인하기
cd /var/spool/squid/
- 위에서 설정한 웹 콘텐츠 캐싱 디렉토리로 이동하여 확인해본다. 딱히 볼 수 있는 것은 없지만, 무엇인가 많이 저장되어있다. 이처럼, 웹 서버로의 접근 요청을 대신하여 응답해주는 Proxy Server를 살펴보았다.
'IT > ㄴ Linux' 카테고리의 다른 글
[CentOS] Linux ownCloud 구축하기 (0) | 2023.08.22 |
---|---|
[CentOS] Linux Apache 접근 권한 에러 해결하기 [You don't have permission to access] (0) | 2023.08.22 |
[CentOS] Linux Cockpit 기초 [리눅스 GUI 조작 프로그램] (0) | 2023.08.21 |
[CentOS] Linux Web Mail Server 구축하기 기초 [roundcube] (0) | 2023.08.16 |
[CentOS] iSCSI 알아보기 [Wireshark / ChatGPT] (0) | 2023.08.14 |