āĻāĻŽāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻŽāĻžāĻ° āĻšā§āĻŽ āĻĒā§āĻ°ā§āĻāĻžāĻāĻĄāĻžāĻ°ā§āĻ° NAT āĻāĻ° āĻĒāĻŋāĻāĻ¨ā§ āĻāĻāĻāĻŋ VPN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ (āĻāĻāĻāĻŋ āĻ¸āĻžāĻĻāĻž āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻžāĻĄāĻŧāĻžāĻ)āĨ¤ āĻāĻŽāĻžāĻā§ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻ°āĻŋāĻāĻžāĻ°ā§āĻā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻāĻŋāĻ¨: āĻ¯ā§ āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ NAT-āĻāĻ° āĻāĻĒāĻ°, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ°.
āĻ¤āĻžāĻ, āĻāĻŽāĻžāĻ° āĻ
ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§āĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ āĻĨā§āĻā§ āĻāĻŽāĻžāĻ° āĻšā§āĻŽ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻāĻ¯āĻŧ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ NATs-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§, āĻĒā§āĻ˛āĻžāĻ¸ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°āĻāĻŋ āĻāĻāĻāĻŋ āĻšā§āĻŽ āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻž NATs āĻ¸āĻāĻ¯ā§āĻāĻ āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻŋ āĻ¸āĻžāĻĻāĻž āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻ˛āĻŋāĻāĻĄ āĻāĻŋāĻĒāĻŋāĻāĻ¸/āĻāĻŋāĻĄāĻŋāĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻĻāĻž āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻžāĻĄāĻŧāĻž āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻ˛āĻžāĻ¸āĻŋāĻ āĻ¸ā§āĻāĻŋāĻŽāĻāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻ°āĻŖā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋā§ˇ
āĻāĻŽāĻ˛ā§ āĻ¨āĻŋāĻā§āĻā§
$ stun stun.sipnet.ru
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ:
STUN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 0.97
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ: āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ, āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°, āĻāĻ˛ā§āĻŽā§āĻ˛ā§ āĻĒā§āĻ°ā§āĻ, āĻā§āĻ˛ā§āĻ° āĻĒāĻŋāĻ¨
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšāĻ˛ 0x000002
āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ:
āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ - āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ
āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° - āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°
āĻāĻ˛ā§āĻŽā§āĻ˛ā§ āĻĒā§āĻ°ā§āĻ - āĻāĻ˛ā§āĻŽā§āĻ˛ā§ āĻĒā§āĻ°ā§āĻ
hairpin āĻšāĻŦā§ - āĻāĻāĻāĻŋ hairpin āĻšāĻŦā§
āĻāĻŽāĻžāĻ° āĻĒāĻŋāĻ¸āĻŋāĻ¤ā§ āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§, āĻāĻŽāĻŋ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ:
STUN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 0.97
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ: āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ, āĻĒā§āĻ°ā§āĻ āĻĄāĻŋāĻĒā§āĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°, āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻĒā§āĻ°ā§āĻ, āĻāĻāĻ˛ āĻšā§āĻ¯āĻŧāĻžāĻ°āĻĒāĻŋāĻ¨
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšāĻ˛ 0x000006
āĻĒā§āĻ°ā§āĻ āĻĄāĻŋāĻĒā§āĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° - āĻĒā§āĻ°ā§āĻ āĻĄāĻŋāĻĒā§āĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻāĻāĻĒā§āĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯ā§ āĻšā§āĻŽ āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĨā§āĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ°ā§āĻ°āĻŖā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¤ā§ "āĻāĻ° āĻ
āĻŦāĻĻāĻžāĻ¨" āĻāĻ°āĻā§; āĻāĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻāĻžāĻļ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĻ˛:
stun stun.sipnet.ru -p 11111 -v
āĻāĻŽāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ:
...
āĻŽā§āĻ¯āĻžāĻĒ āĻāĻ°āĻž āĻ āĻŋāĻāĻžāĻ¨āĻž = XX.1XX.1X4.2XX:4398
...
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻāĻāĻāĻŋ UDP āĻ¸ā§āĻļāĻ¨ āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻĻāĻŋ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ UDP āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ: netcat XX.1XX.1X4.2XX 4398 -u), āĻ¤āĻžāĻ°āĻĒāĻ° āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻšā§āĻŽ āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻāĻ¸ā§āĻāĻŋāĻ˛, āĻ¯āĻž āĻāĻŋāĻ˛ āĻāĻāĻŋāĻ¤ā§ āĻāĻ˛āĻŽāĻžāĻ¨ TCPDump āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻĒā§āĻāĻāĻžāĻ¯āĻŧāĻ¨āĻŋ - IPtables, āĻ°āĻžāĻāĻāĻžāĻ°ā§ NAT āĻ
āĻ¨ā§āĻŦāĻžāĻĻāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻĄāĻŋāĻĒāĻŋ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° NAT-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻ āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯ā§āĻ° āĻāĻļāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻ°āĻžāĻāĻāĻžāĻ°āĻāĻŋ āĻāĻŽāĻžāĻ° āĻāĻāĻ¤āĻŋāĻ¯āĻŧāĻžāĻ°ā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤, āĻ¤āĻžāĻ āĻāĻŽāĻŋ UDP/11111 āĻĒā§āĻ°ā§āĻāĻāĻŋāĻā§ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻāĻŋ:
iptables -t nat -A PREROUTING -i eth1 -p udp -d 10.1XX.2XX.XXX --dport 11111 -j DNAT --to-destination 192.168.X.XXX
āĻāĻāĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻāĻāĻāĻŋ UDP āĻ¸ā§āĻļāĻ¨ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¨ā§ IP āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĨā§āĻā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĨā§āĻā§ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻāĻŽāĻŋ UDP/11111 āĻĒā§āĻ°ā§āĻ āĻļā§āĻ¨ā§ OpenVPN-āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻāĻŋ (āĻāĻā§ āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻāĻŋ), āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ (XX.1XX.1X4.2XX:4398) āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ āĻĨā§āĻā§ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§: āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ OpenVPN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ UDP āĻ¸ā§āĻļāĻ¨ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨; āĻāĻŽāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻā§āĻ°āĻŽā§ STUN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋāĻ¨āĻŋ - āĻāĻŽāĻŋ āĻ˛ā§āĻĄ āĻ¨āĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¨āĻŋ STUN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĨ¤
āĻāĻŽāĻŋāĻ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻāĻŋ "
āĻšā§āĻ¯āĻŧāĻžāĻ°āĻĒāĻŋāĻ¨āĻŋāĻ āĻāĻāĻāĻŋ NAT āĻāĻ° āĻĒāĻŋāĻāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻŽā§āĻļāĻŋāĻ¨āĻā§ āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻāĻāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻ āĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽā§āĻļāĻŋāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻŋ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ UDP āĻ¸ā§āĻļāĻ¨ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻāĻŋ - āĻāĻŽāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻāĻāĻŋ āĻāĻ āĻŽāĻ¤ āĻāĻžāĻ āĻāĻ°ā§āĻā§:
- āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ°ā§āĻ 11111 āĻ STUN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻā§
- āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ IP āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ XX.1XX.1X4.2XX:4398 āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ¯āĻŧā§āĻā§
- āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻāĻŽā§āĻ˛ā§ āĻĒā§āĻ°ā§āĻ āĻ¸āĻš āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§ (āĻ āĻ¨ā§āĻ¯ āĻ¯ā§āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¸āĻŽā§āĻāĻŦ)
- UDP/11111 āĻĒā§āĻ°ā§āĻ āĻļā§āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ OpenVPN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻā§
- āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ XX.1XX.1X4.2XX:4398 āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ OpenVPN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻā§
- āĻ¯ā§āĻā§āĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§ OpenVPN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ (āĻāĻŽāĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧāĻ¨āĻŋ) āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ āĻĨā§āĻā§ āĻāĻŽāĻžāĻ° āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¯ā§āĻā§āĻ¨ā§ OpenVPN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨
āĻāĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§:
# apt install openvpn stun-client sendemail
āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ, āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ˛āĻŋāĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ (āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§), āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ OpenVPN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤
āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ
# cat vpn11.sh
#!/bin/bash
until [[ -n "$iftosrv" ]]; do echo "$(date) ĐĐŋŅĐĩĐ´ĐĩĐģŅŅ ŅĐĩŅĐĩвОК иĐŊŅĐĩŅŅĐĩĐšŅ"; iftosrv=`ip route get 8.8.8.8 | head -n 1 | sed 's|.*dev ||' | awk '{print $1}'`; sleep 5; done
ABSOLUTE_FILENAME=`readlink -f "$0"`
DIR=`dirname "$ABSOLUTE_FILENAME"`
localport=11111
until [[ $a ]]; do
address=`stun stun.sipnet.ru -v -p $localport 2>&1 | grep "MappedAddress" | sort | uniq | head -n 1 | sed 's/:/ /g' | awk '{print $3" "$4}'`
ip=`echo "$address" | awk {'print $1'}`
port=`echo "$address" | awk {'print $2'}`
srv="openvpn --config $DIR/server.conf --port $localport --daemon"
$srv
echo "$(date) ĐĄĐĩŅвĐĩŅ СаĐŋŅŅĐĩĐŊ Ņ вĐŊĐĩŅĐŊиĐŧ Đ°Đ´ŅĐĩŅĐžĐŧ $ip:$port"
$DIR/sendemail.sh "OpenVPN-Server" "$ip:$port"
sleep 1
openvpn --config $DIR/client.conf --remote $ip --port $port
echo "$(date) CĐžĐĩдиĐŊĐĩĐŊиĐĩ ĐēĐģиĐĩĐŊŅĐ° Ņ ŅĐĩŅвĐĩŅĐžĐŧ ŅаСОŅваĐŊĐž"
for i in `ps xa | grep "$srv" | grep -v grep | awk '{print $1}'`; do
kill $i && echo "$(date) ĐавĐĩŅŅĐĩĐŊ ĐŋŅĐžŅĐĩŅŅ ŅĐĩŅвĐĩŅĐ° $i ($srv)"
done
echo "ĐĐ´Ņ 15 ŅĐĩĐē"
sleep 15
done
āĻāĻŽā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ:
# cat sendemail.sh
#!/bin/bash
from="ĐŅ ĐēĐžĐŗĐž"
pass="ĐĐ°ŅĐžĐģŅ"
to="ĐĐžĐŧŅ"
theme="$1"
message="$2"
server="smtp.yandex.ru:587"
sendEmail -o tls=yes -f "$from" -t "$to" -s "$server" -xu "$from" -xp "$pass" -u "$theme" -m "$message"
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛:
# cat server.conf
proto udp
dev tun
ca /home/vpn11-srv/ca.crt
cert /home/vpn11-srv/server.crt
key /home/vpn11-srv/server.key
dh /home/vpn11-srv/dh2048.pem
server 10.2.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
tls-server
tls-auth /home/vpn11-srv/ta.key 0
tls-timeout 60
auth SHA256
cipher AES-256-CBC
client-to-client
keepalive 10 30
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
log /var/log/vpn11-server.log
verb 3
mute 20
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛:
# cat client.conf
client
dev tun
proto udp
ca "/home/vpn11-srv/ca.crt"
cert "/home/vpn11-srv/client1.crt"
key "/home/vpn11-srv/client1.key"
tls-client
tls-auth "/home/vpn11-srv/ta.key" 1
auth SHA256
cipher AES-256-CBC
auth-nocache
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
log /var/log/vpn11-clent.log
verb 3
mute 20
ping 10
ping-exit 30
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻā§āĻā§:
# ./vpn11.sh
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¯ā§āĻā§āĻ¯ āĻāĻ°ā§
# chmod +x vpn11.sh
āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§āĻ° āĻĒāĻžāĻļā§
āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§ āĻ
ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒā§āĻ¨āĻāĻŋāĻĒāĻŋāĻāĻ¨, āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛, āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§āĻā§:
āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§ āĻāĻŽāĻžāĻ° āĻāĻŽā§āĻ˛ āĻā§āĻ āĻāĻ°āĻŋ
āĻāĻŽāĻŋ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻĒā§āĻ°ā§āĻ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻŋ
āĻāĻŽāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻŦāĻ āĻ¸āĻāĻ¯ā§āĻ
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ° āĻĨā§āĻā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻāĻŋ āĻ°āĻžāĻ¸ā§āĻĒāĻŦā§āĻ°āĻŋ āĻĒāĻžāĻ 3 āĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ LTE āĻŽāĻĄā§āĻŽā§ āĻĒā§āĻ°ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§āĻ¨āĻŋ! āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĢāĻ˛āĻžāĻĢāĻ˛
# stun stun.ekiga.net -p 11111
STUN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 0.97
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ: āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ, āĻĒā§āĻ°ā§āĻ āĻĄāĻŋāĻĒā§āĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°, āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻĒā§āĻ°ā§āĻ, āĻāĻāĻ˛ āĻšā§āĻ¯āĻŧāĻžāĻ°āĻĒāĻŋāĻ¨
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšāĻ˛ 0x000006
āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°ā§āĻ āĻĄāĻŋāĻĒā§āĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĻ¨āĻŋāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻšā§āĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻā§āĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋāĻā§ āĻ°āĻžāĻ¸ā§āĻĒāĻŦā§āĻ°āĻŋ āĻĒāĻžāĻ 3 āĻ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦāĻā§āĻ¯āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°ā§, āĻāĻ° āĻāĻ¨ā§āĻ¯ VLC āĻ¸āĻš
āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦāĻā§āĻ¯āĻžāĻŽ āĻĨā§āĻā§ āĻāĻāĻāĻŋ RTSP āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
$ cvlc v4l2:///dev/video0:chroma=h264 :input-slave=alsa://hw:1,0 --sout '#transcode{vcodec=x264,venc=x264{preset=ultrafast,profile=baseline,level=31},vb=2048,fps=12,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://10.2.0.1:8554/}' --no-sout-all --sout-keep
āĻāĻŦāĻ āĻĻā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻāĻĢā§āĻ¨ā§ āĻāĻŋāĻāĻ˛āĻ¸āĻŋ (āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ rtsp://10.2.0.1:8554/), āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ°āĻŋāĻŽā§āĻ āĻāĻŋāĻĄāĻŋāĻ āĻ¨āĻāĻ°āĻĻāĻžāĻ°āĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻŽā§āĻŦāĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻĒāĻŋāĻāĻ¨ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ°ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§āĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§ āĻāĻ°ā§...
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻāĻāĻŋ VPN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ IP āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻžāĻĄāĻŧāĻž āĻāĻ°āĻž VPS/VDS-āĻāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻ¸āĻŦ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤ āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻŦāĻ NAT āĻāĻ° āĻĒā§āĻ°āĻāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻā§āĻŦāĻ˛ āĻļā§āĻ°ā§...
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!
āĻāĻ¤ā§āĻ¸: www.habr.com