ΠŸΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Ρ€ΠΎΠ²Π½ΠΎΠΌ мСстС

ΠŸΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Ρ€ΠΎΠ²Π½ΠΎΠΌ мСстС

Как Spotify ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², RFC, сСтСй ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ опСнсорса. Или Ρ‡Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚, Ссли Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ получаСтся, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌΠ½Ρ‹Π΅ плюшки ΠΎΡ‡Π΅Π½ΡŒ хочСтся.

Начало

Π’Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ дня Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π‘ΠΏΠΎΡ‚ΠΈΡ„Π°ΠΉ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π° основании страны ip-адрСса. Π’Π°ΠΌ ΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… странах Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π΅ Π·Π°Π²Π΅Π·Π»ΠΈ совсСм. НапримСр, Π² Π Π‘. И Ρ‚ΡƒΡ‚ ΠΆΠ΅ созрСл «Π³Π΅Π½ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ» ΠΏΠ»Π°Π½ ΠΏΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π² Π½Π΅ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌΠ½ΠΎΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅.

НСмного ΠΏΡ€ΠΎ Spotify

Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, Ρƒ Бпотифая странная ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°. ΠΠ°ΡˆΠ΅ΠΌΡƒ Π±Ρ€Π°Ρ‚Ρƒ приходится изрядно ΠΈΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡƒΠΏΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ: ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ Π½Π° Π·Π°ΠΌΠΎΡ€ΡΠΊΡƒΡŽ, ΠΈΡΠΊΠ°Ρ‚ΡŒ подходящий Π³ΠΈΡ„Ρ‚ΠΊΠ°Ρ€Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ paypal-ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² послСднСС врСмя Ρ‡ΡƒΠ΄ΠΈΡ‚ ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²ΠΎΡ€ΠΎΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈΠ½ΠΎΠ³ΠΎ порядка. Π₯отя, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этим занимаСтся Ρ€Π°Π΄ΠΈ мобильной вСрсии, мСня таковая Π½Π΅ интСрСсуСт. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ всё Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС с дСсктопной вСрсиСй. Мало Ρ‚ΠΎΠ³ΠΎ, Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Волько ΠΎΡ‚Ρ€Π΅Π·Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»ΠΈΡˆΠ½ΠΈΡ….

А Ρ‡Π΅Π³ΠΎ слоТного?

И я Ρ‚Π°ΠΊ Π΄ΡƒΠΌΠ°Π», прописывая Π΄Π°Π½Π½Ρ‹Π΅ socks-proxy Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Spotify. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° оказалась Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ аутСнтификация Π² socks ΠΏΠΎ Π»ΠΎΠ³ΠΈΠ½Ρƒ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ. Плюс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ рСгулярно Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ крутят Π²ΠΎΠΊΡ€ΡƒΠ³ проксика: Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ, Ρ‚ΠΎ запрСщая, Ρ‚ΠΎ ломая Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Ρ†Π΅Π»Ρ‹Π΅ ΠΏΠΎΠ»ΠΎΡ‚Π½ΠΈΡ‰Π° обсуТдСний Π½Π° ΠΎΡ„Ρ„.сайтС.

Π‘Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π½Π°ΠΉΡ‚ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ΅ ΠΈ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ΅.

Π“Π΄Π΅-Ρ‚ΠΎ здСсь Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ: Π° Ρ‡Π΅Π³ΠΎ Π±Ρ‹ Π½Π΅ Π²Π·ΡΡ‚ΡŒ ssh с ΠΊΠ»ΡŽΡ‡ΠΈΠΊΠΎΠΌ -D ΠΈ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½Ρ†ΠΎΠΌ? И, Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π°Π². Но, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это Π΅Ρ‰Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ с autossh, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ рвущихся ΠΊΠΎΠ½Π΅ΠΊΡ‚Π°Ρ…. И Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…: это слишком просто ΠΈ скучно.

По-порядку

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, свСрху Π²Π½ΠΈΠ· ΠΈ опишСм всё Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ нашСй «ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ» Π·Π°Ρ‚Π΅ΠΈ.

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ΅Π½ прокси

