เชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚

เชฎเชพเชฐเชพ เช˜เชฐ เชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT (เชธเชซเซ‡เชฆ IP เชธเชฐเชจเชพเชฎเชพ เชตเชฟเชจเชพ) เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชฎเซ‡เช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซเชฏเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡เชจเซ‹ เชเช• เชฒเซ‡เช–. เชฎเชจเซ‡ เชคเชฐเชค เชœ เช†เชฐเช•เซเชทเชฃ เช•เชฐเชตเชพ เชฆเซ‹: เชคเซ‡ เช† เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชคเชฎเชพเชฐเชพ เชชเซเชฐเชฆเชพเชคเชพ เชฆเซเชตเชพเชฐเชพ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ NAT เชจเชพ เชชเซเชฐเช•เชพเชฐ เชคเซ‡เชฎเชœ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เชธเซ€เชงเซ‹ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡.
เชคเซ‡เชฅเซ€, เชฎเชพเชฐเซ‡ เชฎเชพเชฐเชพ เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจเชฅเซ€ เชฎเชพเชฐเชพ เชนเซ‹เชฎ เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชฌเช‚เชจเซ‡ เช‰เชชเช•เชฐเชฃเซ‹ เชชเซเชฐเชฆเชพเชคเชพ NATs เชฆเซเชตเชพเชฐเชพ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡, เช‰เชชเชฐเชพเช‚เชค เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชนเซ‹เชฎ เชฐเชพเช‰เชŸเชฐ เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡, เชœเซ‡ NATs เช•เชจเซ‡เช•เซเชถเชจ เชชเชฃ เช›เซ‡.
เชธเชซเซ‡เชฆ IP เชเชกเซเชฐเซ‡เชธ เชธเชพเชฅเซ‡ เชฒเซ€เชเซเชก VPS/VDS เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เช•เซเชฒเชพเชธเชฟเช• เชธเซเช•เซ€เชฎ เชคเซ‡เชฎเชœ เชชเซเชฐเชฆเชพเชคเชพ เชชเชพเชธเซ‡เชฅเซ€ เชธเชซเซ‡เชฆ IP เชธเชฐเชจเชพเชฎเซเช‚ เชญเชพเชกเซ‡ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เช•เชพเชฐเชฃเซ‹เชธเชฐ เชตเชฟเชšเชพเชฐเชฃเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจ เชนเชคเซ€.
เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ เชญเซ‚เชคเช•เชพเชณเชจเชพ เชฒเซ‡เช–เซ‹เชจเซ‹ เช…เชจเซเชญเชต, เชชเซเชฐเชฆเชพเชคเชพเช“เชจเชพ STUNs เช…เชจเซ‡ NATs เชธเชพเชฅเซ‡ เช˜เชฃเชพ เชชเซเชฐเชฏเซ‹เช—เซ‹ เช•เชฐเซเชฏเชพ. เชฎเซ‡เช‚ OpenWRT เชซเชฐเซเชฎเชตเซ‡เชฐ เชšเชฒเชพเชตเชคเชพ เชนเซ‹เชฎ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€เชจเซ‡ เชฅเซ‹เชกเซ‹ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚:

$ stun stun.sipnet.ru

เชชเชฐเชฟเชฃเชพเชฎ เชฎเชณเซเชฏเซเช‚:

STUN เช•เซเชฒเชพเชฏเช‚เชŸ เชตเชฐเซเชเชจ 0.97
เชชเซเชฐเชพเชฅเชฎเชฟเช•: เชธเซเชตเชคเช‚เชคเซเชฐ เชฎเซ‡เชชเชฟเช‚เช—, เชธเซเชตเชคเช‚เชคเซเชฐ เชซเชฟเชฒเซเชŸเชฐ, เชฐเซ‡เชจเซเชกเชฎ เชชเซ‹เชฐเซเชŸ, เชนเซ‡เชฐเชชเชฟเชจ เช•เชฐเชถเซ‡
เชตเชณเชคเชฐ เชฎเซ‚เชฒเซเชฏ เช›เซ‡ 0x000002

