Журнал LinuxFormat - перейти на главную

LXF162:Raspberry Pi

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Raspberry Pi: SSH-тун­нель)
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
 
[[Категория: Учебники]]   
 
[[Категория: Учебники]]   
 +
[[Категория: Компьютер]]
  
 
'''Raspberry Pi. Нач­ни­те зна­ком­ст­во с Linux и но­вым кар­ман­ным ком­пь­ю­те­ром.'''
 
'''Raspberry Pi. Нач­ни­те зна­ком­ст­во с Linux и но­вым кар­ман­ным ком­пь­ю­те­ром.'''
Строка 12: Строка 13:
 
На этом уро­ке мы по­ка­жем вам, как соз­дать SSH-туннель в Paspberry Pi. Эта тех­но­ло­гия по­мо­жет вам одо­леть цен­зо­ров и шпио­нов! Raspberry Pi пре­крас­но под­хо­дит для это­го. Так как он сто­ит недо­ро­го и ра­бо­та­ет бес­шум­но, его мож­но про­сто дер­жать на пол­ке, по­ка он не по­на­до­бит­ся.
 
На этом уро­ке мы по­ка­жем вам, как соз­дать SSH-туннель в Paspberry Pi. Эта тех­но­ло­гия по­мо­жет вам одо­леть цен­зо­ров и шпио­нов! Raspberry Pi пре­крас­но под­хо­дит для это­го. Так как он сто­ит недо­ро­го и ра­бо­та­ет бес­шум­но, его мож­но про­сто дер­жать на пол­ке, по­ка он не по­на­до­бит­ся.
  
Raspbian
+
===Raspbian===
  
 
Ес­ли вы сле­ди­те за этой се­ри­ей с са­мо­го на­ча­ла, воз­мож­но, у вас еще остал­ся ис­ход­ный об­раз Debian, ко­то­рым мы поль­зо­ва­лись в пер­вой ста­тье. Од­на­ко Raspberry Pi Foundation не сто­ит на мес­те и недав­но вы­пусти­ла но­вую опе­ра­ци­он­ную сис­те­му на осно­ве ди­ст­ри­бу­ти­ва Raspbian.
 
Ес­ли вы сле­ди­те за этой се­ри­ей с са­мо­го на­ча­ла, воз­мож­но, у вас еще остал­ся ис­ход­ный об­раз Debian, ко­то­рым мы поль­зо­ва­лись в пер­вой ста­тье. Од­на­ко Raspberry Pi Foundation не сто­ит на мес­те и недав­но вы­пусти­ла но­вую опе­ра­ци­он­ную сис­те­му на осно­ве ди­ст­ри­бу­ти­ва Raspbian.
Строка 26: Строка 27:
 
Здесь mmcblk0 – уст­рой­ст­во, со­от­вет­ст­вую­щее SD-кар­те. Пе­ред запуском команды заранее соз­дай­те ре­зерв­ную ко­пию, так как команда за­пи­сы­ва­ет ну­ли на весь диск, де­лая все су­ще­ст­вую­щие дан­ные невосста­но­ви­мы­ми.
 
Здесь mmcblk0 – уст­рой­ст­во, со­от­вет­ст­вую­щее SD-кар­те. Пе­ред запуском команды заранее соз­дай­те ре­зерв­ную ко­пию, так как команда за­пи­сы­ва­ет ну­ли на весь диск, де­лая все су­ще­ст­вую­щие дан­ные невосста­но­ви­мы­ми.
  
Пор­ты
+
===Пор­ты===
  
 
Пре­ж­де чем восполь­зо­вать­ся SSH-туннелем, объ­ясним идею, ле­жа­щую в его осно­ве.
 
Пре­ж­де чем восполь­зо­вать­ся SSH-туннелем, объ­ясним идею, ле­жа­щую в его осно­ве.
Строка 34: Строка 35:
 
Боль­шин­ст­во из вас зна­ют, что та­кое IP-ад­рес. Это чис­ло (на­при­мер, 192.168.133.20), ко­то­рое яв­ля­ет­ся уникаль­ным иден­ти­фи­ка­то­ром ком­пь­ю­те­ра в се­ти, точ­но так же, как поч­то­вый ад­рес иден­ти­фи­ци­ру­ет ваш дом. Но пор­ты зна­ко­мы нам чуть ху­же.
 
Боль­шин­ст­во из вас зна­ют, что та­кое IP-ад­рес. Это чис­ло (на­при­мер, 192.168.133.20), ко­то­рое яв­ля­ет­ся уникаль­ным иден­ти­фи­ка­то­ром ком­пь­ю­те­ра в се­ти, точ­но так же, как поч­то­вый ад­рес иден­ти­фи­ци­ру­ет ваш дом. Но пор­ты зна­ко­мы нам чуть ху­же.
  
За­да­ем порт
+
===За­да­ем порт===
  
 
Так же как в од­ном до­ме обыч­но жи­вет несколь­ко че­ло­век, и ка­ж­дый из них ждет свою поч­ту, на ка­ж­дом ком­пь­ю­те­ре есть мно­го раз­ных сер­ви­сов, ожи­даю­щих под­клю­чения непо­сред­ст­вен­но к ним. В ре­аль­ном ми­ре мы ад­ре­су­ем поч­ту кон­крет­но­му чело­ве­ку, по­ло­жив ее в кон­верт с его именем, а в ком­пь­ю­тер­ной се­ти мы ука­зы­ва­ем кон­крет­ный порт, к ко­то­ро­му намереваемся под­клю­чить­ся.
 
Так же как в од­ном до­ме обыч­но жи­вет несколь­ко че­ло­век, и ка­ж­дый из них ждет свою поч­ту, на ка­ж­дом ком­пь­ю­те­ре есть мно­го раз­ных сер­ви­сов, ожи­даю­щих под­клю­чения непо­сред­ст­вен­но к ним. В ре­аль­ном ми­ре мы ад­ре­су­ем поч­ту кон­крет­но­му чело­ве­ку, по­ло­жив ее в кон­верт с его именем, а в ком­пь­ю­тер­ной се­ти мы ука­зы­ва­ем кон­крет­ный порт, к ко­то­ро­му намереваемся под­клю­чить­ся.
Строка 47: Строка 48:
  
 
Луч­ше все­го объ­яснить это на при­ме­ре. Пред­ставь­те, что у нас два ком­пь­ю­те­ра: но­ут­бук в ка­фе (laptop), где доступ к Ин­тернету ог­раничен про­кси-сер­ве­ром (про­грам­мой, ко­то­рая уме­ет фильт­ро­вать ин­тернет-тра­фик) и нель­зя зай­ти на сайт example.com, и pi – Raspberry Pi с неог­раничен­ным досту­пом в Ин­тернет до­ма. У но­ут­бу­ка есть доступ к pi.
 