И сразу ΠΌΠ½ΠΎΠ³ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²:

  • ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠΎΠΉΡ‚ΠΈ ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… проксилистов. Π”Ρ‘ΡˆΠ΅Π²ΠΎ (Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π΄Π°Ρ€ΠΎΠΌ), Π½ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ ΠΈ врСмя ΠΆΠΈΠ·Π½ΠΈ Ρ‚Π°ΠΊΠΈΡ… проксиков стрСмится ΠΊ Π½ΡƒΠ»ΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Π΄ΠΎ Π±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ/Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ парсСр прокси списков, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΈ странС ΠΈ вопрос подстановки Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ прокси Π² Spotify остаётся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ (Π½Ρƒ, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ, Ρ‡Π΅Ρ€Π΅Π· HTTP_PROXY ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΡΡ‚ΠΎΠΌΠ½ΡƒΡŽ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ для Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ° Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вСсь ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‚ΡƒΠ΄Π° ΠΆΠ΅ Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ).
  • МоТно ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ прокси ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ сСбя ΠΎΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Но ΠΏΡ€ΠΈ Ρ†Π΅Π½Π΅ прокси ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΊΡƒΠΏΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ Π½Π° Π‘ΠΏΠΎΡ‚ΠΈΡ„Π°ΠΉ, Π° это Π½Π΅ спортивно Π² Ρ€Π°ΠΌΠΊΠ°Ρ… исходной Π·Π°Π΄Π°Ρ‡ΠΈ.
  • ΠŸΠΎΠ΄Π½ΡΡ‚ΡŒ свой. Как Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, догадались β€” это наш Π²Ρ‹Π±ΠΎΡ€.

Чисто случайно ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ с сСрвСром Π² Π Π‘ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ нСбольшой странС. Π­Ρ‚ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°ΡΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Ρ‘ΠΌ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ проксик. ΠžΡΠΎΠ±Ρ‹Π΅ ΠΆΠ΅ Ρ†Π΅Π½ΠΈΡ‚Π΅Π»ΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠΌ с Ρ€ΠΎΡƒΡ‚Π΅ΠΌ Π½Π° DD-WRT ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ ПО. Но Ρ‚Π°ΠΌ свой Π΄ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠΈΡ€ ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈ сСго рассказа этот ΠΌΠΈΡ€ явно Π½Π΅ помСстится.

Π˜Ρ‚Π°ΠΊ, наши Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: Squid β€” Π½Π΅ вдохновляСт, Π΄Π° ΠΈ Π½Π΅ хочСтся HTTP-проксик, сСго ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ Ρ‚Π°ΠΊ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΊΡ€ΡƒΠ³. А Π² области SOCKS Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ Dante ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Π·Π»ΠΈ. ΠŸΠΎΡΠ΅ΠΌΡƒ, Π±Π΅Ρ€Ρ‘ΠΌ Π΅Π³ΠΎ.

ΠœΠ°Π½ΡƒΠ»Π° ΠΏΠΎ установкС ΠΈ настройкС Π”Π°Π½Ρ‚Π΅ Π½Π΅ ΠΆΠ΄ΠΈΡ‚Π΅. Он просто гуглится ΠΈ особого интСрСса Π½Π΅ прСдставляСт. Π’ минимальной ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΠΈ Π½Π°Π΄ΠΎ Π½Π°ΠΊΠΈΠ΄Π°Ρ‚ΡŒ всяких client pass, socks pass, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ интСрфСйсы Π΄Π° Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ socksmethod: username. Π’ Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ логопас Π±ΡƒΠ΄Π΅Ρ‚ Π±Ρ€Π°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ систСмы. А Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: Π·Π°ΠΏΡ€Π΅Ρ‚ доступа ΠΊ локалхосту, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡŽΠ·Π΅Ρ€Π°ΠΌ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅ β€” это ΡƒΠΆΠ΅ чисто ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² зависимости ΠΎΡ‚ Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π½ΠΎΠΉΠΈ.

Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ прокси Π»ΠΈΡ†ΠΎΠΌ Π² ΡΠ΅Ρ‚ΡŒ

Π‘ΠΏΠ΅ΠΊΡ‚Π°ΠΊΠ»ΡŒ Π² Π΄Π²ΡƒΡ… Π°ΠΊΡ‚Π°Ρ….

