OS/Windows

프록시(proxy)를 활용한 인터넷 차단 PC에서 인터넷 접근 설정

Gadget 2025. 8. 8. 15:57

1. 전제 조건

1) 사용 중인 인터넷 차단PC가 인터넷 접근이 가능한 서버/PC와 SSH 통신이 가능해야 합니다.

2) 해당 서버/PC에 Apache httpd 등으로 프록시 서버가 구축되어 있어야 하고,

<IfModule proxy_html_module>
Include conf/extra/httpd-proxy-html.conf
</IfModule>

ProxyRequests On
<Proxy *>
  Require ip 127.0.0.1
</Proxy>

3) 해당 서버/PC에 ssh 접속 및 C2S(client to server) port forwarding 설정해 둡니다. (아래에서는 18080 포트)

[ssh] Local Listen 18080 → Destination localhost:18080 port forwarding

 

4) 웹서버는 로컬이나 별도 서버에 nginx, httpd 등을 이용해 proxy.pac 만 접근 할 수 있도록 간단히 구성합니다.

변경 사항이 있으면 번거로울 수 있으니 캐싱은 상황에 따라 고려합니다. (아래는 캐싱X)

worker_processes  4;
worker_rlimit_nofile 100000;

events {
    worker_connections  4096;
    multi_accept on;
    use poll;
}

error_log  logs/error.log  crit;
pid        logs/nginx.pid;

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 30;
    keepalive_requests 1000;
    reset_timedout_connection on;
    server_tokens off;

    server {
      listen 127.0.0.1:8000;
      server_name pac;
      location / {
        root C:/Config/proxy/nginx-1.28.0/html;
        expires -1;
        add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
      }
      access_log off;
    }
}

 

2. 설정 방법

1) proxy.pac 파일을 로컬 웹서버에 올립니다. 아래에서 IP 대역은 적절히 바꿉니다.

아래 예는, 도메인 및 IP 1.1.1.0~1.1.1.255, 192.168.0.0~192.168.255.255 는 직접 접속하고, (내 PC에서 바로 나감)

나머지는 127.0.0.1:18080 프록시(ssh C2S port forwarding)를 이용하라는 의미입니다. (인터넷 서버/PC를 경유해서 나감)

 

function FindProxyForURL(url, host) {
  if (isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0")) {
    return "DIRECT";
  }
  if (isInNet(dnsResolve(host), "1.1.1.0", "255.255.255.0")) {
    return "DIRECT";
  }
  return "PROXY 127.0.0.1:18080";
}

 

2) 시작 버튼 - "인터넷 옵션" 입력 후 엔터 - 연결 탭 - 아래의 LAN 설정 클릭 후 아래와 같이 "자동 구성 스크립트 사용"에

위에서 만든 pac 파일에 접근하도록 합니다.

 

3) 인터넷이 잘되는 지, DIRECT 설정한 IP 대역은 현재 PC IP로 보이는지 확인합니다.

 

※ 중계용 서버/PC 와는 SSH 통신되어 중간에서 내용 확인이 불가합니다. (보안)