SSD Nodes Learn Hosting plans →
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-30

Docker-ல் wg-easy மூலம் WireGuard அமைப்பது எப்படி?

Docker Compose பயன்படுத்தி wg-easy மூலம் WireGuard VPN-ஐ எளிதாக நிறுவுங்கள். NET_ADMIN அனுமதி, தேவையான sysctls மற்றும் QR code மூலம் மொபைல் போன்களை இணைக்கும் முறையை விரிவாகக் காண்போம்.

நீங்கள் உருவாக்குவது

wg-easy என்பது ஒரு Docker container-ஆக இயங்கும், web interface கொண்ட WireGuard ஆகும். இது உங்களுக்காக WireGuard interface-ஐ நிர்வகிக்கிறது மற்றும் clients-ஐ உருவாக்க browser UI-ஐ வழங்குகிறது. நீங்கள் உருவாக்கும் ஒவ்வொரு client-க்கும் ஒரு config file மற்றும் QR code கிடைக்கும்; எனவே, உங்கள் phone-ன் camera மூலம் திரையை ஸ்கேன் செய்து VPN-ல் இணையலாம்.

இந்த tunnel சாதாரண WireGuard-ஐப் போன்றதே. kernel module பாக்கெட்டுகளை நகர்த்துவதால், கைமுறையாக அமைக்கப்பட்ட setup-க்கு இணையான throughput கிடைக்கும். இதன் மூலம் நீங்கள் பெறுவது client lifecycle மேலாண்மை ஆகும்: SSH வழியாக config file-ஐத் திருத்தாமல் peers-ஐச் சேர்த்தல், முடக்குதல் மற்றும் நீக்குதல் ஆகியவற்றைச் செய்யலாம். இதற்குப் பதிலாக, அந்த config-ன் மீது உங்களுக்கு நேரடி கட்டுப்பாடு இருக்காது; இது VPS-ல் கைமுறையாக WireGuard அமைப்பது குறித்த தலைப்பாகும்.

உங்களுக்கு public IPv4 முகவரி கொண்ட KVM VPS, Docker Engine உடன் Compose plugin, மற்றும் root access தேவை. OpenVZ அல்லது LXC போன்ற host kernel-ஐப் பகிரும் container virtualization தொழில்நுட்பங்களில் பொதுவாக WireGuard module-ஐ ஏற்ற முடியாது; இதனால் அந்த container-ஆல் interface-ஐத் தொடங்க முடியாது.

பதிப்பு 15-ல் அமைப்புகள் environment-லிருந்து மாற்றப்பட்டுள்ளன

நீங்கள் காணும் பெரும்பாலான வழிகாட்டிகள் wg-easy 14-க்காக எழுதப்பட்டவை. அதில் WG_HOST-ஐ உங்கள் server முகவரியாகவும், PASSWORD_HASH-ஐ admin கடவுச்சொல்லின் bcrypt hash-ஆகவும் environment variables மூலம் அமைத்திருப்பீர்கள். பதிப்பு 15 முற்றிலும் மாற்றியமைக்கப்பட்டுள்ளது. v15 பதிப்பு v14-ல் இருந்த அதே environment variables-ஐப் பயன்படுத்துவதில்லை என்றும், அவற்றில் பெரும்பாலானவை web UI-ல் உள்ள admin panel-க்கு மாற்றப்பட்டுவிட்டன என்றும் அதிகாரப்பூர்வ migration குறிப்புகள் தெளிவாகக் கூறுகின்றன.

எனவே, WG_HOST மற்றும் PASSWORD_HASH ஆகியவை இப்போது எந்தச் செயல்பாட்டையும் செய்வதில்லை. நீங்கள் பழைய compose கோப்பை நகலெடுத்தால், container தொடங்கும், அந்த வரிகளைப் புறக்கணிக்கும், பின்னர் browser-ல் admin கணக்கை உருவாக்கக் கேட்கும். இது பிழை அல்ல. இது புதிய அமைப்பு முறை (setup flow).