Акт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ

Π‘ прокси Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ ΠΈΠ· глобальной ΠΏΠ°ΡƒΡ‚ΠΈΠ½Ρ‹. Если Ρƒ вас Π΅ΡΡ‚ΡŒ машинка с Π±Π΅Π»Ρ‹ΠΌ IP Π² Π½ΡƒΠΆΠ½ΠΎΠΉ странС, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ смСло ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этот ΠΏΡƒΠ½ΠΊΡ‚. Π£ нас ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ Π½Π΅Ρ‚ (ΠΌΡ‹, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, хостимся Ρƒ Π΄Ρ€ΡƒΠ·Π΅ΠΉ Π΄ΠΎΠΌΠ°) ΠΈ блиТайший Π±Π΅Π»Ρ‹ΠΉ Π°ΠΉΠΏΠΈ Π³Π΄Π΅-Ρ‚ΠΎ Π² Π“Π΅Ρ€ΠΌΠ°Π½ΠΈΠΈ, поэтому Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ сСти.

Π’Π°ΠΊΠΈ Π΄Π°, Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ снова Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ: Π° Ρ‡Π΅Π³ΠΎ Π±Ρ‹ Π²Π°ΠΌ Π½Π΅ Π²Π·ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСрвис Ρ‚ΠΈΠΏΠ° ngrok ΠΈΠ»ΠΈ Π΅ΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ? И снова Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π°Π². Но вСдь это сСрвис, Π΅Π³ΠΎ ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π΄Π΅Π½Π΅Π³ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ это Π½Π΅ спортивно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ вСлосипСды ΠΈΠ· ΠΏΠΎΠ΄Ρ€ΡƒΡ‡Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ².

Π—Π°Π΄Π°Ρ‡Π°: Π΅ΡΡ‚ΡŒ прокси Π³Π΄Π΅-Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° NAT-ΠΎΠΌ, Π½Π°Π΄ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅ΡΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡ€Ρ‚ΠΎΠ² VPS, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ Π±Π΅Π»Ρ‹ΠΉ IP ΠΈ располоТСнной Π½Π° ΠΊΡ€Π°ΡŽ свСта.

Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π»ΠΈΠ±ΠΎ пробросом ΠΏΠΎΡ€Ρ‚Π° (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΉ ssh), Π»ΠΈΠ±ΠΎ объСдинСниСм ΠΆΠ΅Π»Π΅Π·ΠΎΠΊ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· VPN. Π‘ ssh Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠΌΠ΅Π΅ΠΌ, autossh Π±Ρ€Π°Ρ‚ΡŒ скучно, поэтому Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ OpenVPN.

Π£ DigitalOcean Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Π½ΡƒΠ» ΠΏΠΎ этому Π΄Π΅Π»Ρƒ. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠ½Π΅ Π½Π΅Ρ‡Π΅Π³ΠΎ. А ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΌΠΎΠΆΠ½ΠΎ довольно Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ OpenVPN ΠΈ systemd. Достаточно ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ (ΠΊΠΎΠ½Ρ„ΠΈΠ³) Π² /etc/openvpn/client/ ΠΈ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° .conf. ПослС этого Π΄Ρ‘Ρ€Π½ΡƒΡ‚ΡŒ слуТбу [email protected], Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Π½Π΅Ρ‘ enable ΠΈ Ρ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ всё ΠΏΠΎΠ»Π΅Ρ‚Π΅Π»ΠΎ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ любоС ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² свСТСсозданный VPN, вСдь ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΡ€Π΅Π·Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° клиСнской машинС Π·Π° счёт ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»ΡˆΠ°Ρ€ΠΈΠΊΠ°.

И Π΄Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ статичСский ip-адрСс Π½Π° VPN-сСрвСрС для нашСго ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ понадобится Ρ‡ΡƒΡ‚ΡŒ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ ΠΏΠΎΠ²Π΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡŽ. Для этого Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ifconfig-pool-persist, ΠΏΠΎΡ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π²Ρ‚ΡŒ ipp.txt, ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с OpenVPN ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ client-config-dir, плюс ΠΏΠΎΡ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ifconfig-push с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ маской ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ IP-адрСсом.

