ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึท ืคึผืฉื•ื˜ VPN ืžื™ื˜ WireGuard ืื•ืŸ Raspberry Pi ื•ื•ื™ ืึท ืกืขืจื•ื•ืขืจ

ื•ื•ื™ื™ึทืœ WireGuard ื•ื•ืขื˜ ื•ื•ืขืจืŸ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืึทืคึผืงืึทืžื™ื ื’ ืœื™ื ื•ืงืก ืงืขืจืŸ 5.6, ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื–ืขืŸ ื•ื•ื™ ื‘ืขืกื˜ืขืจ ืฆื• ื•ื™ืกืฉื˜ื™ืžืขืŸ ื“ืขื ื•ื•ืคึผืŸ ืžื™ื˜ ืžื™ื™ืŸ LTE ืจืึทื•ื˜ืขืจ / ืึทืงืกืขืก ืคื•ื ื˜ ืื•ื™ืฃ Raspberry Pi.

ื“ื™ ืขืงื•ื•ื™ืคึผืžืขื ื˜

  • Raspberry Pi 3 ืžื™ื˜ LTE ืžืึธื“ื•ืœืข ืื•ืŸ ืขืคื ื˜ืœืขืš IP ืึทื“ืจืขืก. ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึท ื•ื•ืคึผืŸ ืกืขืจื•ื•ืขืจ ื“ืึธ (ื“ืขืจื ืึธืš ืื™ืŸ ื“ืขื ื˜ืขืงืกื˜ ืขืก ืื™ื– ื’ืขืจื•ืคืŸ edgewalker)
  • ืึทืŸ ืึทื ื“ืจื•ื™ื“ ื˜ืขืœืขืคืึธืŸ ื•ื•ืึธืก ืžื•ื–ืŸ ื ื•ืฆืŸ ืึท VPN ืคึฟืึทืจ ืึทืœืข ืงืึธืžื•ื ื™ืงืึทืฆื™ืข
  • ืœื™ื ื•ืงืก ืœืึทืคึผื˜ืึทืคึผ ื•ื•ืึธืก ื–ืึธืœ ื ืึธืจ ื ื•ืฆืŸ ืึท ื•ื•ืคึผืŸ ืื™ืŸ ื“ื™ ื ืขืฅ

ื™ืขื“ืขืจ ืžื™ื˜ืœ ื•ื•ืึธืก ืงืึทื ืขืงืฅ ืฆื• ื“ื™ ื•ื•ืคึผืŸ ืžื•ื–ืŸ ืงืขื ืขืŸ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ืึทืœืข ืื ื“ืขืจืข ื“ืขื•ื•ื™ืกืขืก. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืึท ื˜ืขืœืขืคืึธืŸ ื–ืึธืœ ืงืขื ืขืŸ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืื•ื™ืฃ ืึท ืœืึทืคึผื˜ืึทืคึผ ืื•ื™ื‘ ื‘ื™ื™ื“ืข ื“ืขื•ื•ื™ืกืขืก ื–ืขื ืขืŸ ื˜ื™ื™ืœ ืคื•ืŸ ืึท VPN ื ืขืฅ. ืื•ื™ื‘ ื“ื™ ืกืขื˜ืึทืคึผ ืื™ื– ื’ืึทื ืฅ ืคึผืฉื•ื˜, ืื™ืจ ืงืขื ืขืŸ ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ืงืึทื ืขืงื˜ื™ื ื’ ื“ื™ ื“ืขืกืงื˜ืึทืคึผ ืฆื• ื“ื™ VPN (ื“ื•ืจืš ืขื˜ื”ืขืจื ืขื˜).

ืงืึทื ืกื™ื“ืขืจื™ื ื’ ืึทื– ื•ื•ื™ื™ืขืจื“ ืื•ืŸ ื•ื•ื™ื™ืจืœื™ืก ืงืึทื ืขืงืฉืึทื ื– ื•ื•ืขืจืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ืื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ื–ื™ื›ืขืจ ืžื™ื˜ ืฆื™ื™ื˜ (ื˜ืึทืจื’ืขื˜ืขื“ ืื ืคืืœืŸ, KRACK WPA2 ืงืจืึทืงื™ื ื’ ื‘ืึทืคืึทืœืŸ ะธ ื“ืจืึทื’ืึธื ื‘ืœืึธืึธื“ ื‘ืึทืคืึทืœืŸ ืงืขื’ืŸ WPA3), ืื™ืš ืงืึทื ืกื™ื“ืขืจื™ื ื’ ืขืžืขืก ื ื™ืฆืŸ WireGuard ืคึฟืึทืจ ืึทืœืข ืžื™ื™ืŸ ื“ืขื•ื•ื™ืกืขืก, ืงื™ื™ืŸ ืขื ื™ืŸ ืื™ืŸ ื•ื•ืึธืก ืกื•ื•ื™ื•ื•ืข ื–ื™ื™ ื–ืขื ืขืŸ.

ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

