CentOS 8 / Squid로 Proxy Server 만드는 방법

리눅스로 프록시 서버(Proxy Server)를 만들 때 스퀴드(Squid)를 주로 사용합니다. 오픈 소스이고, 대부분의 리눅스 배포판에 패키지로 포함되어 있습니다.

스퀴드(squid)는 대중적인 오픈 소스(GPL)소프트웨어 프록시 서버이자 웹 캐시이다. 반복된 요청을 캐싱함으로 웹서버의 속도를 향상시키는 것부터, 네트워크 자원을 공유하려는 사람들에게 웹, DNS와 다른 네트워크 검색의 캐싱을 제공하고, 트래픽을 걸러줌으로써 안정성에 도움을 주는 등에 이르기까지 광범위 하게 이용된다.

CentOS 8에서 Squid를 이용하여 Proxy Server를 만드는 방법을 정리합니다.

설치와 설정

  • 다음과 같이 명령하여 Squid를 설치합니다.
dnf install squid
  • 설정 파일은 /etc/squid/squid.conf입니다. 텍스트 편집기로 엽니다.
vi /etc/squid/squid.conf
  • 다음 두 줄을 추가하고 저장합니다. 어떤 기기에서도 사용을 허락한다는 뜻입니다.(ips는 다른 문자열로 바꾸어도 됩니다.)
acl ips src 0.0.0.0/0.0.0.0
http_access allow ips
  • Squid가 사용하는 3128 포트를 엽니다.
firewall-cmd --permanent --add-port=3128/tcp
  • 방화벽을 다시 시작합니다.
firewall-cmd --reload
  • Squid를 시작합니다.
systemctl start squid
  • 부팅 시 자동으로 시작되도록 하려면 다음과 같이 명령합니다.
systemctl enable squid

테스트

윈도우 클라이언트에서 프록시 서버가 잘 작동하는지 알아보겠습니다.

  • Windows 설정을 열고 [네트워크 및 인터넷]을 클릭합니다.

  • 왼쪽에서 프록시를 클릭한 후 오른쪽에서 [프록시 서버 사용]을 켭니다.

  • 프록시 서버의 IP 주소와 포트를 입력하고 [저장]을 클릭합니다.

  • 프록시 서버가 동작 중이라면 인터넷 사용에 문제가 없습니다. 하지만 다음과 같이 명령하여 프록시 서버를 중지 시키면 인터넷 연결이 되지 않습니다.
systemctl stop squid

특정 IP의 기기만 인터넷 연결을 허용하기

접속 가능한 도메인 설정하기

같은 카테고리의 다른 글
CentOS 7 / mod_security 설치하는 방법

CentOS 7 / mod_security 설치하는 방법

mod_security는 아파치 웹서버에 사용할 수 있는 방화벽 모듈입니다. ModSecurity is an open source, cross-platform web application firewall (WAF) module. Known as the "Swiss Army Knife" of WAFs, it enables web application defenders to gain visibility into HTTP(S) traffic and provides a power rules language and API to implement advanced protections. 설치 yum install ...

CentOS 7 / 다운로드 하는 방법

CentOS 7 / 다운로드 하는 방법

CentOS는 세계 곳곳의 서버에서 다운로드할 수 있습니다. 다운로드하려는 곳에서 가까운 곳에 있고 회선이 좋은 서버에서 다운로드 받아야 빠르게 다운로드 할 수 있습니다. 다행이 CentOS는 가까운 서버를 알려줘서 다운로드에 소요되는 시간을 줄일 수 있습니다. CentOS 공식 다운로드 페이지로 갑니다. 다운로드 하고 싶은 ISO를 클릭합니다. 카이스트, 카카오, 네이버 등 국내 다운로드 주소를 먼저 보여줍니다. 마음에 드는 ...

CentOS 7 / 설치하기

CentOS 7 / 설치하기

CentOS ISO 다운로드 CentOS ISO 파일은 DVD ISO, Everything ISO, Minimal ISO, NetInstall ISO 등 여러 가지가 있습니다. 이 중에서 가장 파일 크기가 작은 NetInstall ISO 파일로 설치하겠습니다. NetInstall ISO는 설치에 필요한 최소한의 파일만 포함하고 있고, 추가 소프트웨어는 다운로드 받아 설치합니다. CentOS 7의 NetInstall ISO 파일은 다음 링크에서 다운로드를 받을 수 있습니다. http://mirror.navercorp.com/centos/7/isos/x86_64/ 파일 이름은 CentOS-7-x86_64-NetInstall-xxxx.iso입니다. CD로 부팅 ISO 파일을 CD에 ...