Акт Π²Ρ‚ΠΎΡ€ΠΎΠΉ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π² «ΡΠ΅Ρ‚ΠΈ» Π΅ΡΡ‚ΡŒ машина, которая ΠΏΠΎΠ²Ρ‘Ρ€Π½ΡƒΡ‚Π° Π»ΠΈΡ†ΠΎΠΌ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈ Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² корыстных цСлях. А ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Ρ‘.

Π˜Ρ‚Π°ΠΊ, новая Π·Π°Π΄Π°Ρ‡Π°: Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΏΡ€ΠΈΠ»Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡ€Ρ‚ΠΎΠ² VPS с Π±Π΅Π»Ρ‹ΠΌ Π°ΠΉΠΏΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΡƒΠ»Π΅Ρ‚Π΅Π» Π² ΡΠ²Π΅ΠΆΠ΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ смог ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ.

Бпособ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ iptables! Когда Π΅Ρ‰Ρ‘ прСдставится такая Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ с Π½ΠΈΠΌ ΠΏΠΎΡƒΠΏΡ€Π°ΠΆΠ½ΡΡ‚ΡŒΡΡ?

НуТна конфигурация находится довольно скоро, Π·Π° Ρ‚Ρ€ΠΎΠΉΠΊΡƒ часов, ΡΠΎΡ‚Π½ΡŽ Π±Ρ€Π°Π½Π½Ρ‹Ρ… слов ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΡ€ΡˆΠ½ΡŽ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π½Π΅Ρ€Π²ΠΎΠ², ΠΈΠ±ΠΎ Π΄Π΅Π±Π°Π³ сСтСй β€” это ΠΎΡ‡Π΅Π½ΡŒ спСцифичСская ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ядрС. Π­Ρ‚Π° ΡˆΡ‚ΡƒΠΊΠ° называСтся ipv4.ip_forward ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ ОБ ΠΈ сСтСвого ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚, Π½Π° VPS ΠΈ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ Π½Π° Π½Π΅Π³ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄ΡΠ΅Ρ‚ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ пСрСнаправляСм вСсь TCP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠΉ Π½Π° ΠΏΠΎΡ€Ρ‚ 8080 внСшнСго интСрфСйса Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Π°ΠΉΠΏΠΈ 10.8.0.2 ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡ€Ρ‚ 8080.

Π’Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ грязных подробностСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ netfilter, iptables ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π°, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΅Ρ€Ρ†Π°Ρ‚ΡŒ это ΠΈΠ»ΠΈ это.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡƒΠ»Π΅Ρ‚Π°ΡŽΡ‚ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄ΡΠ΅Ρ‚ΡŒ и… Ρ‚Π°ΠΌ ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ. Π’ΠΎΡ‡Π½Π΅Π΅ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ socks-прокси ΡƒΠ»Π΅Ρ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ gateway Π½Π° машинС с Dante ΠΈ адрСсат Π΅Π³ΠΎ Π΄Ρ€ΠΎΠΏΠ°Π΅Ρ‚, ΠΈΠ±ΠΎ Π² сСтях Π½Π΅ принято ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запрос Π½Π° ΠΎΠ΄ΠΈΠ½ IP, Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ β€” с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. ΠŸΠΎΡΠ΅ΠΌΡƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ»Π΄ΠΎΠ²Π°Ρ‚ΡŒ дальшС.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‚ проксика ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄ΡΠ΅Ρ‚ΡŒ Π² сторону VPS с Π±Π΅Π»Ρ‹ΠΌ 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 (Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΎΠΌΠ΅Ρ€ Π½ΠΈ ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ Π½Π΅ зависит, просто Ρ‚Π°ΠΊ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ) ΠΈ добавляСм СдинствСнноС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, попавшиС Π² эту Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΡƒΠ»Π΅Ρ‚Π°ΡŽΡ‚ Π² ΠΏΠΎΠ΄ΡΠ΅Ρ‚ΡŒ VPN.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡƒΠ»Π΅Ρ‚Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² сторону VPS… ΠΈ ΡƒΠΌΠΈΡ€Π°ΡŽΡ‚ Ρ‚Π°ΠΌ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 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 заворачиваСтся Π² source-NAT ΠΈ ΡƒΠ»Π΅Ρ‚Π°Π΅Ρ‚ Π² Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ эта ΡˆΡ‚ΡƒΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΌΡ‹ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ пробрасываСм ΠΏΠΎΡ€Ρ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ входящий ΠΏΠΎΡ€Ρ‚ Π½Π° VPS совпадаСт с ΠΏΠΎΡ€Ρ‚ΠΎΠΌ нашСго прокси. Π˜Π½Π°Ρ‡Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ Ρ‡ΡƒΡ‚ΡŒ большС.