ஜூலை 2026 நிலவரப்படி, நீங்கள் பயன்படுத்த வேண்டிய முக்கிய tag 15 ஆகும். latest-ஐப் பயன்படுத்துவதற்குப் பதிலாக, major version-ஐ pin செய்யவும். ஏனெனில், ஒரு major upgrade வட்டில் உள்ள config வடிவமைப்பை மாற்றும், அதை எளிதாகத் திரும்பப் பெற (roll back) முடியாது.

Compose கோப்பு

இந்த stack-க்காக ஒரு directory-ஐ உருவாக்கி, அதில் அதிகாரப்பூர்வமான compose கோப்பை எழுதவும். இது மாற்றங்கள் செய்யப்படாத, upstream கோப்பாகும்.

sudo mkdir -p /etc/docker/containers/wg-easy
sudo curl -o /etc/docker/containers/wg-easy/docker-compose.yml \
  https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml

இதன் உள்ளடக்கம் பின்வருமாறு அமையும்:

volumes:
  etc_wireguard:

services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy:15
    container_name: wg-easy
    networks:
      wg:
        ipv4_address: 10.42.42.42
        ipv6_address: fdcc:ad94:bacf:61a3::2a
    volumes:
      - etc_wireguard:/etc/wireguard
      - /lib/modules:/lib/modules:ro
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.default.forwarding=1

networks:
  wg:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: 10.42.42.0/24
        - subnet: fdcc:ad94:bacf:61a3::/64

etc_wireguard என்பது server key மற்றும் நீங்கள் உருவாக்கும் ஒவ்வொரு client-ஐயும் கொண்டிருக்கும் ஒரு named volume ஆகும். இந்த volume-ஐ backup எடுக்கவும்; இல்லையெனில், rebuild செய்யும்போது உங்கள் அனைத்து peers-களும் நீக்கப்பட்டுவிடும். இந்த கோப்புகளை host filesystem-ல் பார்க்க விரும்பினால், அதை bind mount-ஆக மாற்றவும். அவ்வாறு செய்வதற்கு முன், bind mounts மற்றும் named volumes-க்கு இடையிலான வேறுபாடுகள் குறித்து படிக்கவும், ஏனெனில் அவற்றின் permissions கையாளப்படும் விதம் மாறுபடும்.

NET_ADMIN, SYS_MODULE மற்றும் sysctl-கள் ஏன் தேவைப்படுகின்றன

இயல்பாகவே, ஒரு container-க்கு network stack-ஐ அணுக அனுமதி கிடையாது. கீழே உள்ள ஒவ்வொரு வரியும் ஒரு குறிப்பிட்ட தடையை நீக்குகிறது.

NET_ADMIN, container-ஐ wg0 interface-ஐ உருவாக்கவும், அதற்கு ஒரு முகவரியை வழங்கவும், மற்றும் routes-ஐ எழுதவும் அனுமதிக்கிறது. இது இல்லையென்றால், interface-ஐத் தொடங்க முயலும்போது container நின்றுவிடும், ஏனெனில் ip link add wg0 type wireguard, Operation not permitted என்ற பிழையைத் தரும்.

SYS_MODULE மற்றும் read-only /lib/modules mount ஆகியன, host-ல் WireGuard kernel module ஏற்கனவே ஏற்றப்படவில்லை எனில், அதை ஏற்ற container-க்கு உதவுகின்றன. இந்த module image-க்குள் இல்லாமல் host kernel-ல் இருப்பதால், host directory-ஐ container-க்குத் தெரியும்படி செய்ய வேண்டும். நவீன kernel-களில் இந்த module பொதுவாக உள்ளமைக்கப்பட்டிருக்கும்; இதை host-ல் sudo modprobe wireguard && echo ok மூலம் உறுதிப்படுத்தலாம்.