Луч­ше все­го объ­яснить это на при­ме­ре. Пред­ставь­те, что у нас два ком­пь­ю­те­ра: но­ут­бук в ка­фе (laptop), где доступ к Ин­тернету ог­раничен про­кси-сер­ве­ром (про­грам­мой, ко­то­рая уме­ет фильт­ро­вать ин­тернет-тра­фик) и нель­зя зай­ти на сайт example.com, и pi – Raspberry Pi с неог­раничен­ным досту­пом в Ин­тернет до­ма. У но­ут­бу­ка есть доступ к pi.
 
+
[[Файл:LXF162.tut_rpi2.png |left |500px |thumb| SSH-тун­нель соз­да­ет за­щи­щен­ное со­еди­не­ние ме­ж­ду дву­мя ком­пь­ю­те­ра­ми, с по­мо­щью ко­то­ро­го мож­но обой­ти про­кси и дру­гие фильт­ры.]]
Туннели­ру­ем со­единение
+
===Туннели­ру­ем со­единение===
  
 
Что­бы от­крыть example.com с но­ут­бу­ка, по­на­до­бит­ся соз­дать туннель, т. е. пе­ре­на­пра­вить на­ше под­клю­чение че­рез pi. SSH-туннель та­кое по­зво­ля­ет.
 
Что­бы от­крыть example.com с но­ут­бу­ка, по­на­до­бит­ся соз­дать туннель, т. е. пе­ре­на­пра­вить на­ше под­клю­чение че­рез pi. SSH-туннель та­кое по­зво­ля­ет.
Строка 55: Строка 56:
  
 
У та­ко­го под­хо­да два пре­иму­ще­ст­ва. Во-пер­вых, как и при обыч­ном SSH-со­единении, тра­фик те­перь на­прав­ля­ет­ся по за­щи­щен­но­му со­единению, то есть никто в локаль­ной се­ти не смо­жет под­смот­реть за на­ми и ук­расть име­на поль­зо­ва­те­лей и па­ро­ли. Досто­ин­ст­во туннели­ро­вания в том, что оно по­зво­ля­ет де­лать это с лю­бым ви­дом web-тра­фи­ка, не толь­ко с обо­лоч­ка­ми. Во-вто­рых, это по­зво­ля­ет обой­ти фильт­ра­цию со­дер­жи­мо­го сай­тов в локаль­ной се­ти. Ес­ли мар­шру­ти­за­тор, за ко­то­рым на­хо­дит­ся локаль­ная сеть, фильт­ру­ет тра­фик на example.com, пе­ре­на­прав­ляя со­единение че­рез неот­фильт­ро­ван­ный порт на неот­фильт­ро­ван­ный ком­пь­ю­тер, в локаль­ной се­ти та­кие ог­раничения мож­но обой­ти. Для это­го нуж­но убе­дить­ся, что SSH уста­нов­лен и за­пу­щен в ви­де сер­ви­са на laptop и pi. На pi для это­го доста­точ­но от­крыть ути­ли­ту raspi-config и вы­брать оп­цию SSH (ес­ли у вас по­след­няя вер­сия Raspbian).
 
У та­ко­го под­хо­да два пре­иму­ще­ст­ва. Во-пер­вых, как и при обыч­ном SSH-со­единении, тра­фик те­перь на­прав­ля­ет­ся по за­щи­щен­но­му со­единению, то есть никто в локаль­ной се­ти не смо­жет под­смот­реть за на­ми и ук­расть име­на поль­зо­ва­те­лей и па­ро­ли. Досто­ин­ст­во туннели­ро­вания в том, что оно по­зво­ля­ет де­лать это с лю­бым ви­дом web-тра­фи­ка, не толь­ко с обо­лоч­ка­ми. Во-вто­рых, это по­зво­ля­ет обой­ти фильт­ра­цию со­дер­жи­мо­го сай­тов в локаль­ной се­ти. Ес­ли мар­шру­ти­за­тор, за ко­то­рым на­хо­дит­ся локаль­ная сеть, фильт­ру­ет тра­фик на example.com, пе­ре­на­прав­ляя со­единение че­рез неот­фильт­ро­ван­ный порт на неот­фильт­ро­ван­ный ком­пь­ю­тер, в локаль­ной се­ти та­кие ог­раничения мож­но обой­ти. Для это­го нуж­но убе­дить­ся, что SSH уста­нов­лен и за­пу­щен в ви­де сер­ви­са на laptop и pi. На pi для это­го доста­точ­но от­крыть ути­ли­ту raspi-config и вы­брать оп­цию SSH (ес­ли у вас по­след­няя вер­сия Raspbian).
 +
{{Врезка|right|Заголовок= Что та­кое SSH?|Ширина=40%|Содержание=Ес­ли Raspberry Pi у вас не пер­вый день, то вы зна­ко­мы с команд­ной стро­кой, она же – обо­лоч­ка. При пер­вом за­пуске Pi по­яв­ля­ет­ся чер­но-бе­лый эк­ран, где нуж­но на­брать свое имя поль­зо­ва­те­ля и па­роль. За­тем вы пре­достав­ляе­тесь са­мим се­бе и мо­же­те вы­полнять всякие дей­ст­вия – вво­дить ко­ман­ды за­пуска гра­фи­че­­ско­­го ин­тер­фей­са, ре­дак­ти­ро­вания тек­сто­вых фай­лов или за­пуска брау­зе­ра вро­де ELinks. SSH – со­кра­щение от “secure shell [за­щи­щен­ная обо­лоч­ка]”. Через нее мож­но безо­пас­но вхо­дить на уда­лен­ный ком­пь­ю­тер – под­клю­чение бу­дет за­щи­щен­ным, т. е. никто не смо­жет от­следи­ть пе­ре­сы­лае­мые дан­ные, будь то имя поль­зо­ва­те­ля и па­роль, фай­лы или ин­тернет-ад­ре­са и cookies. По су­ти это со­вре­мен­ная, за­щи­щен­ная вер­сия ста­рых ути­лит уда­лен­но­го под­клю­чения к сис­те­ме, типа telnet и rlogin.
 +
 +
> SSH-тун­нель соз­да­ет за­щи­щен­ное со­еди­не­ние ме­ж­ду дву­мя ком­пь­ю­те­ра­ми, с по­мо­щью ко­то­ро­го мож­но обой­ти про­кси и дру­гие фильт­ры.
 +
 +
> С по­мо­щью об­рат­но­го тун­не­ля мож­но про­ник­нуть внутрь за­щи­щен­ных се­тей. Толь­ко пре­ду­пре­ди­те свой IT-от­дел, а не то дос­та­ви­те ему бес­по­кой­ст­во.}}
  
 
На но­ут­бу­ке на­строй­ка за­ви­сит от ди­ст­ри­бу­ти­ва. Для на­строй­ки SSH в Fedora вы­пол­ни­те ко­ман­ды:
 
