ืืื Spotify ืงืขื ืขื ืืขืืคึฟื ืืืจ ืืขืจื ืขื ืืขืืึธื ืก, RFCs, ื ืขืืืืึธืจืงืก ืืื ืืขืืขืจื ืึธืคึฟื ืืงืืจ. ืึธืืขืจ ืืืึธืก ืืึทืคึผืึทื ื ืืืื ืืืจ ืงืขื ืขื ื ืืฉื ืืึทืฆืึธืื, ืึธืืขืจ ืืืจ ืืึทืงืข ืืืืื ืขืืืขืืข ืคึผืจืขืืืข ืืืืื.
ืึธื ืืืื
ืืืืฃ ืื ืืจืื ืืึธื, ืขืก ืืื ืืขืืืขื ืืืืขืจืงื ืึทื Spotify ืืื ืืขืืืขื ืืืืึทืื ืืืง ืึทืืืืขืจืืืืืืึทื ืฅ ืืืืืจื ืืืืฃ ืื ืืืื ื ืคืื ืื IP ืึทืืจืขืก. ืขืก ืืื ืืืื ืืืืขืจืงื ืึทื ืืื ืขืืืขืืข ืืขื ืืขืจ ืืึทื ืฆืข ืืื ื ืืฉื ืืืคึผืึธืจืืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืื ืจืขืคืืืืืง ืคืื ืืขืืึทืจืืก. ืืื ืืขืืึธืื ืึท "ืืจืืืืึทื ื" ืคึผืืึทื ืืื ืืึทืืฉื ืฆื ืืืกืืืืึทื ืืึทื ืฆืข ืืื ืึท ื ืื-ืคึผืจืขืืืข ืืฉืืื.
ื ืืืกื ืืืขืื Spotify
ืืื ืึทืืืขืืืื, Spotify ืืื ืึท ืืึธืื ืข ืคึผืึธืืืืืง. ืืื ืืืขืจ ืืจืืืขืจ ืืึทืจืฃ ืืืื ืฉืืื ืืืืืกื ืฆื ืงืืืคื ืคึผืจืขืืืข: ืืืืฉื ืืขื ืึธืจื ืืื ืืืื ืคึผืจืึธืคืื ืฆื ืืขืืืืืขืจ - ืืืืึทื, ืงืืงื ืคึฟืึทืจ ืึท ืคึผืึทืกืืง ืืึทืืึทื ื ืงืึทืจืื ืืืึธืก ืงืขื ืขื ืืืื ืืึทืฆืึธืื ืืืืื ืืื PayPal, ืืืึธืก ืืื ืึทืงืืื ื ืืฉืืื ืข ืืขืฆืื ืก ืืื ืืืื ืึท ืคึผืืึทืฅ ืคืื ืืึธืงืืืขื ืื. ืืื ืึทืืืขืืืื, ืขืก ืืื ืืืื ืึท ืคึผืึทืกืืจืื ื, ืึธืืขืจ ืคืื ืึท ืึทื ืืขืจืฉ ืกืืจ. ืืึธืืฉ ืจืืึฟ ืืขื ืืฉื ืืึธื ืืึธืก ืคึฟืึทืจ ืื ืจืืจืขืืืืืง ืืืขืจืกืืข, ืืื ืืื ื ืืฉื ืืื ืืขืจืขืกืืจื ืืื ืขืก. ืืขืจืืืขืจ, ืึทืืฅ ืืื ืื ืืืขื ืืขืืคึฟื ืืืืื ืืื ืื ืคืึทื ืคืื ืื ืืขืกืงืืึทืคึผ ืืืขืจืกืืข. ืืขืจืฆื, ืขืก ืืืขื ืืืื ืงืืื ืืงืกืคึผืึทื ืฉืึทื ืคืื ืคืึทื ืืงืฉืึทื ื. ื ืึธืจ ืฉื ืืึทืื ืึทืืืขืง ืขืืืขืืข ืคืื โโืื ืขืงืกืืจืข ืึธื ืขืก.
ืคืืจืืืืก ืืื ืขืก ืึทืืื ืงืึธืืคึผืืืฆืืจื?
ืืื ืืื ืืขืืึทื ืง ืึทืืื ืืืขื ืจืขืืืฉืืกืืขืจืื ื ืื ืกืึทืงืก-ืคึผืจืึธืงืกื ืืึทืื ืืื ืื Spotify ืงืึทื ืคืืืืขืจืืืฉืึทื. ืื ืคึผืจืึธืืืขื ืืื ืืขืืืขื ืึทื ืึธืืขื ืืึทืงืืืฉืึทื ืืื ืกืึทืงืก ื ืืฆื ืืึธืืื ืืื ืคึผืึทืจืึธื ืืื ื ืืฉื ืึทืจืืขืื. ืคึผืืืก, ืืขืืืขืืึธืคึผืขืจืก ืงืขืกืืืืขืจ ืืึธื ืขืคึผืขืก ืึทืจืื ืื ืคึผืจืึทืงืกื: ืึธืืขืจ ืึทืืึทืืื ื ืขืก, ืืขืืึธืื ืคึผืจืึธืืืืืึทืืื ื ืขืก, ืึธืืขืจ ืืจืืืงืื ื ืขืก, ืืืึธืก ืืื ืืขืืขืจืื ื ืฆื ืืึทื ืฅ ืคึผืึทื ืึทืื ืคืื ืืืกืงืืกืืขืก ืืืืฃ ืื ืึทืืืขืง-ืคึผืืึทืฅ.
ืขืก ืืื ืืึทืฉืืึธืกื ื ืืฉื ืฆื ืคืึทืจืืึธืื ืืื ืึทื ืกืืืืืึทื ืคืึทื ืืงืฉืึทื ื ืืื ืฆื ืืขืคึฟืื ืขื ืขืคึผืขืก ืืขืจ ืคืึทืจืืึธืืืขื ืืื ืืฉืืงืึทืืืข.
ืขืจืืขืฅ ืืึธ ืืึทืจืฃ ืืขืจ ืืืืขื ืขืจ ืคืจืขืื: ืคืึทืจืืืึธืก ื ืืฉื ื ืขืืขื ssh
ืืื ืึท ืฉืืืกื -D
ืืื ืืึธืก ืืื ืืขืจ ืกืืฃ? ืืื, ืืื ืึทืืืขืืืื, ืขืจ ืืืขื ืืืื ืจืขืื. ืึธืืขืจ, ืขืจืฉืื ืก, ืืึทืจืฃ ืืขื ืืึธืก ื ืึธื ืืขืืึธื ืืืืจื ืืื ืืื ืืึทืคืจืืืขื ืืื ืึทืืืึธืฉ, ืืื ื ืืฉื ืฆื ืืจืึทืืื ืืืขืื ืฆืขืจืืกืขื ืข ืคึฟืึทืจืืื ืืื ืืขื. ืืื ืฆืืืืืื ืก: ืขืก ืืื ืฆื ืคึผืฉืื ืืื ื ืืื ืข.
ืืื ืืืื ืงืืื ื
ืืื ืืขืืืืื ืืืขื, ืืึธืืืจ ืืืื ืคืื ืืื ืงืก ืฆื ืจืขืืืก, ืืืืื ืฆื ืื ืึธ ืืื ืืึทืฉืจืืึทืื ืึทืืฅ ืืืึธืก ืืืจ ืืึทืจืคึฟื ืฆื ืื ืกืืจืืืขื ื ืืื ืืืขืจ "ืคึผืฉืื" ืืขืืึทื ืง.
ืขืจืฉืืขืจ ืืืจ ืืึทืจืคึฟื ืึท ืคึผืจืึทืงืกื
ืืื ืขืก ืืขื ืขื ืคืืืข ืึทืืืขืจื ืึทืืืืืขืก ืืื ืึทืืึธื:
- ืืืจ ืงืขื ื ื ืึธืจ ืืืื ืืื ื ืขืืขื ืคึฟืื ืึธืคึฟื ืคึผืจืึทืงืกื ืจืฉืืืืช. ืืืืืง (ืึธืืขืจ ืืึทื ืฅ ืคึฟืึทืจ ืืึธืจื ืืฉื), ืึธืืขืจ ืืขืืึทืืจืข ืึทื ืจืืืืืึทืืึทื ืืื ืื ืืขืื ืคืื ืึทืืึท ืคึผืจืึทืงืกืื ืืขื ืื ืฆื ื ืื. ืืขืจืืืขืจ, ืขืก ืืืึธืื ืืืื ื ืืืืืง ืฆื ืืขืคึฟืื ืขื / ืฉืจืืึทืื ืึท ืคึผืึทืจืกืขืจ ืคึฟืึทืจ ืคึผืจืึทืงืกื ืจืฉืืืืช, ืคืืืืขืจ ืืื ืืืื ืื ืืขืืขืื ืืืคึผ ืืื ืืึทื ื, ืืื ืื ืงืฉืื ืคืื ืกืึทืืกืืืืืฉืึทื ืคืื ืื ืืขืคึฟืื ืขื ืคืจืืงืกื ืืื Spotify ืืืืืื ืึธืคื (ื ื, ืืึธืืขืจ ืืืจื
HTTP_PROXY
ืึทืจืืืขืจืคืืจื ืืื ืฉืึทืคึฟื ืึท ืื ืื ืจืึทืคึผืขืจ ืคึฟืึทืจ ืื ืืืื ืขืจื ืึทืืื ืึทื ืึทืืข ืื ืืขืจืข ืคืึทืจืงืขืจ ืืื ื ืืฉื ืืขืฉืืงื ืืึธืจื). - ืืืจ ืงืขื ืขื ืงืืืคื ืึท ืขื ืืขื ืคึผืจืึทืงืกื ืืื ืจืึทืืขืืืขื ืืื ืคืื ืจืืึฟ ืคืื ืื ืคึผืจืึธืืืขืืก ืืืกืงืจืืืื ืืืืื. ืึธืืขืจ ืฆื ืื ืคึผืจืืึทื ืคืื ืึท ืคึผืจืึทืงืกื, ืืืจ ืงืขื ืขื ืืื ืงืืืคื ืคึผืจืขืืืข ืืืืฃ Spotify, ืืื ืืึธืก ืืื ื ืืฉื ืคึผืจืึทืงืืืฉ ืคึฟืึทืจ ืืขืจ ืึธืจืืืื ืขื ืึทืจืืขื.
- ืืืืื ืืืื. ืืื ืืืจ ืืืกืืึธืืข ืืขืกื, ืืึธืก ืืื ืืื ืืืขืจ ืืจืืจื.
ืืืื ืฆืืคืึทื, ืขืก ืงืขื ืืืื ืึทื ืืืจ ืืึธื ืึท ืคืจืืึทื ื ืืื ืึท ืกืขืจืืืขืจ ืืื ืื ืจืขืคืืืืืง ืคืื ืืขืืึทืจืืก ืึธืืขืจ ืื ืื ืืขืจ ืงืืืื ืืึทื ื. ืืืจ ืืึทืจืคึฟื ืฆื ื ืืฆื ืืขื ืืื ืจืึธืืื ืืืืก ืื ืืขืืขืื ืคืจืืงืกื ืืืืฃ ืขืก. ืกืคึผืขืฆืืขืืข ืงืึทื ืึทืกืขืจื ืงืขื ืขื ืืืื ืฆืืคืจืืื ืืื ืึท ืคืจืืึทื ื ืืื ืึท ืจืึทืืืขืจ
ืึทืืื, ืืื ืืืขืจ ืึธืคึผืฆืืขืก: ืืื ืืคืืฉ - ื ืื ืื ืกืคึผืืืขืจืื ื, ืืื ืืื ืืึธื ื ืืฉื ืืืขืื ืึท ืืืืคึผ ืคืจืืงืกื, ืขืก ืืขื ืขื ืฉืืื ืฆื ืคืืืข ืคืื โโืืขื ืคึผืจืึธืืึธืงืึธื ืึทืจืื. ืืื ืืื ืืขืจ ืืขืื ื ืคืื SOCKS ืขืก ืืื ืืึธืจื ืืฉื ืคืืืืง ืึทืืืฅ
ืื ืืืืกื ื ืืฉื ืืืึทืจืื ืคึฟืึทืจ ืื ืืึทื ืืึทื ืคืื Dante ืฆื ืื ืกืืึทืืืจื ืืื ืงืึทื ืคืืืืขืจ. ืขืจ client pass
, socks pass
, ืจืืืืืง ืคืึทืจืฉืจืืึทืื ืื ืื ืืขืจืคืืืกืื ืืื ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืืืืื socksmethod: username
. ืืื ืืขื ืคืึธืจืขื, ืคึฟืึทืจ ืึธืืขื ืืึทืงืืืฉืึทื, ืื ืืึธืืึธืคึผืึทืกืก ืืืขื ืืืื ืืขื ืืืขื ืคืื ืื ืกืืกืืขื ื ืืฆืขืจืก. ืืื ืืขืจ ืืืื ืืืขืื ืืืืขืจืืืื: ืคืึทืจืืืขืจื ืึทืงืกืขืก ืฆื ืืึธืงืึทืืืึธืกื, ืืืืืืื ื ื ืืฆืขืจืก, ืืื"ื ื - ืืึธืก ืืื ืจืืื ืืืื, ืืืคึผืขื ืืื ื ืืืืฃ ืคึผืขืจืืขื ืืขื ืคึผืึทืจืึทื ืึธืืึท.
ืฆืขืืืืงืืขื ืึท ืคึผืจืึทืงืกื ืคืืืกืื ื ืื ื ืขืฅ
ืื ืคึผืืขืกืข ืืื ืืื ืฆืืืื ืึทืงืื.
ืึทืงื ืืืื
ืืืจ ืืึธืื ืืืืกืืขืฉืืขืื ืื ืคืจืืงืกื, ืืืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืึทืงืกืขืก ืขืก ืคึฟืื ืื ืืืืืืืข ืืืขื. ืืืื ืืืจ ืืึธืื ืึท ืืึทืฉืื ืืื ืึท ืืืืึทืก IP ืืื ืื ืืขืืขืื ืืืื ื, ืืืจ ืงืขื ืขื ืืขืฉืึธืืขื ืืึธืคึผืงืขื ืืขื ืคืื ื. ืืืจ ืืึธื ื ืื ืืึธืื ืืืื (ืืืจ, ืืื ืืขืจืืื ื ืืืืื, ืืขื ืขื ืืึธืืกืืื ืืื ืคืจืืื ื 'ืืืืืขืจ) ืืื ืื ื ืืจืึทืกื ืืืืึทืก IP ืืื ืขืจืืขืฅ ืืื ืืืึทืืฉืืึทื ื, ืึทืืื ืืืจ ืืืขืื ืืขืจื ืขื ื ืขืืืืึธืจืงืก.
ืึทืืื ืืึธ, ืืขืจ ืึทืืขื ืืืื ืืืืขื ืขืจ ืืืขื ืืืืืขืจ ืคืจืขืื: ืคืืจืืืืก ืืึธื ื ืื ื ืขืืขื ืึท ืืืืืกืืื ื ืืื ืกื ืืื
ืึทืจืืขื: ืขืก ืืื ืึท ืคึผืจืึทืงืกื ืขืจืืขืฅ ืืืืึทื ืืื ืืขืจ NAT, ืืืจ ืืึทืจืคึฟื ืฆื ืืขื ืืขื ืขืก ืืืืฃ ืืืื ืขืจ ืคืื ืื ืคึผืึธืจืฅ ืคืื ืึท ืืืคึผืก ืืืึธืก ืืื ืึท ืืืืึทืก IP ืืื ืืื ืืืื ืืืึท ืื ืืจืขื ืคืื ืืขืจ ืืืขืื.
ืขืก ืืื ืืึทืืืฉืืงืึทื ืฆื ืืืขืจื ืขืืขื ืึทื ืืึธืก ืงืขื ืขื ืืืื ืกืึทืืืื ืืืจื ืคึผืึธืจื ืคืึธืจืืืขืจืืื ื (ืืืึธืก ืืื ืืืคึผืืึทืืขื ืึทื ืืืจื ืื ืืืืื-ืืขืจืืื ื ssh
), ืึธืืขืจ ืืืจื ืงืึทืืืืื ืื ื ืืึทืื ืืืึทืจื ืืื ืึท ืืืืจืืืึทื ื ืขืฅ ืืืจื ืืืคึผื. ืืื ssh
ืืืจ ืืืืกื ืืื ืฆื ืึทืจืืขืื, autossh
ืขืก ืืื ื ืืื ืข ืฆื ื ืขืืขื, ืึทืืื ืืึธืื ืืื ืื ื ืขืืขื OpenVPN.
DigitalOcean ืืื systemd
. ื ืึธืจ ืฉืืขืื ืขืก (ืงืึธื ืคืื) ืืื /etc/openvpn/client/
ืืื ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืืืืฉื ืื ืคืึทืจืืขื ืืขืจืื ื ืฆื .conf
. ื ืึธื ืืขื, ืฆืืขื ืื ืืื ืกื [email protected]
ืคึฟืึทืจืืขืกื ื ืืฉื ืฆื ืืึธื ืืึธืก ืคึฟืึทืจ ืืืจ enable
ืืื ืคืจืืืขื ืืื ืื ืืืขืก ืืื ืืืืขืงืืขืคืืืืื.
ืคืื ืงืืจืก, ืืืจ ืืึทืจืคึฟื ืฆื ืืืกืืืืึทื ืงืืื ืจืืืขืจืขืงืฉืึทื ืคืื ืคืึทืจืงืขืจ ืฆื ืื ื ืื ืืืฉืืคื VPN, ืืืืึทื ืืืจ ืืึธื ื ืืฉื ืืืขืื ืฆื ืจืขืืืฆืืจื ืื ืืืืงืืึทื ืืืืฃ ืื ืงืืืขื ื ืืึทืฉืื ืืืจื ืคืึธืจื ืคืึทืจืงืขืจ ืืืจื ืึท ืืึทืื ืคึผืืืงืข.
ืืื ืืึธ, ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืฉืจืืึทืื ืึท ืกืืึทืืืง IP ืึทืืจืขืก ืืืืฃ ืื ืืืคึผื ืกืขืจืืืขืจ ืคึฟืึทืจ ืืื ืืืขืจ ืงืืืขื ื. ืืึธืก ืืืขื ืืืื ื ืืืืืง ืึท ืืืกื ืฉืคึผืขืืขืจ ืืื ืืขืจ ืืขืฉืืืืข. ืฆื ืืึธื ืืึธืก ืืืจ ืืึทืจืคึฟื ืฆื ืืขืื ifconfig-pool-persist
, ืจืขืืึทืืืจื ipp.txt
, ืึทืจืืึทื ืืขืจืขืื ื ืืื OpenVPN ืืื ืืขืื client-config-dir, ืคึผืืืก ืจืขืืึทืืืจื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคืื ืื ืืขืืขืื ืงืืืขื ื ืืืจื ืึทืืื ื ifconfig-push
ืืื ืื ืจืืืืืง ืืึทืกืงืข ืืื ืื ืืขืืขืื IP ืึทืืจืขืก.
ืืงื ืฆืืืื
ืืืฆื ืืืจ ืืึธืื ืึท ืืึทืฉืื ืืืืฃ ืื "ื ืขืฅ" ืืืึธืก ืคืืืกืื ืื ืืื ืืขืจื ืขื ืืื ืงืขื ืขื ืืืื ืืขืืืืื ื ืคึฟืึทืจ ืขืืึธืืกืืืฉ ืฆืืืขืงื. ื ืืืืื, ืจืืืขืจืขืงื ืืืื ืคืื ืื ืคืึทืจืงืขืจ ืืืจื ืขืก.
ืึทืืื, ืึท ื ืืึทืข ืึทืจืืขื: ืืืจ ืืึทืจืคึฟื ืฆื ืงืขืจ ืึทืืืขืง ืื ืคืึทืจืงืขืจ ืขืจืืืืืื ื ืืื ืืืื ืขืจ ืคืื ืื ืืืคึผืก ืคึผืึธืจืฅ ืืื ืึท ืืืืึทืก IP ืึทืืื ืึทื ืืขืจ ืคืึทืจืงืขืจ ืืืื ืฆื ืื ื ืื ืงืึธื ื ืขืงืืขื ืืืืจืืืขื ื ืขืฅ ืืื ืืขืจ ืขื ืืคืขืจ ืงืขื ืขื ืฆืืจืืงืงืืืขื ืคึฟืื ืืึธืจื.
ืืืืืื ื: ืคืื ืงืืจืก iptables
! ืืืขื ืึทื ืืขืจืฉ ืืืขื ืืืจ ืืึธืื ืึทืืึท ืึท ืืืื ืืขืจืืขื ืืขืืขืื ืืืื ืฆื ืคืืจ ืืื ืืื?
ืื ืคืืจืืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืึทื ืฅ ืืขืฉืืืื ื, ืืื ืืจืื ืฉืขื, ืึท ืืื ืืขืจื ืฉืืืขืจื ืืืขืจืืขืจ ืืื ืึท ืืึทื ืืคืื ืคืื ืืืืืกืืึทื ื ืขืจืืืขืก, ืืืืึทื ืืืืึทืืื ื ื ืขืืืืึธืจืงืก ืืื ืึท ืืืืขืจ ืกืคึผืขืฆืืคืืฉ ืคึผืจืึธืฆืขืืืจ.
ืขืจืฉืืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ืืขืื ืคืึทืจืงืขืจ ืจืืืขืจืขืงืฉืึทื ืืื ืื ืงืขืจื. ืื ืืื ืืืืกื ipv4.ip_forward
ืืื ืืื ืขื ืืืืึทืื ืึท ืืืกื ืึทื ืืขืจืฉ ืืืคึผืขื ืืื ื ืืืืฃ ืื ืึทืก ืืื ื ืขืฅ ืคืึทืจืืืึทืืืขืจ.
ืฆืืืืืื ืก, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกืงืืืึทืื ืึท ืคึผืึธืจื ืืืืฃ ืื ืืืคึผืก ืืื ืืึทื ืืืืงืืขื ืึทืืข ืคืึทืจืงืขืจ ืฆื ืืื ืืื ืึท ืืืืจืืืึทื ืกืืื ืขื. ืืึธืก ืงืขื ืืืื ืืขืืื, ืืืฉื, ืืื ืืึธืก:
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080
ืืึธ ืืืจ ืจืืืขืจืขืงื ืึทืืข ืืงืคึผ ืคืึทืจืงืขืจ ืืืึธืก ืงืืืขื ืฆื ืคึผืึธืจื 8080 ืคืื ืื ืคืื ืืจืืืกื ืืืง ืฆืืืื ื ืฆื ืึท ืืึทืฉืื ืืื IP 10.8.0.2 ืืื ืืขืจ ืืขืืืืงืขืจ ืคึผืึธืจื 8080.
ืคึฟืึทืจ ืื ืืืืก ืืืืื ืื ืืจืึธื ืืขืืึทืืืก ืคืื ืื ืึทืจืืขื netfilter
, iptables
ืืื ืจืืืื ื ืืื ืึทืืืขืืืื, ืขืก ืืื ืืขืืึทืืจืข ื ืืืืืง ืฆื ืืึทืืจืึทืืื
ืืืฆื ืืื ืืืขืจ ืคึผืึทืงืืฅ ืคืืืขื ืฆื ืื ืืืืจืืืึทื ืกืืื ืขื ืืื ... ืืื ืืืืืื ืืึธืจื. ืืขืจ ืืขื ืื, ืืขืจ ืขื ืืคืขืจ ืคืื ืื ืกืึทืงืก ืคึผืจืึทืงืกื ืคืืืขืก ืฆืืจืืง ืืืจื ืื ืคืขืืืงืืึทื ืืืืืืืื ืืืืฃ ืื ืืึทืฉืื ืืื Dante ืืื ืืขืจ ืืึทืงืืืขืจ ืืจืืคื ืก ืขืก, ืืืืึทื ืืื ื ืขืืืืึธืจืงืก ืขืก ืืื ื ืืฉื ืงืึทืกืืึทืืขืจื ืฆื ืฉืืงื ืึท ืืงืฉื ืฆื ืืืื IP ืืื ืืึทืงืืืขื ืึทื ืขื ืืคืขืจ ืคืื ืื ืืขืจื. ืืขืจืืืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ืคืึธืจืืขืฆื ืฆื ืงืึทื ืืืฉืขืจ.
ืืืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืจืืืขืจืขืงื ืึทืืข ืคึผืึทืงืืฅ ืคืื ืื ืคึผืจืึทืงืกื ืฆืืจืืง ืฆื ืื ืืืืจืืืึทื ืกืืื ืขื ืฆื ืื ืืืคึผืก ืืื ืึท ืืืืึทืก IP. ืืึธ ืื ืกืืืืึทืฆืืข ืืื ืึท ืืืกื ืขืจืืขืจ, ืืืืึทื ืขืก ืืื ืคึผืื ืงื iptables
ืืืจ ืืืขืื ื ืืฉื ืืึธืื ืืขื ืื, ืืืืึทื ืืืื ืืืจ ืจืืืืืง ืื ืืขืกืืื ืืืฉืึทื ืึทืืจืขืก ืืืืืขืจ ืจืืืื ื (PREROUTING
), ืืื ืืืขืจ ืคึผืขืงื ืืืขื ื ืืฉื ืคืืืขื ืฆื ืื ืืื ืืขืจื ืขื, ืืื ืืืื ืืืจ ืืึธื ื ืื ืคืึทืจืจืืืื ืขืก, ืืขืจ ืคึผืขืงื ืืืขื ืืืื ืฆื default gateway
. ืึทืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืึธื ืื ืคืืืืขื ืืข: ืืขืืขื ืงืขื ืื ืงืืื mangle
, ืืื ืกืืจ ืฆื ืฆืืืื ืคึผืึทืงืึทืฅ ืืืจื iptables
ืืื ืืึทื ืืืืงืืขื ืืื ืืื ืึท ืื ืื ืจืืืื ื ืืืฉ ืืืึธืก ืืืขื ืฉืืงื ืืื ืืื ืืื ืืึธื ืืืื.
ื ืื ืคืจืืขืจ ืืขืืืื ืืื ืืขืฉืขื:
iptables -t mangle -A OUTPUT -p tcp --sport 8080 -j MARK --set-mark 0x80
ip rule add fwmark 0x80 table 80
ip route add default via 10.8.0.1 dev tun0 table 80
ืืืจ ื ืขืืขื ืึทืืืืึธืืื ื ืคืึทืจืงืขืจ, ืฆืืืื ืึทืืฅ ืืืึธืก ืคืืืขืก ืคืื ืื ืคึผืึธืจื ืืืืฃ ืืืึธืก ืื ืคึผืจืึทืงืกื ืืืฆื (ืืื ืืื ืืืขืจ ืคืึทื 8080), ืจืืืขืจืขืงื ืึทืืข ืื ืืขืฆืืืื ื ืคืึทืจืงืขืจ ืฆื ืื ืจืืืื ื ืืืฉ ืืื ื ืืืขืจ 80 (ืืื ืึทืืืขืืืื, ืื ื ืืืขืจ ืืื ื ืืฉื ืึธืคืขื ืืขื ืืืืฃ ืขืคึผืขืก, ืืืจ ื ืึธืจ ืืขืืืืื ืฆื) ืืื ืืืืื ืึท ืืืื ืืขืจืฉื , ืืืื ืืืึธืก ืึทืืข ืคึผืึทืงืืฅ ืึทืจืืึทื ืืขืจืขืื ื ืืื ืืขื ืืืฉ ืคืืืขื ืฆื ืื ืืืคึผื ืกืืื ืขื.
ืืจืืืก! ืืืฆื ืคืืืขื ืื ืคึผืึทืงืึทืฅ ืฆืืจืืง ืฆื ืื ืืืคึผืก ... ืืื ืฉืืึทืจืื ืืึธืจื. ืืืืึทื VPS ืงืขื ื ืืฉื ืืืืกื ืืืึธืก ืฆื ืืึธื ืืื ืืื. ืืขืจืืืขืจ, ืืืื ืืืจ ืืึธื ื ืื ืึทืจื, ืืืจ ืงืขื ืขื ืคืฉืื ืจืืืขืจืขืงื ืึทืืข ืคืึทืจืงืขืจ ืขืจืืืืืื ื ืคึฟืื ืื ืืืืจืืืึทื ืกืืื ืขื ืฆืืจืืง ืฆื ืืขืจ ืืื ืืขืจื ืขืฅ:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 172.42.1.10
ืืึธ, ืึทืืฅ ืืืึธืก ืงืืื ืคึฟืื ืื 10.8.0.0 ืกืืื ืขื ืืื ืึท ืืึทืกืงืข ืคืื โโ255.255.255.000 ืืื ืืื ืืขืืืืงืื ืืื ืืงืืจ-NAT ืืื ืคืืืขืก ืฆื ืื ืคืขืืืงืืึทื ืฆืืืื ื, ืืืึธืก ืืื ืืืขื ืื ืฆื ืื ืืื ืืขืจื ืขื. ืขืก ืืื ืืืืืืืง ืฆื ืืึธื ืึทื ืื ืืึทื ืืืขื ื ืึธืจ ืึทืจืืขืื ืืืื ืืืจ ืืจืึทื ืกืคึผืขืจืึทื ื ืคืึธืจืืืก ืื ืคึผืึธืจื, ืืึธืก ืืื, ืื ืื ืงืึทืืื ื ืคึผืึธืจื ืืืืฃ ืื ืืืคึผืก ืืืืึทืื ืื ืคึผืึธืจื ืคืื ืืื ืืืขืจ ืคืจืืงืกื. ืึทื ืืขืจืฉ ืืืจ ืืืขื ืืึธืื ืฆื ืืืึทืื ืึท ืืืกื ืืขืจ.
ืขืจืืขืฅ ืืืฆื ืึทืืฅ ืืึธื ืึธื ืืืืื ืืจืืขืื. ืืื ื ืึธืจ ืึท ืืืกื ืืืืืื: ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืืึทืื ืืืืขืจ ืึทื ืึทืืข ืงืึธื ืคืืืก iptables
ะธ route
ืืื ื ืืฉื ืคืึธืจืืขืฆื ื ืึธื ืื ืจืืกืืึทืจื. ืคึฟืึทืจ iptables
ืขืก ืืขื ืขื ืกืคึผืขืฆืืขื ืืขืงืขืก ืืื /etc/iptables/rules.v4
(ืืื ืืขื ืคืึทื ืคืื ืืืื ืื), ืึธืืขืจ ืคึฟืึทืจ ืจืืฅ ืึทืืฅ ืืื ืึท ืืืกื ืืขืจ ืงืึธืืคึผืืืฆืืจื. ืืื ืคึผืืฉื ืืื ืืื up/down
OpenVPN ืกืงืจืืคึผืก, ืืึธืืฉ ืืื ืืจืึทืืื ืืื ืงืขื ืืืื ืืขืืื ืืขืจ ืืืกืึทื ืืื.
ืืึทื ืืืืงืืขื ืคืึทืจืงืขืจ ืคืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืคึผืจืึทืงืกื
ืึทืืื, ืืืจ ืืึธืื ืึท ืคึผืจืึทืงืกื ืืื ืึธืืขื ืืึทืงืืืฉืึทื ืืื ืื ืืขืืขืื ืืึทื ื, ืฆืืืจืืืืขื ืืืจื ืึท ืกืืึทืืืง ืืืืึทืก IP ืึทืืจืขืก. ืึทืืข ืืืึธืก ืืืืืื ืืื ืฆื ื ืืฆื ืขืก ืืื ืจืืืขืจืขืงื ืคืึทืจืงืขืจ ืคึฟืื Spotify ืืึธืจื. ืึธืืขืจ ืขืก ืืื ืึท ื ืืึทื ืก, ืืื ืืขืจืืื ื ืืืืื, ืื ืืึธืืื-ืฉืคึผืจืืืืืึธืจื ืคึฟืึทืจ ืื ืคึผืจืึทืงืกื ืืื Spotify ืืื ื ืืฉื ืึทืจืืขืื, ืึทืืื ืืืจ ืืืขืื ืงืืงื ืคึฟืึทืจ ืืื ืฆื ืืึทืงืืืขื ืึทืจืื ืขืก.
ืฆื ืึธื ืืืืื ืืื, ืืึธืืืจ ืืขืืขื ืงืขื ืืืขืื
ืึธืืขืจ ืื ืคืจืืื ืืืขื ืืืื ืงืืจืฅ-ืืขืืขืื, ืืืืึทื ืขืก ืืืจื ืก ืืืืก ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืืขืื ืืืืึทื ืืึธืืข ืืื ืื ืื ืงืขืจื ืืงืกืืขื ืฉืึทื ื ืืื MacOS, ืืขืงืข ืึท ืคึผืฉืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืคึฟืึทืจืฉืืืื ืึทื ืื ืืขืฆืืึทื ืืื ืคึผืื ืงื ืื ืืขืืืข ืคึผืจืึธืืืขื ืืื Spotify: ืขืก ืงืขื ื ืืฉื ืคืึธืจื ืึธืืขื ืืึทืงืืืฉืึทื ืืึธืืื-ืคึผืึทืจืึธื ืืืืฃ ืกืึทืงืก-ืคึผืจืึธืงืกื.
ืขืจืืขืฅ ืึทืจืื ืืึธ ืขืก ืืื ืฆืืึทื ืฆื ืคืจืืง ืืื ืงืืืคื ืึท ืคึผืจืขืืืข ... ืึธืืขืจ ื ืื! ืืืืืจ ืคืจืืืืจื ืืขืื ืื ืืขื ืืื ืขืก ืคืืจืจืืืื, ืขืก ืืื ืืคืขื ืืงืืจ! ืืื ืก ืืึธื
ืื ืจ ืฐืขื ื ืื ื ืฐืืืข ืจ ืฆืขืจืืื . ืึธืืขืจ ืืขืืึธืื ืืืจ ืืืขืื ืืขืืขื ืงืขื ืืื ืืืขืจ ืืืื ื ืืื C, ืงืขืจ ืืืืฃ ืื ืืืืึทื ืืึธืืข ืืื Dante, ืืจืึธืื ืืืจื ืืื ืืขืจืืขืจ ืคืื ืงืืืืืืื ืคืื ืืึธืืก, ืืืื ืฆื
ืึธืืึทืืึทืืืง ืขืก
ืึทืืึธื Proximac ืึทืจืืขื, ืขืก ืืึทืจืฃ ืืืื ืืขืืึธื ืืืื ืืื ืคืืจืืขืกื. ืขืก ืืื ืึท ืืึทื ืฅ ืื ืืืืึทืืืืึทืืืึธื ืกืืกืืขื ืืืึธืก ืืื ืคึผืึทืกืืง ืคึฟืึทืจ ืืขื, ืืืึธืก ืืื ืืขืคึฟืื ืขื ืืื MacOS, ื ืืืืื
ืืืจ ืืขืคึฟืื ืขื ืขืก ืืขืฉืืืื ื systemd
ืืื ืืึธ ืขืก ืืื ืึผืืขื ืึท ืฉืขืคึผ ืืื xml
. ืงืืื ืคืึทื ืืึทืืืข ืงืึธื ืคืืืก ืคึฟืึทืจ ืืืจ, ืงืืื ืงืึทืืึทื ืื ืืื status
, restart
, daemon-reload
. ื ืึธืจ ืืึทืจืืงืึธืจ ืืื start-stop
, list-grep
, unload-load
ืืื ืคืืืข ืืขืจ ืืึธืื ืข. ืืึทืงืืืขื ืึทืืข ืืขื ืืืจ ืฉืจืืึทืื plist
, ืืึธืืืื ื. ืืจืืขื ื ืืฉื. ืืืจ ืืขืจื ืขื ืืขื ืืืคึฟื ืคืื ืืืืึทืืื ื ืื ืฉืขื, ืืืืึทื ืขืก, ืคึฟืึทืจืฉืืืื ืืืึธืก ืืื ืืึธืจื ENV
ืึทืคึฟืืื PATH
ืืืจ ืืึธืื ื ืืฉื ืืืืขืจืืขืืขืื ืืขื ื ืึธืจืืึทื, ืืืจ ืืขื ืื, ืืืจ ืืจืขื ืืขื ืขืก ืืื (ืึทืืื ื /sbin
ะธ /usr/local/bin
) ืืื ืืขืกืึธืฃ ืืืจ ืืขื ืขื ืฆืืคืจืืื ืืื ืึทืืืึธืกืืึทืจื ืืื ืกืืึทืืื ืึธืคึผืขืจืึทืฆืืข.
ืืืกืึธืืขืืขื
ืืืึธืก ืืื ืืขืจ ืจืขืืืืืึทื? ืึท ืืืึธื ืคืื ืคึผืึทืกืืจืื ื, ืึท ืงื ืืขื ืืึธืึธืืึธืืืฉืขืจ ืืึธืจืื ืคืื ืกืขืจืืืืกืขืก ืืืึธืก ืืื ืืืืขืจ ืฆื ืื ืืึทืจืฅ ืืื ืืื ืืืึธืก ืืื ืคืืจืืื ืื ืคืื ืืื. ื ืืืกื ืืืืกื ืืื ืกืึธืคืขืงืืืง ืืขืื ืืฉ ืืขืืืื, ืึท ืืืกื ืคืื ืึธืคึฟื ืืงืืจ ืืื ืึท ืฉืืืืื ืืืืฃ ืืืื ืคึผื ืื ืคืื ืื ืืขืืึทื ืง "ืืื ืืื ืขืก!"
ืคึผืก: ืืึธืก ืืื ื ืืฉื ืึท ืจืืฃ ืคึฟืึทืจ ืึท ืืืืงืึทื ืคืื ืงืึทืคึผืืืึทืืืกืฅ, ืคึฟืึทืจ ืฉืคึผืึธืจื ืืืืฃ ืฉืืืขืืขืืขื ืึธืืขืจ ืคึฟืึทืจ ืืึทื ืฅ ืืืืจืข, ืึธืืขืจ ื ืึธืจ ืึทื ืึธื ืืืืึทื ืคืื ืื ืคึผืึทืกืึทืืืืึทืืื ืคืื ืคืึธืจืฉืื ื ืืื ืึทื ืืืืืงืืื ื ืืื, ืืื ืึทืืืขืืืื, ืืืจ ืืึธื ื ืื ืืขืจืืืึทืจืื ืืื.
ืืงืืจ: www.habr.com