net.ipv4.ip_forward=1, அந்த machine-க்கு உரியவை அல்லாத packets-ஐ kernel முன்னோக்கி அனுப்ப (forward) செய்கிறது. இது இல்லையென்றால், client இணைக்கப்பட்டு handshake வெற்றிகரமாக முடிந்தாலும், இணையத்திற்குச் செல்லும் அனைத்து packets-ம் நிராகரிக்கப்படும். இதனால் VPN இணைப்பில் இருப்பது போலத் தெரிந்தாலும், ping 1.1.1.1 காலாவதியாகிவிடும் (timeout).

net.ipv4.conf.all.src_valid_mark=1 பலரை ஆச்சரியப்படுத்தும் ஒரு அமைப்பாகும். WireGuard தனது outgoing packets-ஐ அடையாளம் இடுகிறது, இதனால் அவை மீண்டும் tunnel-க்குள் செல்லாது. Strict reverse path filtering, ஒரு packet-ன் source முகவரி எதிர்பார்க்கப்படும் வழித்தடத்துடன் பொருந்தவில்லை என்றால் அதை நிராகரிக்கும். இந்த sysctl, அடையாளம் இடப்பட்ட packets-ஐ ஏற்றுக்கொள்ளுமாறு kernel-க்கு அறிவுறுத்துகிறது; இதுவே முழுமையான tunnel-ன் செயல்பாட்டைப் பாதுகாக்கிறது.

சேவையைத் தொடங்கி நிர்வாகி கணக்கை உருவாக்கவும்

cd /etc/docker/containers/wg-easy
sudo docker compose up -d
sudo docker compose logs -f

docker compose up மற்றும் docker compose down கட்டளைகளைப் பயன்படுத்தவும், start மற்றும் stop கட்டளைகளைத் தவிர்க்கவும். வெவ்வேறு அமைப்புகளின் கீழ் உருவாக்கப்பட்ட container-ல் start கட்டளையைப் பயன்படுத்துவது network-ஐ சீரற்ற நிலைக்குத் தள்ளும் என்று upstream எச்சரிக்கிறது. reboot செய்த பிறகு stack மீண்டும் கிடைக்க வேண்டும் எனில், restart: unless-stopped ஏற்கனவே அதை உறுதி செய்கிறது. compose services-ன் boot செயல்பாடுகள் குறித்த கட்டுரை, அந்த policy எதைச் செய்யும், எதைச் செய்யாது என்பதை விளக்குகிறது.

Web UI ஆனது TCP 51821 port-ல் இயங்குகிறது. முதல்முறை அணுகும்போது, நிர்வாகி கணக்கை உருவாக்கவும், client-கள் server-ஐ அடையப் பயன்படுத்தும் host முகவரியை உறுதிப்படுத்தவும் ஒரு setup பக்கம் தோன்றும். அந்த host முகவரி ஒவ்வொரு client configuration-லும் உள்ள Endpoint வரியில் சேர்க்கப்படும், எனவே அது VPS-ன் public IP அல்லது DNS பெயராக இருக்க வேண்டும். அது தவறாக இருந்தால், நீங்கள் தொலைபேசிக்கு வழங்கும் QR code தவறான இடத்தைச் சுட்டிக்காட்டும், இதனால் handshake முழுமையடையாது.

அந்த port குறித்து மேலும் ஒரு தகவல்: INSECURE=true அமைப்பைச் செயல்படுத்தாத வரை, wg-easy 15 plain HTTP இணைப்பை ஏற்காது. நம்பகத்தன்மையற்ற certificate மூலம் HTTPS வழியாக அணுகுவது அல்லது அதற்கு முன்னால் ஒரு reverse proxy மூலம் TLS termination செய்வது பாதுகாப்பானது. இயல்புநிலை அமைப்புகளுடன் http:// வழியாக அணுகுவது அனுமதிக்கப்படாது.