На но­ут­бу­ке на­строй­ка за­ви­сит от ди­ст­ри­бу­ти­ва. Для на­строй­ки SSH в Fedora вы­пол­ни­те ко­ман­ды:
Строка 74: Строка 80:
 
Ес­ли на но­ут­бу­ке стоит Windows, по­на­до­бит­ся Putty или Cygwin, но обе эти про­грам­мы вы­хо­дят за рам­ки на­шей ста­тьи.
 
Ес­ли на но­ут­бу­ке стоит Windows, по­на­до­бит­ся Putty или Cygwin, но обе эти про­грам­мы вы­хо­дят за рам­ки на­шей ста­тьи.
  
Соз­да­ние тун­не­ля
+
===Соз­да­ние тун­не­ля===
  
 
Сде­лав это, вы­пол­ни­те сле­дую­щую ко­ман­ду для соз­да­ния тун­не­ля:
 
Сде­лав это, вы­пол­ни­те сле­дую­щую ко­ман­ду для соз­да­ния тун­не­ля:
Строка 92: Строка 98:
 
Мож­но лег­ко из­менить на­строй­ки, что­бы поль­зо­вать­ся и дру­ги­ми сер­ви­са­ми, а не толь­ко web-тра­фи­ком. На­при­мер, ес­ли на pi есть соб­ст­вен­ный поч­то­вый сер­вер (SMTP), мож­но из­менить example.com на localhost и 80 на 25, и все бу­дет го­то­во. За­тем, вме­сто то­го, что­бы вво­дить спе­ци­аль­ный ад­рес в брау­зе­ре, нуж­но из­менить неко­то­рые на­строй­ки в поч­то­вом кли­ен­те.
 
Мож­но лег­ко из­менить на­строй­ки, что­бы поль­зо­вать­ся и дру­ги­ми сер­ви­са­ми, а не толь­ко web-тра­фи­ком. На­при­мер, ес­ли на pi есть соб­ст­вен­ный поч­то­вый сер­вер (SMTP), мож­но из­менить example.com на localhost и 80 на 25, и все бу­дет го­то­во. За­тем, вме­сто то­го, что­бы вво­дить спе­ци­аль­ный ад­рес в брау­зе­ре, нуж­но из­менить неко­то­рые на­строй­ки в поч­то­вом кли­ен­те.
  
Об­рат­ные туннели
+
===Об­рат­ные туннели===
  
 
SSH уме­ет соз­да­вать и дру­гие туннели. Крат­ко рас­смот­рим их. Ес­ли в пре­ды­ду­щем при­ме­ре у нас бы­ло пе­ре­на­прав­ление локаль­но­го пор­та (-L), сле­дую­щий мож­но на­звать пе­ре­на­прав­лением уда­лен­но­го пор­та.
 
SSH уме­ет соз­да­вать и дру­гие туннели. Крат­ко рас­смот­рим их. Ес­ли в пре­ды­ду­щем при­ме­ре у нас бы­ло пе­ре­на­прав­ление локаль­но­го пор­та (-L), сле­дую­щий мож­но на­звать пе­ре­на­прав­лением уда­лен­но­го пор­та.
Строка 99: Строка 105:
  
 
Что­бы обой­ти этот бранд­мау­эр сна­ру­жи, мож­но соз­дать об­рат­ный туннель с pi на laptop. За­тем с по­мо­щью это­го туннеля но­ут­бук мо­жет проник­нуть внутрь за­щи­щен­ной бранд­мау­эром се­ти че­рез pi и об­ра­тить­ся к internal.example.com.
 
Что­бы обой­ти этот бранд­мау­эр сна­ру­жи, мож­но соз­дать об­рат­ный туннель с pi на laptop. За­тем с по­мо­щью это­го туннеля но­ут­бук мо­жет проник­нуть внутрь за­щи­щен­ной бранд­мау­эром се­ти че­рез pi и об­ра­тить­ся к internal.example.com.
 
+
[[Файл:LXF162.tut_rpi3.png | |thumb|400px|С по­мо­щью об­рат­но­го тун­не­ля мож­но про­ник­нуть внутрь за­щи­щен­ных се­тей. Толь­ко пре­ду­пре­ди­те свой IT-от­дел, а не то дос­та­ви­те ему бес­по­кой­ст­во.]]
 
Для это­го на pi вы­пол­ня­ет­ся ко­ман­да
 
Для это­го на pi вы­пол­ня­ет­ся ко­ман­да
  
Строка 116: Строка 122:
 
Не­ко­то­рые спе­циа­ли­сты в об­лас­ти безо­пас­но­сти ис­поль­зу­ют имен­но эту тех­но­ло­гию для про­вер­ки кор­по­ра­тив­ных се­тей на проч­ность. С по­мо­щью ме­то­дов со­ци­аль­ной ин­женерии они про­но­сят в здания ком­паний ма­лень­кие ко­ро­боч­ки (и Raspberry Pi иде­аль­но под­хо­дит для это­го), на­хо­дят неза­ня­тые се­те­вые разъ­е­мы и под­клю­ча­ют их к ним. Ко­ро­боч­ки на­страи­ва­ют­ся на ав­то­ма­ти­че­­ское соз­дание SSH-туннеля (на­при­мер, с по­мо­щью скрип­та /etc/network/if-up.d), че­рез ко­то­рый мож­но бу­дет проник­нуть в сеть ком­пании, ук­расть па­ро­ли и по­ра­бо­тать с фай­ла­ми!
 
Не­ко­то­рые спе­циа­ли­сты в об­лас­ти безо­пас­но­сти ис­поль­зу­ют имен­но эту тех­но­ло­гию для про­вер­ки кор­по­ра­тив­ных се­тей на проч­ность. С по­мо­щью ме­то­дов со­ци­аль­ной ин­женерии они про­но­сят в здания ком­паний ма­лень­кие ко­ро­боч­ки (и Raspberry Pi иде­аль­но под­хо­дит для это­го), на­хо­дят неза­ня­тые се­те­вые разъ­е­мы и под­клю­ча­ют их к ним. Ко­ро­боч­ки на­страи­ва­ют­ся на ав­то­ма­ти­че­­ское соз­дание SSH-туннеля (на­при­мер, с по­мо­щью скрип­та /etc/network/if-up.d), че­рез ко­то­рый мож­но бу­дет проник­нуть в сеть ком­пании, ук­расть па­ро­ли и по­ра­бо­тать с фай­ла­ми!
  
