반응형
우분투에서 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
반응형
'리눅스' 카테고리의 다른 글
| 파이썬 람다 함수란 (0) | 2026.03.19 |
|---|---|
| 우분투 24.04에서 Redis Cluster를 구성하는 방법 (0) | 2026.03.17 |
| VMware ESXi 8.0에서 관리자 계정 생성 및 Administrator 권한 부여 방법 (1) | 2026.03.12 |
| NetBox에서 API Token 보안 강화를 위한 API_TOKEN_PEPPERS를 설정하는 방법 (0) | 2026.03.06 |
| 우분투 24.04에서 NetBox를 설치하는 방법 (0) | 2026.03.05 |