본문 바로가기

리눅스

우분투에서 Squid 기반으로 WPAD(Web Proxy Auto-Discovery)를 구성하는 방법

반응형

우분투에서 Squid 기반으로 WPAD(Web Proxy Auto-Discovery)를 구성하는 방법

WPAD는 클라이언트가 별도 설정 없이 자동으로 프록시를 인식하도록 해주는 메커니즘입니다.

핵심은 PAC 파일(wpad.dat) 을 제공하고 클라이언트가 이를 자동으로 찾도록 하는 것입니다.

1. 전체 아키텍처

[Client]
   ↓ (DHCP/DNS 통해 WPAD 탐색)
http://wpad.domain/wpad.dat
   ↓
[Web Server (PAC 파일 제공)]
   ↓
[Squid Proxy]
   ↓
[Internet]

2. Squid 설치

sudo apt update
sudo apt install -y squid
sudo systemctl enable squid
sudo systemctl start squid

3. Squid 기본 설정

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

sudo vim /etc/squid/squid.conf

최소 권장 설정

# 로컬 네트워크 정의
acl localnet src 192.168.0.0/24

# 허용 포트
acl Safe_ports port 80
acl Safe_ports port 443
acl CONNECT method CONNECT

# 접근 정책
http_access allow localnet
http_access deny all

# 프록시 포트
http_port 3128

4. WPAD 구성 (PAC 파일 생성)

sudo mkdir -p /var/www/html
sudo vim /var/www/html/wpad.dat

PAC 파일

function FindProxyForURL(url, host) {

    // 내부망은 직접 연결
    if (isInNet(host, "192.168.0.0", "255.255.255.0")) {
        return "DIRECT";
    }

    // 특정 도메인은 프록시 사용
    if (dnsDomainIs(host, ".example.com")) {
        return "PROXY proxy.example.com:3128";
    }

    // 기본 정책
    return "PROXY proxy.example.com:3128; DIRECT";
}
  • DIRECT fallback은 필수 (장애 대응)

5. 웹 서버 구성

WPAD는 반드시 HTTP로 제공되어야 합니다.

sudo apt install -y nginx
sudo vim /etc/nginx/conf.d/default
server {
    listen 80;
    server_name wpad.example.com;

    location /wpad.dat {
        root /var/www/html;
        default_type application/x-ns-proxy-autoconfig;
    }
}

적용

sudo systemctl restart nginx

6. DNS 구성 (가장 중요)

WPAD 자동 탐색은 DNS 기반으로 동작합니다.

 

기본 레코드

wpad.example.com → WPAD 서버 IP
  • 클라이언트는 자동으로 아래 URL을 시도
http://wpad.example.com/wpad.dat

7. DHCP 옵션

DHCP Option 252 설정

http://wpad.example.com/wpad.dat
  • DNS보다 우선 적용됨 (더 명확한 제어 가능)

8. 테스트 방법

클라이언트에서

1) 브라우저 자동 프록시 설정 활성화

  • Windows: "자동으로 설정 감지"
  • Linux/macOS: Auto Proxy 설정

2) 확인

curl -I http://wpad.example.com/wpad.dat

또는 브라우저

http://wpad.example.com/wpad.dat

 

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

 

728x90
반응형