Ди­на­ми­че­­ские туннели
+
===Ди­на­ми­че­­ские туннели===
  
 
Вот по­след­няя и, по­жа­луй, са­мая по­лез­ная из тех­но­ло­гий туннели­ро­вания SSH. Мож­но не ука­зы­вать кон­крет­ные пор­ты или сер­ви­сы для об­ме­на ин­фор­ма­ци­ей, а соз­да­вать ди­на­ми­че­­ские туннели, спо­соб­ные со­би­рать и от­прав­лять дан­ные всем сер­ви­сам. Ко­ман­да в этом слу­чае го­раз­до про­ще:
 
Вот по­след­няя и, по­жа­луй, са­мая по­лез­ная из тех­но­ло­гий туннели­ро­вания SSH. Мож­но не ука­зы­вать кон­крет­ные пор­ты или сер­ви­сы для об­ме­на ин­фор­ма­ци­ей, а соз­да­вать ди­на­ми­че­­ские туннели, спо­соб­ные со­би­рать и от­прав­лять дан­ные всем сер­ви­сам. Ко­ман­да в этом слу­чае го­раз­до про­ще:
Строка 136: Строка 142:
 
На этом все. Про­де­мон­ст­ри­ро­ван­ные тех­но­ло­гии очень удоб­ны для соз­дания за­щи­щен­но­го и неог­раничен­но­го под­клю­чения во вре­мя по­ез­док, но для их ра­бо­ты сер­вер дол­жен быть по­сто­ян­но вклю­чен. Элек­тро­энер­гия до­ро­жа­ет, но с Raspberry Pi в ка­че­­ст­ве сер­ве­ра рас­хо­ды бу­дут неве­ли­ки.
 
На этом все. Про­де­мон­ст­ри­ро­ван­ные тех­но­ло­гии очень удоб­ны для соз­дания за­щи­щен­но­го и неог­раничен­но­го под­клю­чения во вре­мя по­ез­док, но для их ра­бо­ты сер­вер дол­жен быть по­сто­ян­но вклю­чен. Элек­тро­энер­гия до­ро­жа­ет, но с Raspberry Pi в ка­че­­ст­ве сер­ве­ра рас­хо­ды бу­дут неве­ли­ки.
  
Ес­ли вам нуж­но сде­лать сер­ви­сы в локаль­ной се­ти доступ­ны­ми уда­лен­ным поль­зо­ва­те­лям, вам мо­гут быть ин­те­рес­ны и VPN – вир­ту­аль­ные ча­ст­ные се­ти (Virtual Private Network). SSH про­ще в на­строй­ке, но он и менее ги­бок. Ес­ли вам ин­те­рес­но это на­прав­ление, по­чи­тай­те ввод­ную ста­тью «При­меним VPN» в LXF158. |
+
Ес­ли вам нуж­но сде­лать сер­ви­сы в локаль­ной се­ти доступ­ны­ми уда­лен­ным поль­зо­ва­те­лям, вам мо­гут быть ин­те­рес­ны и VPN – вир­ту­аль­ные ча­ст­ные се­ти (Virtual Private Network). SSH про­ще в на­строй­ке, но он и менее ги­бок. Ес­ли вам ин­те­рес­но это на­прав­ление, по­чи­тай­те ввод­ную ста­тью «При­меним VPN» в LXF158.
 +
====Ди­на­ми­че­­ский DNS====
 +
 
 +
В боль­шин­ст­ве ме­то­дов, опи­сан­ных в этой ста­тье, ис­поль­зу­ет­ся ком­пь­ю­тер с об­ще­доступ­ным IP-ад­ре­сом или до­мен­ным именем. Боль­шин­ст­во про­вай­де­ров пре­достав­ля­ют об­ще­доступ­ный IP-ад­рес, но он ди­на­ми­че­­ский, т. е. время от времени ме­ня­ет­ся. И ес­ли вы на­строи­те туннель, а по­том IP-ад­рес окажет­ся другим, все пе­ре­станет ра­бо­тать.
 +
 
 +
Есть несколь­ко ва­ри­ан­тов ре­шения про­бле­мы. Са­мый про­стой – най­ти про­вай­де­ра, ко­то­рый вы­де­лит вам ста­ти­че­­ский IP-ад­рес. Не­ко­то­рые вы­де­ля­ют его по ва­шей прось­бе, дру­гие про­сят за это до­полнитель­ную пла­ту, тре­тьи не де­ла­ют это­го ни при ка­ких об­стоя­тель­ст­вах.
 +
 
 +
Ес­ли сменить про­вай­де­ра не по­лу­ча­ет­ся, мож­но восполь­зо­вать­ся та­ки­ми сер­ви­са­ми, как www.no-ip.com и www.dyn.com. С ними вы за­пускае­те про­грам­му, ко­то­рая от­сле­жи­ва­ет ваш IP-ад­рес и при его из­менении опо­ве­ща­ет сто­ронний сер­вис. Сер­ви­сы пре­достав­ля­ют вам до­мен­ное имя вро­де mypi.dyn.com, ко­то­рое всегда ука­зы­вае­т на IP-ад­рес ва­ше­го ком­пь­ю­те­ра, неза­ви­си­мо от то­го, сколь­ко раз он ме­нял­ся.
 +
 
 +
Ес­ли Raspberry Pi на­хо­дит­ся за мар­шру­ти­за­то­ром, убе­ди­тесь, что порт 22 пе­ре­на­прав­ля­ет­ся на него. Кон­крет­ные дей­ст­вия по на­строй­ке немно­го от­ли­ча­ют­ся у раз­ных мар­шру­ти­за­то­ров, но обыч­но у них есть web-ин­тер­фейс ад­минист­ра­то­ра, зай­дя в ко­то­рый, мож­но пе­ре­на­прав­лять пор­ты на ком­пь­ю­те­ры по их MAC-ад­ре­сам (ап­па­рат­ным ад­ре­сам). Так­же мож­но уста­но­вить для Pi ста­ти­че­­ский IP-ад­рес и ис­поль­зо­вать его как ме­сто пе­ре­на­прав­ления пор­та.|

Текущая версия на 00:57, 12 октября 2018


Raspberry Pi. Нач­ни­те зна­ком­ст­во с Linux и но­вым кар­ман­ным ком­пь­ю­те­ром.

Содержание

[править] Raspberry Pi: SSH-тун­нель

Поль­зуй­тесь пуб­лич­ным Wi-Fi безо­пас­но и одо­лей­те цен­зо­ров: Джо­на­тан Ро­бертс рас­ска­зы­ва­ет об SSH-ту­нел­ли­ро­ва­нии.

(thumbnail)
Наш эксперт. Су­пер-скрыт­ный Джо­на­тан Ро­бертс ко­па­ет­ся в Linux с дет­ских лет. Ины­ми сло­ва­ми, не так уж дол­го...