UI port-ஐ இணையத்தில் வெளியிட வேண்டாம்

Compose file-ஆனது 51821-ஐ அனைத்து interface-களிலும் வெளியிடுகிறது. இது உங்கள் traffic-ஐ வழிநடத்தக்கூடிய ஒரு கருவியின் login பக்கம் என்பதால், இதை உலகிற்குத் திறந்து வைக்கக்கூடாது. Docker-ல் ஒரு port-ஐ வெளியிடுவது DOCKER chain-ல் விதிகளை எழுதுகிறது. இது ufw-க்கு முன்பே மதிப்பீடு செய்யப்படுவதால், ufw deny விதி இதைத் தடுக்காது. இந்தச் சிக்கலைப் புரிந்துகொள்வது அவசியம்; Docker வெளியிட்ட ports ஏன் ufw-ஐப் புறக்கணிக்கின்றன என்பதில் இது விரிவாக விளக்கப்பட்டுள்ளது.

இதற்கான எளிய தீர்வு, UI-ஐ loopback-ல் bind செய்து, SSH tunnel வழியாக அணுகுவதாகும்:

    ports:
      - "51820:51820/udp"
      - "127.0.0.1:51821:51821/tcp"
    environment:
      - INSECURE=true

பிறகு உங்கள் laptop-லிருந்து:

ssh -L 51821:127.0.0.1:51821 youruser@your.server.address

உங்கள் laptop-ல் உள்ள browser-ல் http://127.0.0.1:51821-ஐத் திறக்கவும். Traffic SSH மூலம் குறியாக்கம் (encrypt) செய்யப்படுகிறது, இந்த port வேறு எவருக்கும் பதிலளிக்காது, மேலும் INSECURE=true இங்கே பாதுகாப்பானது, ஏனெனில் plain HTTP பரிமாற்றம் loopback interface-ஐ விட்டு வெளியேறாது.

UDP 51820-ஐத் திறந்து, இரண்டு firewall-களையும் சரிபார்க்கவும்

WireGuard இயங்குவதற்கு இணையத்திலிருந்து UDP 51820 port-ஐ அணுக வேண்டியது அவசியம். Docker இதை வெளியிடுகிறது (publish), ஆனால் பல சேவை வழங்குநர்கள் VPS-க்கு முன்னால் தனிப்பட்ட network firewall-ஐ வைத்துள்ளனர்; இதைப் பற்றி Docker-க்குத் தெரியாது. எனவே, இரண்டு இடங்களிலும் இந்த port-ஐத் திறக்கவும். நீங்கள் ufw மூலம் host firewall-ஐ நிர்வகித்தால், VPS-க்கான அடிப்படை ufw விதிகள் என்பது nftables-ஐ நீங்களே எழுதுவதை விட எளிதான வழியாகும்.

Container உண்மையில் listening நிலையில் உள்ளதா என்பதைச் சரிபார்க்கவும்:

sudo ss -ulnp | grep 51820

நீங்கள் ஒரு listening UDP socket-ஐக் காண வேண்டும். அந்த வரியில் எதுவும் இல்லை என்றால், container interface-ஐத் தொடங்கவில்லை என்று அர்த்தம்; sudo docker compose logs wg-easy அதற்கான காரணத்தைக் குறிப்பிடும்.

கிளையண்டை உருவாக்கி அதை போனில் ஸ்கேன் செய்தல்

UI-ல் ஒரு கிளையண்டை உருவாக்கி, பின்னாளில் அடையாளம் காணக்கூடிய வகையில் அதற்கு ஒரு பெயரை இடவும் (உதாரணமாக, அது எந்த சாதனத்தைச் சேர்ந்ததோ அந்தப் பெயர்). wg-easy அடுத்ததாக காலியாக உள்ள tunnel முகவரியை ஒதுக்கி, உங்களுக்காக key pair-ஐ உருவாக்கும். ஒவ்வொரு கிளையண்ட் வரிசையிலும் ஒரு QR code மற்றும் பதிவிறக்கம் செய்யக்கூடிய .conf கோப்பு இருக்கும்.