CentOS 7 / Apache, PHP, MariaDB 설치하는 방법

CentOS 7 / Apache, PHP, MariaDB 설치하는 방법

CentOS에 Apache, PHP, MariaDB를 설치하는 방법을 간략히 정리합니다. APM 설치 Apache, PHP, MariaDB을 설치합니다. yum install httpd php mariadb-server php-mysql 서비스 설정 Apache가 부팅 시 자동으로 시작되도록 합니다. systemctl enable httpd.service MariaDB가 부팅 시 자동으로 시작되도록 합니다. systemctl enable mariadb.service Apache를 시작합니다. systemctl start httpd.service MariaDB를 시작합니다. systemctl start mariadb.service 방화벽 설정 http로 접속할 수 있도록 포트를 열어줍니다. firewall-cmd --permanent --add-service=http https로 접속할 수 있도록 포트를 ...

CentOS 7 / YUM 사용법

CentOS 7 / YUM 사용법

YUM 명령어 도움말 보기 yum -h 패키지를 최신 버전으로 업데이트 하기 yum update 모든 패키지 목록을 보기 yum list 모든 패키지 그룹 목록을 보기 yum grouplist http과 관련된 패키지를 검색하기 yum search http 패키지 이름에 http를 포함하고 있는 것을 검색하기 yum list *http* httpd 패키지의 정보 보기 yum info httpd X Window System 패키지 그룹의 정보 보기 yum groupinfo "X Window System" httpd 패키지 설치하기 yum install ...

CentOS / 버전 확인하는 방법

CentOS / 버전 확인하는 방법

cat /etc/redhat-release # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) cat /etc/*release* # cat /etc/*release* CentOS Linux release 7.4.1708 (Core) Derived from Red Hat Enterprise Linux 7.4 (Source) NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" CentOS Linux release 7.4.1708 (Core) CentOS Linux release 7.4.1708 (Core) cpe:/o:centos:centos:7

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

CentOS 7 / ntsysv로 부팅할 때 서비스 자동으로 시작하게 하기

서비스 관리는 보통 systemctl 명령어로 합니다. systemctl 명령어의 enable을 이용하면 시스템이 부팅할 때 서비스가 자동으로 시작하게 할 수 있습니다. 예를 들어 systemctl enable httpd.service 는 서버가 부팅할 때 httpd 서비스를 자동으로 시작합니다. 만약 이러한 서비스 관리를 명령어로 하는 불편하다면 ntsysv를 사용해보세요. TUI로 자동으로 시작하는 서비스를 관리할 수 있습니다. 다음과 같이 명령하여 ntsysv 패키지를 설치합니다. yum install ntsysv 다음과 같이 ...

CentOS 7 / Let’s Encrypt에서 무료 SSL 인증서 발급 받는 방법

CentOS 7 / Let’s Encrypt에서 무료 SSL 인증서 발급 받는 방법

CentOS 7에서 Let’s Encrypt 인증서를 발급 받는 방법을 요약합니다. 환경 CentOS 7 Apache Web Server 설치 저장소 추가 yum install epel-release 설치 yum install python-certbot-apache 인증서 발급 abc.com 인증서 발급 certbot --apache -d abc.com abc.com과 www.abc.com 인증서 동시 발급 certbot --apache -d abc.com -d www.abc.com 인증서 갱신 Let’s Encrypt 인증서는 90일마다 갱신해야 합니다. certbot renew

CentOS 7 / SSH / 포트 변경하는 방법

CentOS 7 / SSH / 포트 변경하는 방법

리눅스 서버에 SSH 접속을 하는 공격이 있습니다. SSH Brute Force라고 하는데, 여러 아이디와 비밀번호로 로그인을 시도하는 공격입니다. 이 공격을 방어하는 방법은 여러가지가 있습니다. root 계정으로 로그인 못하게 하기 암호를 복잡하게 만들기 접속 가능 IP를 정하기 SSH 포트 번호 바꾸기 이 중에서 SSH 포트 번호 바꾸는 방법을 정리해보겠습니다. CentOS 7 기준이며, 포트 번호를 1980으로 바꾼다고 가정하겠습니다. SSH 설정 파일 ...

CentOS 8 / 화면 해상도 변경하는 방법

CentOS 8 / 화면 해상도 변경하는 방법

바탕화면에서 마우스 우클릭하고 Display Settings를 클릭합니다. Resolution에서 원하는 해상도를 선택합니다. 오른쪽 위의 Apply를 클릭합니다. Keep Changes를 클릭합니다. 해상도 변경이 완료되었습니다.