Боль­шин­ст­во из нас стал­ки­ва­лись с бло­ки­ров­кой ин­тернет-со­единения, не по­зво­ляю­щей де­лать нам то, что мы хо­тим – обыч­но в ви­де бранд­мау­эра, ог­раничи­ваю­ще­го доступ к сер­ви­сам, та­ким как SMTP или XMPP, или в ви­де фильт­ра­ции со­дер­жи­мо­го сай­тов. Ка­ким бы ни бы­ло ог­раничение, при­ят­но­го здесь ма­ло.

Боль­шин­ст­во из нас так­же поль­зо­ва­лись пуб­лич­ным Wi-Fi, и ес­ли у вас есть здра­вый смысл, то вы на­вер­ня­ка чув­ст­во­ва­ли се­бя не очень ком­форт­но. В ста­тье «Изу­чи­те взлом» из LXF154 бы­ло по­ка­за­но, как лег­ко поль­зо­ва­те­ли из той же са­мой се­ти мо­гут шпионить за ва­ми и да­же вли­ять на ва­ши дей­ст­вия. С пуб­лич­ным Wi-Fi вы не пред­став­ляе­те, кто еще поль­зу­ет­ся ва­шим под­клю­чением и что соз­да­те­ли под­клю­чения де­ла­ют с ва­шим тра­фи­ком!

На этом уро­ке мы по­ка­жем вам, как соз­дать SSH-туннель в Paspberry Pi. Эта тех­но­ло­гия по­мо­жет вам одо­леть цен­зо­ров и шпио­нов! Raspberry Pi пре­крас­но под­хо­дит для это­го. Так как он сто­ит недо­ро­го и ра­бо­та­ет бес­шум­но, его мож­но про­сто дер­жать на пол­ке, по­ка он не по­на­до­бит­ся.

[править] Raspbian

Ес­ли вы сле­ди­те за этой се­ри­ей с са­мо­го на­ча­ла, воз­мож­но, у вас еще остал­ся ис­ход­ный об­раз Debian, ко­то­рым мы поль­зо­ва­лись в пер­вой ста­тье. Од­на­ко Raspberry Pi Foundation не сто­ит на мес­те и недав­но вы­пусти­ла но­вую опе­ра­ци­он­ную сис­те­му на осно­ве ди­ст­ри­бу­ти­ва Raspbian.

Raspbian – но­вая вер­сия Debian, оп­ти­ми­зи­ро­ван­ная для ра­бо­ты с Raspberry Pi. Она не толь­ко ра­бо­та­ет «пря­мо из ко­роб­ки» и за­мет­но бы­ст­рее (неко­то­рые тес­ты по­ка­за­ли при­рост про­из­во­ди­тель­но­сти от 4 до 40 %, в за­ви­си­мо­сти от ро­да дея­тель­но­сти), но и со­дер­жит удоб­ную ути­ли­ту ав­то­ма­ти­зи­ро­ван­ной на­строй­ки, вызываемую при пер­вом за­пуске Raspberry Pi. Она зна­чи­тель­но уп­ро­ща­ет мно­гие за­да­чи, ре­шен­ные на­ми в пре­ды­ду­щих стать­ях, в том чис­ле рас­ши­рение раз­де­ла на весь диск, от­клю­чение overscan, вклю­чение SSH и из­менение рас­клад­ки кла­виа­ту­ры.

Со­ве­ту­ем об­но­вить ва­шу сис­те­му. Са­мый про­стой спо­соб это сде­лать – за­гру­зить по­след­нюю вер­сию об­раза с www.raspberrypi.org/downloads, рас­па­ко­вать ее и за­пи­сать об­раз на SD-кар­ту команд­ной dd так же, как мы де­ла­ли это ранее.

Со­ве­ту­ем очи­стить все со­дер­жи­мое дис­ка, так как мы столк­ну­лись с ка­ки­ми-то стран­ны­ми про­бле­ма­ми, когда это­го не сде­ла­ли – поскольку ста­рые фай­лы на­строй­ки и про­грам­мы со­хранились. Восполь­зуй­тесь следующей ко­ман­дой:

sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1M

Здесь mmcblk0 – уст­рой­ст­во, со­от­вет­ст­вую­щее SD-кар­те. Пе­ред запуском команды заранее соз­дай­те ре­зерв­ную ко­пию, так как команда за­пи­сы­ва­ет ну­ли на весь диск, де­лая все су­ще­ст­вую­щие дан­ные невосста­но­ви­мы­ми.

[править] Пор­ты

Пре­ж­де чем восполь­зо­вать­ся SSH-туннелем, объ­ясним идею, ле­жа­щую в его осно­ве.

При соз­дании со­единения ме­ж­ду дву­мя ком­пь­ю­те­ра­ми – для пе­ре­да­чи web-до­ку­мен­тов, от­кры­тия за­щи­щен­ной обо­лоч­ки или об­ме­на фай­ла­ми по NFS – ком­пь­ю­те­ру, иниции­рую­ще­му со­единение, долж­ны быть из­вест­ны IP-ад­рес ком­пь­ю­те­ра, к ко­то­ро­му нуж­но под­клю­чить­ся, и но­мер пор­та сер­ви­са (web, SSH, NFS и т. д.), к ко­то­ро­му нуж­но об­ра­тить­ся.

Боль­шин­ст­во из вас зна­ют, что та­кое IP-ад­рес. Это чис­ло (на­при­мер, 192.168.133.20), ко­то­рое яв­ля­ет­ся уникаль­ным иден­ти­фи­ка­то­ром ком­пь­ю­те­ра в се­ти, точ­но так же, как поч­то­вый ад­рес иден­ти­фи­ци­ру­ет ваш дом. Но пор­ты зна­ко­мы нам чуть ху­же.

[править] За­да­ем порт

Так же как в од­ном до­ме обыч­но жи­вет несколь­ко че­ло­век, и ка­ж­дый из них ждет свою поч­ту, на ка­ж­дом ком­пь­ю­те­ре есть мно­го раз­ных сер­ви­сов, ожи­даю­щих под­клю­чения непо­сред­ст­вен­но к ним. В ре­аль­ном ми­ре мы ад­ре­су­ем поч­ту кон­крет­но­му чело­ве­ку, по­ло­жив ее в кон­верт с его именем, а в ком­пь­ю­тер­ной се­ти мы ука­зы­ва­ем кон­крет­ный порт, к ко­то­ро­му намереваемся под­клю­чить­ся.