WireGuard ื’ื™ื˜ ืคึผืจื™ืงืึธืžืคึผื™ืœืขื“ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืคึฟืึทืจ ืจื•ื‘ึฟ ืœื™ื ื•ืงืก, ื•ื•ื™ื ื“ืึธื•ื– ืื•ืŸ ืžืึทืงืึธืก ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื–. ืึทื ื“ืจื•ื™ื“ ืื•ืŸ ื™ืึธืก ืึทืคึผืคึผืก ื–ืขื ืขืŸ ืื™ื‘ืขืจื’ืขื’ืขื‘ืŸ ื“ื•ืจืš ืึทืคึผ ื“ื™ื™ืจืขืงื˜ืขืจื™ื–.

ืื™ืš ื”ืึธื‘ืŸ ื“ื™ ืœืขืฆื˜ืข ืคืขื“ืึธืจืึท ืœื™ื ื•ืงืก 31, ืื•ืŸ ืื™ืš ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื• ืคื•ื™ืœ ืฆื• ืœื™ื™ืขื ืขืŸ ื“ื™ ืžืึทื ื•ืึทืœ ืื™ื™ื“ืขืจ ื™ื ืกื˜ืึธืœื™ื ื’. ื ืึธืจ ื’ืขืคึฟื•ื ืขืŸ ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– wireguard-tools, ืื™ื ืกื˜ืึทืœื™ืจืŸ ื–ื™ื™, ืื•ืŸ ื“ืขืžืึธืœื˜ ืงืขืŸ ื ื™ืฉื˜ ื’ืขืคึฟื™ื ืขืŸ ืื•ื™ืก ื•ื•ืึธืก ื’ืึธืจื ื™ืฉื˜ ืื™ื– ืืจื‘ืขื˜ืŸ. ื•ื•ื™ื™ึทื˜ืขืจ ื•ื™ืกืคืึธืจืฉื•ื ื’ ืื ื˜ืคืœืขืงื˜ ืึทื– ืื™ืš ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ื“ืขื ืคึผืขืงืœ ืื™ื ืกื˜ืึทืœื™ืจืŸ wireguard-dkms (ืžื™ื˜ ืึท ื ืขืฅ ืฉืึธืคืขืจ), ืึธื‘ืขืจ ืขืก ืื™ื– ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืคื•ืŸ ืžื™ื™ืŸ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’.

ืื•ื™ื‘ ืื™ืš ื•ื•ืึธืœื˜ ืœื™ื™ืขื ืขืŸ ื“ื™ ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ืื™ืš ื•ื•ืึธืœื˜ ื”ืึธื‘ืŸ ื’ืขื ื•ืžืขืŸ ื“ื™ ืจื™ื›ื˜ื™ืง ืกื˜ืขืคึผืก:

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

ืื™ืš ื”ืึธื‘ืŸ ื“ื™ Raspbian Buster ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ื™ืฃ ืžื™ื™ืŸ Raspberry Pi, ืขืก ืื™ื– ืฉื•ื™ืŸ ืึท ืคึผืขืงืœ ื“ืึธืจื˜ wireguard, ื™ื ืกื˜ืึทืœื™ืจืŸ ืขืก:

$ sudo apt install wireguard

ืื•ื™ืฃ ืžื™ื™ืŸ ืึทื ื“ืจื•ื™ื“ ื˜ืขืœืขืคืึธืŸ ืื™ืš ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ื™ืจืขื’ื•ืึทืจื“ ื•ื•ืคึผืŸ ืคึฟื•ืŸ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ Google ืึทืคึผ ืกื˜ืึธืจ ืงืึทื˜ืึทืœืึธื’.

ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืคื•ืŸ ืฉืœื™ืกืœืขืŸ

ืคึฟืึทืจ ื™ื™ึทื ืงื•ืงื  ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ, Wireguard ื ื™ืฆื˜ ืึท ืคึผืฉื•ื˜ ืคึผืจื™ื•ื•ืึทื˜ / ืฆื™ื‘ื•ืจ ืฉืœื™ืกืœ ืกื›ืขืžืข ืฆื• ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ VPN ืคึผื™ืจื–. ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ื›ื˜ ืฉืึทืคึฟืŸ VPN ืฉืœื™ืกืœืขืŸ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

$ wg genkey | tee wg-laptop-private.key |  wg pubkey > wg-laptop-public.key
$ wg genkey | tee wg-server-private.key |  wg pubkey > wg-server-public.key
$ wg genkey | tee wg-mobile-private.key |  wg pubkey > wg-mobile-public.key