போனில் அதிகாரப்பூர்வ WireGuard செயலியை நிறுவி, QR code மூலம் tunnel-ஐச் சேர்க்கத் தேர்வு செய்யவும். உங்கள் திரையில் உள்ள குறியீட்டை கேமரா மூலம் ஸ்கேன் செய்யவும். நீங்கள் உள்ளிட்ட பெயருடன் tunnel தோன்றும். அதை இயக்கவும் (Turn it on). இப்போது UI-ல் உள்ள கிளையண்ட் வரிசையில் transfer counters மற்றும் சமீபத்திய handshake நேரம் காட்டப்படும். ஒரு போன் tunnel-ல் இணைந்தவுடன், இணையத்தில் நீங்கள் வெளியிடாத சேவைகளைக்கூட அதனால் அணுக முடியும். இதனால்தான், ஒரு server-ன் எந்த ஒரு port-ஐயும் பொதுவெளியில் திறக்காமலேயே, எங்கிருந்தும் சுயமாக நிர்வகிக்கப்படும் புகைப்பட server-க்கு போன் மூலம் புகைப்படங்களை upload செய்ய முடிகிறது. இதே நுட்பம் மீடியாவுக்கும் பொருந்தும்; 90-களின் வீடியோ கடை போல மாற்றப்பட்ட Jellyfin library-ஐ, உங்கள் LAN-ல் இருப்பது போலவே பாதுகாப்பாக ஹோட்டல் அறையிலிருந்தும் உலாவ முடியும். இதே tunnel-ல் எச்சரிக்கைகளும் (alerts) வேலை செய்யும்; ஏனெனில் சுயமாக நிர்வகிக்கப்படும் ntfy server, ஒரு backup பணி தோல்வியடைந்தால், பொது இணையத்திலிருந்து வரும் கோரிக்கைகளுக்குப் பதிலளிக்காமலேயே அந்தப் போனுக்கு செய்தியை அனுப்ப முடியும்.

கிளையண்டை இயக்கிய பிறகும் handshake காட்டப்படவில்லை என்றால், அது server-ஐ அடையவில்லை என்று அர்த்தம். இது provider firewall-ல் உள்ள UDP 51820 port அல்லது config-ல் உள்ள endpoint முகவரி ஆகியவற்றில் உள்ள சிக்கலைக் குறிக்கிறது. Handshake காட்டப்பட்டும் இணையம் வேலை செய்யவில்லை என்றால், அது forwarding அல்லது DNS தொடர்பான சிக்கலாக இருக்கலாம்.

Desktop-ல், .conf கோப்பைப் பதிவிறக்கம் செய்து, அதை மீண்டும் தட்டச்சு செய்வதற்குப் பதிலாக WireGuard கிளையண்டில் import செய்யவும். அந்த கோப்பில் உள்ள private key ஒருமுறை மட்டுமே உருவாக்கப்பட்டு காட்டப்படும். அந்த கோப்பை நீங்கள் SSH private key-ஐக் கையாள்வது போலவே பாதுகாப்பாகக் கையாளவும்.

UI-ஐ எப்போது தவிர்க்க வேண்டும்

உங்கள் சக ஊழியர்கள் மற்றும் அலைபேசிகள் மட்டுமே பயனர்களாக இருக்கும் வரை wg-easy ஒரு சிறந்த கருவியாகும். கட்டமைப்பு கோப்புகளை (config files) திருத்துவதை விட UI வேகமாகச் செயல்படும், மேலும் தொலைந்து போன அலைபேசியின் அணுகலை ஒரே கிளிக்கில் ரத்து செய்யலாம்.