Ка­ж­дый порт за­да­ет­ся но­ме­ром от 0 до 65535, и ка­ж­дый сер­вис, пре­достав­ляе­мый ком­пь­ю­те­ром, слу­ша­ет со­единения на од­ном из этих пор­тов. Есть спи­сок пор­тов по умол­чанию, ко­то­рые слу­ша­ют все по­пу­ляр­ные сер­ви­сы. Этот спи­сок под­дер­жи­ва­ет­ся IANA (Internet Assigned Numbers Authority – Ад­минист­ра­ция ад­рес­но­го про­стран­ст­ва Ин­тернета) и по­кры­ва­ет пор­ты с 0 по 1023 (web-тра­фик про­хо­дит че­рез порт 80, FTP – че­рез порт 20, SSH – че­рез порт 22 и т.д).

Ни­что не ме­ша­ет вам на­стро­ить сер­вис на дру­гой порт, и ес­ли вы знае­те, на ка­ком пор­ту за­пу­щен сер­вис, мож­но ука­зать кли­ен­ту под­клю­чать­ся к это­му пор­ту, а не к пор­ту по умол­чанию.

Хо­ро­шо, но ка­кое от­но­шение это име­ет к SSH-туннелям?

На прак­ти­ке SSH-тунел­ли­ро­вание сво­дит­ся к ис­кусно­му пе­ре­на­прав­лению пор­тов.

Луч­ше все­го объ­яснить это на при­ме­ре. Пред­ставь­те, что у нас два ком­пь­ю­те­ра: но­ут­бук в ка­фе (laptop), где доступ к Ин­тернету ог­раничен про­кси-сер­ве­ром (про­грам­мой, ко­то­рая уме­ет фильт­ро­вать ин­тернет-тра­фик) и нель­зя зай­ти на сайт example.com, и pi – Raspberry Pi с неог­раничен­ным досту­пом в Ин­тернет до­ма. У но­ут­бу­ка есть доступ к pi.

(thumbnail)
SSH-тун­нель соз­да­ет за­щи­щен­ное со­еди­не­ние ме­ж­ду дву­мя ком­пь­ю­те­ра­ми, с по­мо­щью ко­то­ро­го мож­но обой­ти про­кси и дру­гие фильт­ры.

[править] Туннели­ру­ем со­единение

Что­бы от­крыть example.com с но­ут­бу­ка, по­на­до­бит­ся соз­дать туннель, т. е. пе­ре­на­пра­вить на­ше под­клю­чение че­рез pi. SSH-туннель та­кое по­зво­ля­ет.

Обыч­но SSH соз­да­ет за­щи­щен­ное со­единение ме­ж­ду дву­мя ком­пь­ю­те­ра­ми на пор­ту 22. Но при ис­поль­зо­вании SSH-туннеля она пе­ре­на­пра­вит весь тра­фик с ука­зан­но­го пор­та laptop по за­шиф­ро­ван­но­му со­единению на порт 22 pi (или на лю­бой дру­гой ука­зан­ный на­ми ком­пь­ю­тер и порт).

У та­ко­го под­хо­да два пре­иму­ще­ст­ва. Во-пер­вых, как и при обыч­ном SSH-со­единении, тра­фик те­перь на­прав­ля­ет­ся по за­щи­щен­но­му со­единению, то есть никто в локаль­ной се­ти не смо­жет под­смот­реть за на­ми и ук­расть име­на поль­зо­ва­те­лей и па­ро­ли. Досто­ин­ст­во туннели­ро­вания в том, что оно по­зво­ля­ет де­лать это с лю­бым ви­дом web-тра­фи­ка, не толь­ко с обо­лоч­ка­ми. Во-вто­рых, это по­зво­ля­ет обой­ти фильт­ра­цию со­дер­жи­мо­го сай­тов в локаль­ной се­ти. Ес­ли мар­шру­ти­за­тор, за ко­то­рым на­хо­дит­ся локаль­ная сеть, фильт­ру­ет тра­фик на example.com, пе­ре­на­прав­ляя со­единение че­рез неот­фильт­ро­ван­ный порт на неот­фильт­ро­ван­ный ком­пь­ю­тер, в локаль­ной се­ти та­кие ог­раничения мож­но обой­ти. Для это­го нуж­но убе­дить­ся, что SSH уста­нов­лен и за­пу­щен в ви­де сер­ви­са на laptop и pi. На pi для это­го доста­точ­но от­крыть ути­ли­ту raspi-config и вы­брать оп­цию SSH (ес­ли у вас по­след­няя вер­сия Raspbian).

На но­ут­бу­ке на­строй­ка за­ви­сит от ди­ст­ри­бу­ти­ва. Для на­строй­ки SSH в Fedora вы­пол­ни­те ко­ман­ды:

su -c “yum -y install openssh”

su -c “systemctl enable sshd.servive”

su -c “systemctl start sshd.service”

А в Debian или Ubuntu –

sudo apt-get install openssh-server openssh-client

sudo service ssh start

sudo insserv ssh

Ес­ли на но­ут­бу­ке стоит Windows, по­на­до­бит­ся Putty или Cygwin, но обе эти про­грам­мы вы­хо­дят за рам­ки на­шей ста­тьи.

[править] Соз­да­ние тун­не­ля

Сде­лав это, вы­пол­ни­те сле­дую­щую ко­ман­ду для соз­да­ния тун­не­ля:

ssh -L 1080:example.com:80 pi-user@pi -f

Раз­бе­рем ее, что­бы вы по­ня­ли, что про­ис­хо­дит. Па­ра­метр -L со­об­ща­ет SSH, что мы бу­дем ис­поль­зо­вать его для пе­ре­на­прав­ления пор­та.

Сле­дую­щий фраг­мент стро­ки раз­бит на три час­ти двое­то­чия­ми. Пер­вое чис­ло – порт на локаль­ном ком­пь­ю­те­ре (laptop), ко­то­рый мы хо­тим пе­ре­на­пра­вить. Все пор­ты с но­ме­ром боль­ше 1024 мож­но пе­ре­на­прав­лять без прав root. Весь тра­фик, ко­то­рый мы на­пра­вим на этот порт, бу­дет пе­ре­на­прав­лен. Средний фраг­мент – ком­пь­ю­тер, ку­да мы хо­тим пе­ре­бро­сить тра­фик, а по­следнее чис­ло – порт на этом ком­пь­ю­те­ре, к ко­то­ро­му мы хо­тим под­клю­чить­ся. Ком­пь­ю­тер и порт мо­гут быть лю­бы­ми – ес­ли у pi есть к ним доступ, все бу­дет ра­бо­тать. Так как мы хо­те­ли от­крыть сайт example.com, то ука­за­ли порт 80 – по умол­чанию он ис­поль­зу­ет­ся для web-тра­фи­ка. В кон­це ука­зы­ва­ют­ся имя поль­зо­ва­те­ля и ком­пь­ю­тер, че­рез ко­то­рые мы хо­тим про­пустить туннель. Здесь это ком­пь­ю­тер pi и поль­зо­ва­тель pi-user.