Π“Π΄Π΅-Ρ‚ΠΎ сСйчас всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. И останСтся самая ΠΌΠ°Π»ΠΎΡΡ‚ΡŒ: Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ iptables ΠΈ route Π½Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»Π±Π°Π»ΠΈΡΡŒ послС рСстарта. Для iptables Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΈΠΊΠΈ Ρ‚ΠΈΠΏΠ° /etc/iptables/rules.v4(Π² случаС Ubuntu), Π° для Ρ€ΠΎΡƒΡ‚ΠΎΠ² всё Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС. Π― ΠΈΡ… Π·Π°Ρ‚ΠΎΠ»ΠΊΠ°Π» Π² up/down скрипты OpenVPN-Π°, хотя, думаСтся ΠΌΠ½Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈ ΠΏΠΎΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Π΅Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π—Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚ прилоТСния Π² proxy

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ прокси с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π² Π½ΡƒΠΆΠ½ΠΎΠΉ странС, доступный ΠΏΠΎ статичСскому Π±Π΅Π»ΠΎΠΌΡƒ IP-адрСсу. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚ Spotify. Но Π΅ΡΡ‚ΡŒ нюанс, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, Π»ΠΎΠ³ΠΈΠ½-ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для проксика Π² Π‘ΠΏΠΎΡ‚ΠΈΡ„Π°Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, поэтому Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ.

Для Π½Π°Ρ‡Π°Π»Π°, вспомним ΠΏΡ€ΠΎ proxifier. ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΡˆΡ‚ΡƒΠΊΠ°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стоит ΠΊΠ°ΠΊ Π·Π²Π΅Π·Π΄ΠΎΠ»Ρ‘Ρ‚ (40$). ΠœΡ‹ Π·Π° эти дСньги снова ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΡƒΠΏΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ ΠΈ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½Ρ†ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠΈΡ‰Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ бСсплатныС ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ Π½Π° ΠΌΠ°ΠΊ (Ρ‚Π°ΠΊΠΈ Π΄Π°, ΠΌΡ‹ ΠΆΠ΅ Π½Π° ΠΌΠ°ΠΊΠ΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΌΡƒΠ·Ρ‹ΠΊΡƒ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ). ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠΌ Ρ†Π΅Π»Ρ‹ΠΉ ΠΎΠ΄ΠΈΠ½ инструмСнт: proximac. И радостно ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ Π΅Π³ΠΎ Ρ‚Ρ‹ΠΊΠ°Ρ‚ΡŒ.

Но Ρ€Π°Π΄ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠΉ, ΠΈΠ±ΠΎ окаТСтся, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Π΄Π΅Π±Π°Π³Π° ΠΈ кастомныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ядра Π² MacOS, Π·Π°ΠΏΠΈΠ»ΠΈΡ‚ΡŒ нСслоТный ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ этой Ρ‚ΡƒΠ»Π·Ρ‹ Ρ€ΠΎΠ²Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ Spotify: ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠ½Ρƒ-ΠΏΠ°Ρ€ΠΎΠ»ΡŽ Π½Π° socks-proxy.