UI-ல் இல்லாத வசதிகள் தேவைப்படும்போது அதன் வரம்புகளை நீங்கள் உணர்வீர்கள். ஒரு peer-ன் AllowedIPs ஒரு குறிப்பிட்ட முகவரிக்கு பதிலாக முழுமையான remote subnet-ஐ உள்ளடக்கும் Site-to-site routing, பொதுவாக நீங்கள் சந்திக்கும் முதல் தடையாகும். ஒவ்வொரு peer-க்கும் தனித்தனி routing விதிகளைக் கொண்ட Split tunnels அல்லது உங்கள் provisioning கருவி மூலம் உருவாக்கப்படும் கட்டமைப்பு கோப்புகள் அடுத்த கட்டமாகும். அந்த நிலையில், கைமுறையாக அமைப்பது கடினமானது அல்ல, அது வேறுபட்டது மட்டுமே. the plain WireGuard guide அதே tunnel-ஐ wg0.conf மூலம் எவ்வாறு உருவாக்குவது என்பதைக் காட்டுகிறது. நீங்கள் control plane-ஐ இயக்குவதையே நிறுத்த விரும்பினால், WireGuard compared with Tailscale நிர்வகிக்கப்படும் (managed) விருப்பத்தைப் பற்றி விளக்குகிறது. இது சரியான முடிவா என்பது coordination server எதை அணுக முடியும் என்பதைப் பொறுத்தது. எனவே, உங்கள் நெட்வொர்க்கை ஒப்படைக்கும் முன் Tailscale's trust model-ஐப் படிப்பது அவசியம். அடுத்ததாக செலவு குறித்த கேள்வி எழும். what the Tailscale free plan actually covers என்பது ஒரு குடும்பம் அல்லது சிறிய குழுவிற்கு போதுமானதாக இருக்கும். அதற்கு மேல், கட்டணம் சாதனங்களுக்குப் பதிலாக பயனர்களின் எண்ணிக்கையைப் பொறுத்து அமையும். இது நீங்கள் ஏற்கனவே செலுத்தும் VPS கட்டணத்திலிருந்து மாறுபட்டது. எனவே, ஒரு குழுவை மாற்றும் முன் what Tailscale costs once you outgrow the free plan என்பதைச் சரிபார்க்கவும். நீங்கள் உருவாக்கிய முழுமையான tunnel-க்கு அங்கு நேரடி மாற்று உள்ளது. advertising the VPS as a Tailscale exit node மூலம், ஒவ்வொரு client config-லும் எழுதாமல், admin console மூலமாகவே அதே வழியைப் பெற முடியும். Subnet தடையையும் இதைக் கொண்டு கடக்கலாம், ஏனெனில் advertising a whole private network from the VPS மூலம், UI-ல் நீங்கள் செய்த per-peer AllowedIPs திருத்தங்கள் இன்றி, அந்த நெட்வொர்க்கை tailnet-ல் உள்ள அனைத்து சாதனங்களுக்கும் வழங்க முடியும். உங்களுக்கு அந்த dashboard மற்றும் தானியங்கி mesh routing தேவை, ஆனால் வேறொருவரின் coordination server வேண்டாம் என்றால், running your own NetBird server on a VPS மூலம் control plane-ஐ உங்கள் சொந்த வன்பொருளில் வைத்திருக்கலாம். ஆனால், இதற்கு wg-easy-ல் தேவையில்லாத DNS மற்றும் TLS அமைப்புகளை நீங்கள் செய்ய வேண்டியிருக்கும்.

மேலே உள்ள compose syntax உங்களுக்குப் புதியதாக இருந்தால், Docker Compose basics on a VPS கோப்பு வடிவம் மற்றும் அன்றாடக் கட்டளைகளைப் பற்றி விளக்குகிறது.

FAQ

wg-easy ஏன் எனது WG_HOST மற்றும் PASSWORD_HASH ஆகியவற்றை புறக்கணிக்கிறது?