ื“ืึธืก ื’ื™ื˜ ืื•ื ื“ื– ื“ืจื™ื™ ืฉืœื™ืกืœ ืคึผืขืจื– (ื–ืขืงืก ื˜ืขืงืขืก). ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ืึธืคึผืฉื™ืงืŸ ืฆื• ื“ื™ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ืงืึธื ืคื™ื’ืก, ืึธื‘ืขืจ ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ื“ืึธ: ื™ืขื“ืขืจ ืฉืœื™ืกืœ ืื™ื– ืื™ื™ืŸ ืฉื•ืจื” ืื™ืŸ base64.

ืฉืึทืคึฟืŸ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืคึฟืึทืจ ื“ื™ ื•ื•ืคึผืŸ ืกืขืจื•ื•ืขืจ (Raspberry Pi)

ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ื’ืึทื ืฅ ืคึผืฉื•ื˜, ืื™ืš ื‘ืืฉืืคืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื˜ืขืงืข /etc/wireguard/wg0.conf:

[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE

[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32

[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32

ืขื˜ืœืขื›ืข ื”ืขืจื•ืช:

  • ืื™ืŸ ื“ื™ ืฆื•ื ืขืžืขืŸ ืขืจื˜ืขืจ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ืฉื•ืจื•ืช ืคื•ืŸ ื“ื™ ื˜ืขืงืขืก ืžื™ื˜ ื“ื™ ืฉืœื™ืกืœืขืŸ
  • ืžื™ื™ึทืŸ ื•ื•ืคึผืŸ ืื™ื– ื ื™ืฆืŸ ื™ื ืขืจืœืขืš ื‘ืึทื ื“ 10.200.200.0/24
  • ืคึฟืึทืจ ื˜ื™ืžื– PostUp/PostDown ืื™ืš ื”ืึธื‘ืŸ ื“ื™ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื ืขืฅ ืฆื•ื‘ื™ื ื“ wwan0, ืื™ืจ ืงืขืŸ ื”ืึธื‘ืŸ ืึท ืึทื ื“ืขืจืฉ (ืœืžืฉืœ, eth0)

ื“ื™ VPN ื ืขืฅ ืื™ื– ืœื™ื™ื›ื˜ ืื•ื™ืคืฉื˜ื™ื™ืŸ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

$ sudo wg-quick up wg0

ืื™ื™ืŸ ืงืœื™ื™ืŸ ื“ืขื˜ืึทืœ: ื•ื•ื™ ื“ื™ ื“ื ืก ืกืขืจื•ื•ืขืจ ืื™ืš ื’ืขื•ื•ื™ื™ื ื˜ dnsmasq ื˜ื™ื™ื“ ืฆื• ืึท ื ืขืฅ ืฆื•ื‘ื™ื ื“ br0, ืื™ืš ืื•ื™ืš ืฆื•ื’ืขื’ืขื‘ืŸ ื“ืขื•ื•ื™ืกืขืก wg0 ืฆื• ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ืขืจืœื•ื™ื‘ื˜ ื“ืขื•ื•ื™ืกืขืก. ืื™ืŸ dnsmasq ื“ืึธืก ืื™ื– ื’ืขื˜ืืŸ ื“ื•ืจืš ืึทื“ื™ื ื’ ืึท ื ื™ื™ึทืข ื ืขืฅ ืฆื•ื‘ื™ื ื“ ืฉื•ืจื” ืฆื• ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข /etc/dnsmasq.conf, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ:

interface=br0
interface=wg0

ืึทื“ื“ื™ื˜ื™ืึธื ืึทืœืœื™, ืื™ืš ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื™ืคึผื˜ืึทื‘ืœืข ื”ืขืจืฉืŸ ืฆื• ืœืึธื–ืŸ ืคืึทืจืงืขืจ ืฆื• ื“ื™ UDP ืฆื•ื’ืขื”ืขืจื˜ ืคึผืึธืจื˜ (51280):

$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT

ืื™ืฆื˜ ืึทื– ืึทืœืฅ ืึทืจื‘ืขื˜, ืžื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ื“ื™ ืึธื˜ืึทืžืึทื˜ื™ืง ืงืึทื˜ืขืจ ืคื•ืŸ ื“ื™ VPN ื˜ื•ื ืขืœ:

$ sudo systemctl enable [email protected]

ืงืœื™ืขื ื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ื™ืฃ ืœืึทืคึผื˜ืึทืคึผ

ืฉืึทืคึฟืŸ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืื•ื™ืฃ ืึท ืœืึทืคึผื˜ืึทืคึผ /etc/wireguard/wg0.conf ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ืกืขื˜ื˜ื™ื ื’ืก:

[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>

[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820

ื”ืขืจื•ืช:

  • ืึทื ืฉื˜ืึธื˜ Edgewalker ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ืขืคื ื˜ืœืขืš IP ืึธื“ืขืจ VPN ืกืขืจื•ื•ืขืจ ื‘ืึทืœืขื‘ืึธืก
  • ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ AllowedIPs ืื•ื™ืฃ 10.200.200.0/24, ืžื™ืจ ื ืึธืจ ื ื•ืฆืŸ VPN ืฆื• ืึทืงืกืขืก ื“ื™ ื™ื ืขืจืœืขืš ื ืขืฅ. ืคืึทืจืงืขืจ ืฆื• ืึทืœืข ืื ื“ืขืจืข IP ืึทื“ืจืขืกืขืก / ืกืขืจื•ื•ืขืจืก ื•ื•ืขื˜ ืคืึธืจื–ืขืฆืŸ ืฆื• ื’ื™ื™ืŸ ื“ื•ืจืš "ื ืึธืจืžืึทืœ" ืขืคืขื ืขืŸ ื˜ืฉืึทื ืึทืœื–. ืขืก ื•ื•ืขื˜ ืื•ื™ืš ื ื•ืฆืŸ ื“ื™ ืคืึทืจ-ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ื ืก ืกืขืจื•ื•ืขืจ ืื•ื™ืฃ ื“ื™ ืœืึทืคึผื˜ืึทืคึผ.

ืคึฟืึทืจ ื˜ืขืกื˜ื™ื ื’ ืื•ืŸ ืึธื˜ืึทืžืึทื˜ื™ืง ืงืึทื˜ืขืจ ืžื™ืจ ื ื•ืฆืŸ ื“ื™ ื–ืขืœื‘ืข ืงืึทืžืึทื ื“ื– wg-quick ะธ systemd:

$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึท ืงืœื™ืขื ื˜ ืื•ื™ืฃ ืึทืŸ ืึทื ื“ืจื•ื™ื“ ื˜ืขืœืขืคืึธืŸ

ืคึฟืึทืจ ืึทืŸ ืึทื ื“ืจื•ื™ื“ ื˜ืขืœืขืคืึธืŸ ืžื™ืจ ืžืึทื›ืŸ ืึท ื–ื™ื™ืขืจ ืขื ืœืขืš ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข (ืœืึธืžื™ืจ ืจื•ืคืŸ ืขืก mobile.conf):

[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
        
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = edgewalker:51820

ื ื™ื˜ ืขื ืœืขืš ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื“ื™ ืœืึทืคึผื˜ืึทืคึผ, ื“ืขืจ ื˜ืขืœืขืคืึธืŸ ืžื•ื–ืŸ ื ื•ืฆืŸ ืื•ื ื“ื–ืขืจ ื•ื•ืคึผืŸ ืกืขืจื•ื•ืขืจ ื•ื•ื™ ื“ื™ ื“ื ืก ืกืขืจื•ื•ืขืจ (ืœื™ื ื™ืข DNS), ืื•ืŸ ืื•ื™ืš ืคืึธืจืŸ ืึทืœืข ืคืึทืจืงืขืจ ื“ื•ืจืš ื“ื™ ื•ื•ืคึผืŸ ื˜ื•ื ืขืœ (AllowedIPs = 0.0.0.0/0).

ืึทื ืฉื˜ืึธื˜ ืงืึทืคึผื™ื™ื ื’ ื“ื™ ื˜ืขืงืข ืฆื• ื“ื™ื™ืŸ ืจื™ืจืขื•ื•ื“ื™ืง ืžื™ื˜ืœ, ืื™ืจ ืงืขื ืขืŸ ื’ืขืจ ืขืก ืฆื• ืึท QR ืงืึธื“:

$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf

ื“ื™ QR ืงืึธื“ ื•ื•ืขื˜ ืึทืจื•ื™ืกืคื™ืจืŸ ืฆื• ื“ื™ ืงืึทื ืกืึธื•ืœ ื•ื•ื™ ASCII. ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกืงืึทื ื“ ืคึฟื•ืŸ ื“ื™ ืึทื ื“ืจื•ื™ื“ ื•ื•ืคึผืŸ ืึทืคึผ ืื•ืŸ ื•ื•ืขื˜ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืฉื˜ืขืœืŸ ืึท ื•ื•ืคึผืŸ ื˜ื•ื ืขืœ.

ืจืขื–ื•ืœื˜ืึทื˜

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ WireGuard ืื™ื– ืคืฉื•ื˜ ืžืึทื“ื–ืฉื™ืงืึทืœ ืงืึทืžืคึผืขืจื“ ืžื™ื˜ OpenVPN.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’