Эта часть ра­бо­та­ет как в стан­дарт­ной ко­ман­де ssh, и здесь мож­но поль­зо­вать­ся все­ми обыч­ны­ми прие­ма­ми: на­при­мер, ука­зать дру­гие пор­ты, ис­поль­зо­вать IP-ад­ре­са вме­сто имен ком­пь­ю­те­ров и т. д. (помните, что ком­пь­ю­тер дол­жен быть досту­пен для laptop, т. е. у него долж­но быть до­мен­ное имя или пуб­лич­но доступ­ный IP-ад­рес; со­ве­ты, как до­бить­ся это­го при до­машнем под­клю­чении, при­ве­де­ны во врез­ке «Ди­на­ми­че­­ский DNS»).

Па­ра­метр -f ве­лит ssh пе­рей­ти в фо­но­вый ре­жим и не занимать тер­ми­нал в pi.

Те­перь, что­бы от­крыть сайт example.com на laptop, нуж­но лишь от­крыть в брау­зе­ре ад­рес http://localhost:1080, и все долж­но по­лу­чить­ся. Двое­то­чие в кон­це ад­ре­са оз­на­ча­ет, что нуж­но ис­поль­зо­вать ука­зан­ный порт вме­сто пор­та по умол­чанию 80. “localhost” оз­на­ча­ет, что нуж­но об­ра­тить­ся к пор­ту 1080 на том же ком­пь­ю­те­ре – это «ад­рес ва­ше­го ком­пь­ю­те­ра в Ин­тернете».

Мож­но лег­ко из­менить на­строй­ки, что­бы поль­зо­вать­ся и дру­ги­ми сер­ви­са­ми, а не толь­ко web-тра­фи­ком. На­при­мер, ес­ли на pi есть соб­ст­вен­ный поч­то­вый сер­вер (SMTP), мож­но из­менить example.com на localhost и 80 на 25, и все бу­дет го­то­во. За­тем, вме­сто то­го, что­бы вво­дить спе­ци­аль­ный ад­рес в брау­зе­ре, нуж­но из­менить неко­то­рые на­строй­ки в поч­то­вом кли­ен­те.

[править] Об­рат­ные туннели

SSH уме­ет соз­да­вать и дру­гие туннели. Крат­ко рас­смот­рим их. Ес­ли в пре­ды­ду­щем при­ме­ре у нас бы­ло пе­ре­на­прав­ление локаль­но­го пор­та (-L), сле­дую­щий мож­но на­звать пе­ре­на­прав­лением уда­лен­но­го пор­та.

Пред­ста­вим се­бе несколь­ко иной сце­на­рий. У нас опять же два ком­пь­ю­те­ра – laptop и pi. Но­ут­бук на­хо­дит­ся до­ма, но на нем нуж­но от­крыть внут­ренний сайт internal.example.com ка­кой-то дру­гой се­ти, ко­то­рый бло­ки­ру­ет­ся для внешних под­клю­чений бранд­мау­эром. А pi под­клю­чен ко внут­ренней се­ти.

Что­бы обой­ти этот бранд­мау­эр сна­ру­жи, мож­но соз­дать об­рат­ный туннель с pi на laptop. За­тем с по­мо­щью это­го туннеля но­ут­бук мо­жет проник­нуть внутрь за­щи­щен­ной бранд­мау­эром се­ти че­рез pi и об­ра­тить­ся к internal.example.com.

(thumbnail)
С по­мо­щью об­рат­но­го тун­не­ля мож­но про­ник­нуть внутрь за­щи­щен­ных се­тей. Толь­ко пре­ду­пре­ди­те свой IT-от­дел, а не то дос­та­ви­те ему бес­по­кой­ст­во.

Для это­го на pi вы­пол­ня­ет­ся ко­ман­да

ssh -R 1080:internal.example.com:80 laptop-user@laptop -f

Па­ра­метр -R оз­на­ча­ет об­рат­ный [reverse] или уда­лен­ный [remote] туннель. В сле­дую­щем фраг­мен­те тек­ста пер­вый па­ра­метр за­да­ет не локаль­ный порт на pi, с ко­то­ро­го нуж­но пе­ре­на­прав­лять под­клю­чения, а порт но­ут­бу­ка для той же це­ли.

Все осталь­ное ра­бо­та­ет как рань­ше. Что­бы из­влечь мак­си­мум из этой улов­ки, туннель нуж­но соз­дать за­ранее, так как у вас не бу­дет досту­па к pi с но­ут­бу­ка, и под­дер­жи­вать SSH-со­единение ак­тив­ным. Для это­го вме­сто обыч­но­го SSH мож­но уста­но­вить и восполь­зо­вать­ся autossh, оберт­кой, под­дер­жи­ваю­щей со­единение ак­тив­ным. Син­так­сис ко­ман­ды autossh несколь­ко иной:

autossh -M 20000 -f 1080:internal.example.com:80 laptopuser@laptop

Здесь об­ра­ти­те внимание на па­ра­метр -M. Ука­зан­ный порт не дол­жен ис­поль­зо­вать­ся дру­ги­ми про­грам­ма­ми, по­это­му вы­бе­ри­те но­мер по­боль­ше. Он ис­поль­зу­ет­ся autossh для от­сле­жи­вания со­единения и его восста­нов­ления, ес­ли оно про­па­да­ет.

Прав­да, этот по­лез­ный при­ем мо­жет по­ссо­рить вас с сис­тем­ны­ми ад­минист­ра­то­ра­ми. Бранд­мау­эры ста­вят все-та­ки не зря, и ад­минист­ра­то­ры не лю­бят, когда дру­гие про­де­лы­ва­ют в них дыр­ки!

Не­ко­то­рые спе­циа­ли­сты в об­лас­ти безо­пас­но­сти ис­поль­зу­ют имен­но эту тех­но­ло­гию для про­вер­ки кор­по­ра­тив­ных се­тей на проч­ность. С по­мо­щью ме­то­дов со­ци­аль­ной ин­женерии они про­но­сят в здания ком­паний ма­лень­кие ко­ро­боч­ки (и Raspberry Pi иде­аль­но под­хо­дит для это­го), на­хо­дят неза­ня­тые се­те­вые разъ­е­мы и под­клю­ча­ют их к ним. Ко­ро­боч­ки на­страи­ва­ют­ся на ав­то­ма­ти­че­­ское соз­дание SSH-туннеля (на­при­мер, с по­мо­щью скрип­та /etc/network/if-up.d), че­рез ко­то­рый мож­но бу­дет проник­нуть в сеть ком­пании, ук­расть па­ро­ли и по­ра­бо­тать с фай­ла­ми!