เชถเชพเชฌเซเชฆเชฟเช• เช…เชจเซเชตเชพเชฆ:
เชธเซเชตเชคเช‚เชคเซเชฐ เชฎเซ‡เชชเชฟเช‚เช— - เชธเซเชตเชคเช‚เชคเซเชฐ เชฎเซ‡เชชเชฟเช‚เช—
เชธเซเชตเชคเช‚เชคเซเชฐ เชซเชฟเชฒเซเชŸเชฐ - เชธเซเชตเชคเช‚เชคเซเชฐ เชซเชฟเชฒเซเชŸเชฐ
เชฐเซ‡เชจเซเชกเชฎ เชชเซ‹เชฐเซเชŸ - เชฐเซ‡เชจเซเชกเชฎ เชชเซ‹เชฐเซเชŸ
hairpin เช•เชฐเชถเซ‡ - เชเช• hairpin เชนเชถเซ‡
เชฎเชพเชฐเชพ PC เชชเชฐ เชธเชฎเชพเชจ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€เชจเซ‡, เชฎเชจเซ‡ เชฎเชณเซเชฏเซเช‚:

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 เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚
เชชเชฐเช‚เชคเซ เช–เซ‚เชฌ เชœ เชนเช•เซ€เช•เชค เช เช›เซ‡ เช•เซ‡ UDP เชตเชฟเชจเช‚เชคเซ€ เชชเซเชฐเชฆเชพเชคเชพเชจเซ€ 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-เชธเชฐเซเชตเชฐ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚ (เชคเซ‡เชจเซ‡ เช…เช—เชพเช‰ เช—เซ‹เช เชตเซ‡เชฒเซเช‚), เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ เชฌเชพเชนเซเชฏ IP เชธเชฐเชจเชพเชฎเซเช‚ เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ (XX.1XX.1X4.2XX:4398) เชธเซ‚เชšเชตเซเชฏเซเช‚ เช…เชจเซ‡ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจเชฅเซ€ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เช•เชจเซ‡เช•เซเชŸ เชฅเชฏเซเช‚ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐเช‚เชคเซ เช† เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เชเช• เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เชฅเชˆ: เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ OpenVPN เช•เซเชฒเชพเชฏเช‚เชŸ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ UDP เชธเชคเซเชฐเชจเซ‡ เชœเชพเชณเชตเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚; เชฎเชจเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ STUN เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชจเซ‹ เชตเชฟเช•เชฒเซเชช เช—เชฎเซเชฏเซ‹ เชจเชนเซ€เช‚ - เชนเซเช‚ เชคเซ‡เชจเชพ เชชเชฐเชจเซ‹ เชญเชพเชฐ เชฌเช—เชพเชกเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจ เชนเชคเซ‹. STUN เชธเชฐเซเชตเชฐเซเชธ.
เชฎเซ‡เช‚ เชเชจเซเชŸเซเชฐเซ€ เชชเชฃ เชจเซ‹เช‚เชงเซ€ "hairpin เช•เชฐเชถเซ‡ - เชเช• hairpin เชนเชถเซ‡", เช† เชฎเซ‹เชก

เชนเซ‡เชฐเชชเชฟเชจเชฟเช‚เช— เช NAT เชจเซ€ เชชเชพเช›เชณเชจเชพ เชธเซเชฅเชพเชจเชฟเช• เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชเช• เชฎเชถเซ€เชจเชจเซ‡ เชฐเชพเช‰เชŸเชฐเชจเชพ เชฌเชพเชนเซเชฏ เชธเชฐเชจเชพเชฎเชพเช‚ เชชเชฐ เชธเชฎเชพเชจ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชฌเซ€เชœเชพ เชฎเชถเซ€เชจเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚
เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชฎเซ‡เช‚ UDP เชธเชคเซเชฐ เชœเชพเชณเชตเชตเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเซ€ - เชฎเซ‡เช‚ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚.
เชคเซ‡ เช†เชจเซ€ เชœเซ‡เชฎ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚:

  • เชธเซเชฅเชพเชจเชฟเช• เชชเซ‹เชฐเซเชŸ 11111 เชชเชฐ STUN เช•เซเชฒเชพเชฏเชจเซเชŸ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚
  • เชฌเชพเชนเซเชฏ IP เชธเชฐเชจเชพเชฎเชพ เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ XX.1XX.1X4.2XX:4398 เชธเชพเชฅเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชณเซเชฏเซ‹
  • เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชฌเชพเชนเซเชฏ IP เชธเชฐเชจเชพเชฎเชพเช‚ เช…เชจเซ‡ เช‡เชฎเซ‡เช‡เชฒ เชชเชฐ เชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเซเชฏเซ‹ (เช•เซ‹เชˆเชชเชฃ เช…เชจเซเชฏ เชธเซ‡เชตเชพ เชถเช•เซเชฏ เช›เซ‡)
  • UDP/11111 เชชเซ‹เชฐเซเชŸ เชธเชพเช‚เชญเชณเชคเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ OpenVPN เชธเชฐเซเชตเชฐ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚
  • เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡ XX.1XX.1X4.2XX:4398 เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชคเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ OpenVPN เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚
  • เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ เช“เชชเชจเชตเซ€เชชเซ€เชเชจ เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‹เช‚เชš เช•เชฐเซ‹ เชœเซ‡ IP เชธเชฐเชจเชพเชฎเซเช‚ เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ (เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ IP เชธเชฐเชจเชพเชฎเซเช‚ เชฌเชฆเชฒเชพเชฏเซเช‚ เชจเชฅเซ€) เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡

เชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚
เช† เชฐเซ€เชคเซ‡ เชนเซเช‚ เชฎเชพเชฐเชพ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจเชฅเซ€ เชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชฅเซ€ เช•เชจเซ‡เช•เซเชŸ เชฅเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเซ‹. เช† เช…เชฎเชฒเซ€เช•เชฐเชฃ เชคเชฎเชจเซ‡ เช•เซ‹เชˆเชชเชฃ 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

เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชฌเชพเชœเซ เชชเชฐ

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชจเซ‡ Android เชฎเชพเชŸเซ‡ OpenVPN, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒ, เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซ€ เชจเช•เชฒ เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚:
เชนเซเช‚ เชฎเชพเชฐเชพ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ เชฎเชพเชฐเซ‹ เชˆเชฎเซ‡เชฒ เชšเซ‡เช• เช•เชฐเซเช‚ เช›เซเช‚เชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚
เชนเซเช‚ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚ เชชเซ‹เชฐเซเชŸ เชจเช‚เชฌเชฐ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซเช‚ เช›เซเช‚เชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚
เชนเซเช‚ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฒเซ‹เชจเซเชš เช…เชจเซ‡ เช•เชจเซ‡เช•เซเชŸเชชเซเชฐเชฆเชพเชคเชพเชจเชพ NAT เชชเชพเช›เชณ VPN เชธเชฐเซเชตเชฐ เชšเชฒเชพเชตเชตเซเช‚

เช† เชฒเซ‡เช– เชฒเช–เชคเซ€ เชตเช–เชคเซ‡, เชฎเซ‡เช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซ‡ เชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชฅเซ€ เชฐเชพเชธเซเชชเชฌเซ‡เชฐเซ€ เชชเซ€ 3 เชชเชฐ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เช†เช–เซ€ เชตเชธเซเชคเซเชจเซ‡ LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชšเชฒเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€! เช†เชฆเซ‡เชถ เชชเชฐเชฟเชฃเชพเชฎ

# stun stun.ekiga.net -p 11111

STUN เช•เซเชฒเชพเชฏเช‚เชŸ เชตเชฐเซเชเชจ 0.97
เชชเซเชฐเชพเชฅเชฎเชฟเช•: เชธเซเชตเชคเช‚เชคเซเชฐ เชฎเซ‡เชชเชฟเช‚เช—, เชชเซ‹เชฐเซเชŸ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชŸ เชซเชฟเชฒเซเชŸเชฐ, เชฐเซ‡เชจเซเชกเชฎ เชชเซ‹เชฐเซเชŸ, เชนเซ‡เชฐเชชเชฟเชจ เช•เชฐเชถเซ‡
เชตเชณเชคเชฐ เชฎเซ‚เชฒเซเชฏ เช›เซ‡ 0x000006

เช…เชฐเซเชฅ เชชเซ‹เชฐเซเชŸ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชŸ เชซเชฟเชฒเซเชŸเชฐ เชธเชฟเชธเซเชŸเชฎ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ€ เชจเชฅเซ€.
เชชเชฐเช‚เชคเซ เช˜เชฐ เชชเซเชฐเชฆเชพเชคเชพเช เช•เซ‹เชˆเชชเชฃ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ Raspberry Pi 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

เช…เชจเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เชชเชฐ VLC (เชธเซเชŸเซเชฐเซ€เชฎ rtsp://10.2.0.1:8554/), เชคเซ‡ เชธเชพเชฐเซ€ เชฐเชฟเชฎเซ‹เชŸ เชตเชฟเชกเชฟเชฏเซ‹ เชธเชฐเซเชตเซ‡เชฒเชจเซเชธ เชธเชฟเชธเซเชŸเชฎ เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชคเชฎเซ‡ เชธเชพเชฎเซเชฌเชพ เชชเชฃ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, VPN เชฆเซเชตเชพเชฐเชพ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เชฐเซ‚เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชคเชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชจเซ‡ เชฐเชฟเชฎเซ‹เชŸเชฒเซ€ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เชตเชงเซ...

เชจเชฟเชทเซเช•เชฐเซเชท

เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เชคเซ‡เชฎ, VPN เชธเชฐเซเชตเชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช•เซ‹เชˆ เชฌเชพเชนเซเชฏ IP เชธเชฐเชจเชพเชฎเชพ เชตเชฟเชจเชพ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชญเชพเชกเซ‡ เช†เชชเซ‡เชฒ VPS/VDSเชจเซ€ เชœเซ‡เชฎ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เชฌเชงเชพ เชชเซเชฐเชฆเชพเชคเชพ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เชนเซเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชตเชฟเชตเชฟเชง เชชเซเชฐเชฆเชพเชคเชพเช“ เช…เชจเซ‡ NAT เชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชตเชฟเชถเซ‡ เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เช† เชฎเชพเชคเซเชฐ เชถเชฐเซ‚เช†เชค เช›เซ‡...
เชคเชฎเชพเชฐเซเช‚ เชงเซเชฏเชพเชจ เชฌเชฆเชฒ เช†เชญเชพเชฐ!

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