본문 바로가기

Linux Distributions

Squid 웹 프록시 서버를 WPAD (Web Proxy Auto-Discovery Protocol) 서버로 구성하는 방법

728x90
반응형

Squid 웹 프록시 서버를 WPAD (Web Proxy Auto-Discovery Protocol) 서버로 구성하는 방법

WPAD 서버를 구성하려면 Squid를 설치하고 squid.conf 파일을 편집하여 설정을 추가해야 합니다.

 

1. Squid 설치

Squid를 설치합니다. 대부분의 리눅스 시스템에서는 패키지 관리자를 사용하여 설치할 수 있습니다.

  • Ubuntu
sudo apt-get install squid
  • CentOS
sudo yum install squid

 

2. Squid 설정 파일 수정

Squid의 설정 파일인 squid.conf를 편집합니다.

sudo vim /etc/squid/squid.conf

 

3. WPAD 구성 추가

squid.conf 파일의 끝에 다음과 같은 WPAD 구성을 추가합니다.

# WPAD Configuration
acl localnet src 192.168.0.0/24  # 로컬 네트워크 주소로 변경
acl SSL_ports port 443
acl Safe_ports port 80
acl CONNECT method CONNECT
acl wpad urlpath_regex ^/wpad.dat$
http_access allow localnet
http_access deny all
http_reply_access allow all
icp_access allow localnet
never_direct allow localnet
icp_access deny all

# WPAD Service
http_port 3128 intercept
icp_port 3130
acl wpad-proxy url_regex wpad.dat$
http_access allow wpad-proxy
  • acl localnet에서 src 부분에는 로컬 네트워크의 IP 주소 범위를 지정합니다.
  • acl wpad urlpath_regex에서는 WPAD 파일을 찾기 위한 경로를 설정합니다.
  • http_port 3128 intercept는 Squid 프록시 포트를 지정하고, intercept 옵션은 요청을 가로채서 WPAD 파일을 제공하도록 합니다.

4. Squid 재시작

설정 파일을 저장한 후 Squid 서비스를 재시작합니다.

sudo systemctl restart squid

 

5. WPAD 파일 작성

Squid가 제공할 WPAD 파일을 작성합니다. 이 파일은 PAC (Proxy Auto-Configuration) 파일로서 JavaScript 형식으로 작성되어야 합니다.

예를 들어, /var/www/html/wpad.dat 경로에 다음과 같은 내용의 WPAD 파일을 만들 수 있습니다.

function FindProxyForURL(url, host) {
    if (shExpMatch(host, "*.example.com")) {
        return "PROXY proxy.example.com:3128";
    }
    return "DIRECT";
}

WPAD 파일 경로와 내용은 필요에 따라 수정할 수 있습니다.

 

6. 웹 서버 구성

WPAD 파일을 웹 서버에 업로드하고 웹 서버가 해당 파일을 호스팅하도록 구성합니다.

 

7. DNS 레코드 구성 (옵션)

DNS SRV 레코드를 사용하여 클라이언트에게 WPAD 서버의 위치를 알려줄 수 있습니다. DNS 관리자는 _wpad._tcp.example.com과 같은 SRV 레코드를 구성하여 WPAD 서버를 가리키게 할 수 있습니다.

 

이제 Squid를 사용하여 WPAD 서버를 구성했으며, 클라이언트 디바이스에서 자동으로 웹 프록시 설정을 가져오도록 설정할 수 있습니다. WPAD를 사용하는 클라이언트는 Squid 프록시를 통해 웹을 탐색하고 프록시 서버를 통해 웹 페이지에 액세스할 것입니다.

 

728x90
반응형