இந்த மாறிகள் (variables) wg-easy 14 பதிப்பைச் சேர்ந்தவை. பதிப்பு 15 என்பது முழுமையாக மாற்றியமைக்கப்பட்ட பதிப்பாகும்; இதில் பெரும்பாலான உள்ளமைவுகள் (configuration) இணைய இடைமுகத்தில் (web UI) உள்ள admin panel-க்கு மாற்றப்பட்டுவிட்டன. புதிய container இந்த மாறிகளை வாசிப்பதில்லை, எனவே அது வழக்கம்போலத் தொடங்கி, முதல்முறை நுழையும்போது admin கணக்கை உருவாக்கக் கேட்கும். அந்த setup பக்கத்திலேயே client-க்கான host முகவரியை அமைத்துக் கொள்ளவும்.

எனது kernel-ல் ஏற்கனவே WireGuard இருந்தால் SYS_MODULE தேவையா?

இல்லை. SYS_MODULE மற்றும் /lib/modules mount ஆகியவை, host-ல் module இல்லையெனில் அதை ஏற்றுவதற்காகவே (load) உள்ளன. sudo modprobe wireguard ஏற்கனவே வெற்றிகரமாக இயங்கும் ஒரு host-ல், இந்த capability தேவையில்லை. பாதுகாப்பை அதிகரிக்க இதை நீக்குவது நல்லது, ஆனால் NET_ADMIN எப்படியும் தேவைப்படும்.

client இணைகிறது, ஆனால் இணையம் கிடைக்கவில்லை. என்ன தவறு?

Handshake நடந்தும் traffic இல்லை என்றால், அது பெரும்பாலும் forwarding தொடர்பான சிக்கலாகும். net.ipv4.ip_forward=1 மற்றும் net.ipv4.conf.all.src_valid_mark=1 ஆகியவை compose file-ல் இருப்பதை உறுதிப்படுத்தவும், ஏனெனில் கைமுறையாகத் திருத்தும்போது அவை பெரும்பாலும் விடுபட்டுவிடும். Forwarding சரியாக இருந்தால், client-க்குக் கிடைத்த DNS server-ஐச் சரிபார்க்கவும். அனைத்து traffic-ஐயும் VPN வழியாக அனுப்பிவிட்டு, அணுக முடியாத ஒரு DNS server-ஐக் குறிப்பிட்டால், browser-ல் இணைப்பு துண்டிக்கப்பட்டது போலவே தோன்றும்.

எனது client-களை எவ்வாறு backup எடுப்பது?

அனைத்துத் தரவுகளும் etc_wireguard என்ற named volume-ல், wg0.json கோப்பில் சேமிக்கப்பட்டுள்ளன. அதே தரவை ஏற்றுமதி செய்ய (export) UI-ல் ஒரு backup பொத்தானும் உள்ளது. எந்தவொரு மேம்படுத்தலுக்கும் (upgrade) முன்பாக, அந்தக் கோப்பை server-க்கு வெளியே எங்காவது நகலெடுத்து வைக்கவும். புதிய container-ஐ அமைக்கும்போது, அந்தப் பழைய கோப்பை upload செய்வதன் மூலம் தரவை மீட்டெடுக்கலாம் (restore).

wg-easy-ஐ reverse proxy-க்கு பின்னால் இயக்க முடியுமா?

ஆம். TCP 51821-க்கு முன்னால் proxy-ஐ வைத்து, அங்கு TLS termination செய்யவும். Proxy-யிலிருந்து வரும் plain HTTP இணைப்பை ஏற்றுக்கொள்வதற்கு, container-ல் INSECURE=true-ஐ அமைக்கவும். UDP 51820-ஐ நேரடியாகவே திறந்த நிலையில் வைத்திருக்கவும், ஏனெனில் VPN traffic என்பது UDP ஆகும், அது HTTP proxy வழியாகச் செல்லாது.