[править] Ди­на­ми­че­­ские туннели

Вот по­след­няя и, по­жа­луй, са­мая по­лез­ная из тех­но­ло­гий туннели­ро­вания SSH. Мож­но не ука­зы­вать кон­крет­ные пор­ты или сер­ви­сы для об­ме­на ин­фор­ма­ци­ей, а соз­да­вать ди­на­ми­че­­ские туннели, спо­соб­ные со­би­рать и от­прав­лять дан­ные всем сер­ви­сам. Ко­ман­да в этом слу­чае го­раз­до про­ще:

ssh -D 1080 pi-user@pi

Па­ра­метр -D оз­на­ча­ет, что мы хо­тим на­стро­ить ди­на­ми­че­­ский туннель, но­мер – ис­поль­зуе­мый локаль­ный порт, а pi-user@pi – поль­зо­ва­тель и ком­пь­ю­тер, к ко­то­рым бу­дет про­ло­жен туннель.

По вы­полнении этой ко­ман­ды мож­но на­стро­ить лю­бую про­грам­му, под­дер­жи­ваю­щую про­кси SOCKS, на от­прав­ку тра­фи­ка че­рез толь­ко что соз­дан­ный SSH-туннель.

На­при­мер, в Firefox нуж­но зай­ти в Preferences > Advanced > Network [На­строй­ки > До­полнитель­ные > Сеть] и на­жать на кноп­ку Settings [На­строй­ки] в раз­де­ле Connection [Под­клю­чение]. В поя­вив­шем­ся окне вы­бе­ри­те руч­ную [Manual] на­строй­ку про­кси. За­тем вве­ди­те в стро­ку SOCKS host [Узел SOCKS] ад­рес 127.0.0.1 и порт, ука­зан­ный в ко­ман­де ssh.

На­жми­те OK, и все долж­но быть го­то­во. Ес­ли все ра­бо­та­ет пра­виль­но, сай­ты долж­ны от­кры­вать­ся как обыч­но, но те­перь весь тра­фик бу­дет пе­ре­да­вать­ся че­рез туннель SSH на ком­пь­ю­тер pi.

Что­бы убе­дить­ся, что все дей­ст­ви­тель­но ра­бо­та­ет, за­крой­те SSH-со­единение (на­жав Ctrl+c) и по­про­буй­те от­крыть страницу сно­ва. Ес­ли ис­поль­зо­вал­ся туннель, то те­перь в Firefox страницы от­кры­вать­ся не бу­дут.

В дру­гих про­грам­мах, под­клю­чаю­щих­ся к Ин­тернету – на­при­мер, поч­то­вых кли­ен­тах и про­грам­мах для об­ме­на со­об­щения­ми, бу­дут ана­ло­гич­ные ок­на с на­строй­ка­ми. Про­сто за­полните па­ра­мет­ры SOCKS, и все бу­дет ра­бо­тать.

На этом все. Про­де­мон­ст­ри­ро­ван­ные тех­но­ло­гии очень удоб­ны для соз­дания за­щи­щен­но­го и неог­раничен­но­го под­клю­чения во вре­мя по­ез­док, но для их ра­бо­ты сер­вер дол­жен быть по­сто­ян­но вклю­чен. Элек­тро­энер­гия до­ро­жа­ет, но с Raspberry Pi в ка­че­­ст­ве сер­ве­ра рас­хо­ды бу­дут неве­ли­ки.

Ес­ли вам нуж­но сде­лать сер­ви­сы в локаль­ной се­ти доступ­ны­ми уда­лен­ным поль­зо­ва­те­лям, вам мо­гут быть ин­те­рес­ны и VPN – вир­ту­аль­ные ча­ст­ные се­ти (Virtual Private Network). SSH про­ще в на­строй­ке, но он и менее ги­бок. Ес­ли вам ин­те­рес­но это на­прав­ление, по­чи­тай­те ввод­ную ста­тью «При­меним VPN» в LXF158.

[править] Ди­на­ми­че­­ский DNS

В боль­шин­ст­ве ме­то­дов, опи­сан­ных в этой ста­тье, ис­поль­зу­ет­ся ком­пь­ю­тер с об­ще­доступ­ным IP-ад­ре­сом или до­мен­ным именем. Боль­шин­ст­во про­вай­де­ров пре­достав­ля­ют об­ще­доступ­ный IP-ад­рес, но он ди­на­ми­че­­ский, т. е. время от времени ме­ня­ет­ся. И ес­ли вы на­строи­те туннель, а по­том IP-ад­рес окажет­ся другим, все пе­ре­станет ра­бо­тать.

Есть несколь­ко ва­ри­ан­тов ре­шения про­бле­мы. Са­мый про­стой – най­ти про­вай­де­ра, ко­то­рый вы­де­лит вам ста­ти­че­­ский IP-ад­рес. Не­ко­то­рые вы­де­ля­ют его по ва­шей прось­бе, дру­гие про­сят за это до­полнитель­ную пла­ту, тре­тьи не де­ла­ют это­го ни при ка­ких об­стоя­тель­ст­вах.

Ес­ли сменить про­вай­де­ра не по­лу­ча­ет­ся, мож­но восполь­зо­вать­ся та­ки­ми сер­ви­са­ми, как www.no-ip.com и www.dyn.com. С ними вы за­пускае­те про­грам­му, ко­то­рая от­сле­жи­ва­ет ваш IP-ад­рес и при его из­менении опо­ве­ща­ет сто­ронний сер­вис. Сер­ви­сы пре­достав­ля­ют вам до­мен­ное имя вро­де mypi.dyn.com, ко­то­рое всегда ука­зы­вае­т на IP-ад­рес ва­ше­го ком­пь­ю­те­ра, неза­ви­си­мо от то­го, сколь­ко раз он ме­нял­ся.

Ес­ли Raspberry Pi на­хо­дит­ся за мар­шру­ти­за­то­ром, убе­ди­тесь, что порт 22 пе­ре­на­прав­ля­ет­ся на него. Кон­крет­ные дей­ст­вия по на­строй­ке немно­го от­ли­ча­ют­ся у раз­ных мар­шру­ти­за­то­ров, но обыч­но у них есть web-ин­тер­фейс ад­минист­ра­то­ра, зай­дя в ко­то­рый, мож­но пе­ре­на­прав­лять пор­ты на ком­пь­ю­те­ры по их MAC-ад­ре­сам (ап­па­рат­ным ад­ре­сам). Так­же мож­но уста­но­вить для Pi ста­ти­че­­ский IP-ад­рес и ис­поль­зо­вать его как ме­сто пе­ре­на­прав­ления пор­та.|

Персональные инструменты
купить
подписаться
Яндекс.Метрика