Π“Π΄Π΅-Ρ‚ΠΎ здСсь ΠΏΠΎΡ€Π° ΠΏΡΠΈΡ…Π°Π½ΡƒΡ‚ΡŒ ΠΈ Ρ‚Π°ΠΊΠΈ ΠΊΡƒΠΏΠΈΡ‚ΡŒ прСмиум… Π½ΠΎ Π½Π΅Ρ‚! ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ, этоТ опСнсорс! Π”Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΈΠΊΠ΅Ρ‚. И Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄ΡƒΡˆΠ΅Ρ‰ΠΈΠΏΠ°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ СдинствСнного мэйнтСйнСра большС Π½Π΅Ρ‚ ΠΌΠ°ΠΊΠ±ΡƒΠΊΠ° ΠΈ Ρ…Ρ€Π΅Π½ Π²Π°ΠΌ, Π° Π½Π΅ фикс.

Π‘Π½ΠΎΠ²Π° расстроимся. Но ΠΏΠΎΡ‚ΠΎΠΌ вспомним ΠΌΠΎΠ»ΠΎΠ΄ΠΎΡΡ‚ΡŒ ΠΈ Π‘ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π΄Π΅Π±Π°Π³ Ρ€Π΅ΠΆΠΈΠΌ Π² Dante, покопаСмся Π² сотнС ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ Π»ΠΎΠ³ΠΎΠ², сходим Π² RFC1927 Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ SOCKS5, разбСрёмся с Xcode ΠΈ Ρ‚Π°ΠΊΠΈ Π½Π°ΠΉΠ΄Ρ‘ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Достаточно ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ символ Π² спискС ΠΊΠΎΠ΄ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ всё Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°ΠΊ часы. РадуСмся, собираСм Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ, Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡƒΠ»-рСквСст ΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΠΌ Π² Π·Π°ΠΊΠ°Ρ‚ ΠΈΠ΄Ρ‘ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ.

Автоматизируй это

Π Π°Π· Proximac Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π», Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎ Π½Π΅Π³ΠΎ. Для этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ цСлая ΠΎΠ΄Π½Π° систСма ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, которая Π΅ΡΡ‚ΡŒ Π² MacOS, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ launchd.

Быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠ°Π½ΡƒΠ°Π» ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это совсСм Π½Π΅ systemd ΠΈ Ρ‚ΡƒΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ совок ΠΈ xml. Никаких Ρ‚Π΅Π±Π΅ красивых ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ², Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΈΠ΄Π° status, restart, daemon-reload. Волько Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€ Π²ΠΈΠ΄Π° start-stop, list-grep, unload-load ΠΈ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ странностСй. ΠŸΡ€Π΅Π²ΠΎΠ·ΠΌΠΎΠ³Π°Ρ всё это пишСм plist, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ. НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ способ Π΄Π΅Π±Π°Π³Π° Π΄Π΅ΠΌΠΎΠ½Π°, Π΄Π΅Π±Π°ΠΆΠΈΠΌ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π² ENV Π΄Π°ΠΆΠ΅ PATH Π½Π΅ Π·Π°Π²Π΅Π·Π»ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ, ругаСмся, Π·Π°Π²ΠΎΠ·ΠΈΠΌ (добавляя /sbin ΠΈ /usr/local/bin) ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ радуСмся автостарту ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.

Π’Ρ‹Π΄Ρ‹Ρ…Π°Π΅ΠΌ

Π§Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅? НСдСля ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π½Π°ΠΊΠΎΠ»Π΅Π½ΠΎΡ‡Π½Ρ‹ΠΉ Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊ ΠΈΠ· сСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΡ€ΠΎΠ³ сСрдцу ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ трСбуСтся. НСмного Π·Π½Π°Π½ΠΈΠΉ Π² ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… тСхничСских областях, капСлька опСнсорса ΠΈ ΡƒΠ»Ρ‹Π±ΠΊΠ° Π½Π° Π»ΠΈΡ†Π΅ ΠΎΡ‚ мысли «Π― сдСляль!»

P.S.: это Π½Π΅ ΠΏΡ€ΠΈΠ·Ρ‹Π² ΠΊ Π±Π°ΠΉΠΊΠΎΡ‚Ρƒ капиталистов, ΠΊ экономии Π½Π° спичках ΠΈΠ»ΠΈ ΠΊ Ρ‚ΠΎΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ хитропопости, Π° всСго лишь ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° возмоТности исслСдования ΠΈ развития Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΈΡ…, Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, Π½Π΅ оТидаСшь.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com