前言

本篇教大家如何架設 VPN 連回內網並阻檔廣告。使用 Docker WG-easy 更容易建立 WireGuard VPN,並只要設定相同網段,就可以連上 VPN 擋廣告。

請先安裝 Docker 和 Docker Compose

1. 設定 Docker

以下是 WireGuard 和 AdGuard 的 docker-compose.yml

version: '3.8'

services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    environment:
      - LANG=cht
      - WG_HOST=公網IP
      #- PASSWORD=密碼 新版 Wireguard 已停用 PASSWORD,使用哈希值取代。
      - PASSWORD_HASH=哈希值密碼,設定參閱下方部落格文章教學
      - PORT=51821
      - WG_PORT=51820
      - WG_DEFAULT_DNS=172.20.0.3
    volumes:
      - ./wg-easy:/etc/wireguard
    ports:
      - 51820:51820/udp
      - 51821:51821/tcp
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv4.ip_forward=1
    restart: unless-stopped
    networks:
      default:
        ipv4_address: 172.20.0.2

  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    volumes:
      - ./adguardhome/config:/opt/adguardhome/conf
      - ./adguardhome/data:/opt/adguardhome/work
    ports:
      - 內網IP:53:53
      - 內網IP:53:53/udp
      - 8050:80/tcp
      - 853:853/tcp
      - 784:784/udp
      - 5443:5443/tcp
      - 5443:5443/udp
      - 3000:3000/tcp
    restart: unless-stopped
    networks:
      default:
        ipv4_address: 172.20.0.3

networks:
  default:
    ipam:
      driver: default
      config:
        - subnet: 172.20.0.0/16

其中 WG_DEFAULT_DNS = 172.20.0.3wg-easyadguardhome 要設成同一個網段,可以直接使用上面的值。

新版 WireGuard 已不使用 PASSWORD,因此如果 Docker 部屬失敗請使用 PASSWORD_HASH 哈希值。

詳細參閱部落格文章:解決 WireGuard 無法登入、哈希值生成

2. 開啟 Port 端口

  • UDP Port 51820,這是 WireGuard 連線的 VPN 埠

  • TCP Port 51821,這是透過登入 WireGuard 後來的網頁,未來已連上的話可以把它關閉提高安全性。

Forward_Rules

3. 設定 WireGuard

一切就緒之後,連線 伺服器IP:51281,登入設定的密碼,新建 VPN 通道。

WireGuard_WebUI

若是手機的話可以下載 WireGuard APP,然後掃描二維碼,可以建立 VPN 連線。

而 PC 的話可以去 官網 下載電腦版軟體

下載設定檔就可以匯入 WireGuard 進行 VPN 連線。

4. 設定 AdGuard Home

網址輸入 伺服器IP:3000,進行 AdGuard 初始設定,基本上沒特別設定下一步就可以。

設定完成後就可以進入 伺服器IP:8050,進入 AdGuard 管理介面後台。

AdGuard_Home_WebUI

此時當你連上 WireGuard VPN 時,擋廣告的功能也會啟用。

可以新增黑名單來阻擋廣告,以下是我正在用的

AdGuard_DNS

結語

我的手機使用這個方式已有一段時間,最有感的部分是它可以幫你節省電量、減少載入網頁時間。並且我可以透過 VPN 直接使用內網的服務,即使出門在外也可以安全連回來使用。強烈推薦自架伺服器使用 VPN 來保護伺服器安全。