Если ноутбук подключен к сети Wi-Fi и работает как сервер SSH, вы можете предоставить веб-доступ к Rasberry Pi, используя ноутбук в качестве прокси-сервера SOCKS . Вы упомянули, что можете использовать Ubuntu или Windows на ноутбуке. В дистрибутивах Linux, таких как Ubuntu, обычно используется OpenSSH, чтобы система могла функционировать как сервер SSH. Вы можете проверить, работает ли система Ubuntu как SSH-сервер, запустив команду netstat -a
и отправив свой вывод в grep
, выполнив поиск "ssh". Если он уже работает как SSH-сервер, вы увидите строку или строки, указывающие, что он прослушивает SSH-соединения (порт по умолчанию - 22).
$ netstat -a | grep ssh
tcp 0 0 *:ssh *:* LISTEN
Если он не работает как SSH-сервер, выполните команду sudo apt-get install openssh-server
из командной строки.
Если вместо этого вы используете Microsoft Windows на ноутбуке, существует ряд программ для серверов SSH, которые бесплатны для личного использования. Некоторые из них я использовал следующие:
Bitvise Personal Edition
Copssh
FreeSSHd
Сервер PowerShell SSH для Windows
SilverSHielD SSH сервер для Windows
Если у вас есть ноутбук, работающий в качестве SSH-сервера, вы можете установить SSH-соединение с ноутбука на Rasberry Pi, предполагая, что Raspberry Pi также использует программное обеспечение сервера SSH, а затем установить новое SSH-соединение с Rasbery Pi на ноутбук. для второго подключения ноутбук является SSH-сервером. Но при подключении к ноутбуку укажите, что вы хотите, чтобы ноутбук функционировал как прокси-сервер SOCKS, используя команду SSH, например, ssh -ND n user@server
где "n" - номер порта, который вы хотите использовать (порт 1080 - это порт, обычно используемый для соединений прокси-сервера SOCKS) и «user @ server» - это идентификатор пользователя для вашей учетной записи на "сервере", т. е. ноутбуке в вашем случае, которому разрешено входить на сервер через SSH (пример). Вы можете заменить IP-адрес ноутбука на server
, например, jsmith@192.168.3.1
, если ваш идентификатор пользователя на ноутбуке - jsmith, а IP-адрес ноутбука - 192.168.3.1.
Затем вы можете просматривать веб-страницы с Rasberry Pi, используя подключение ноутбука к Интернету, настроив любой браузер на Rasberry Pi на использование прокси-сервера SOCKS. Точные шаги, которые вы предпримете, будут зависеть от используемого вами браузера, но большинство браузеров позволяют вам указать прокси-сервер, который будет использоваться в качестве промежуточного сервера между системой и Интернетом, просто убедитесь, что вы выбрали опцию SOCKS proxy.
Это будет заботиться только о соединениях HTTP/HTTPS. Но вы также можете пересылать другие типы TCP- трафика через ноутбук. Например, предположим, вам нужно печатать с Rasberry Pi на принтер, доступный через ноутбук через порт 9100. Вы можете выполнить приведенную ниже команду из Rasberry Pi, предполагая, что 192.168.3.5 - это адрес принтера, 192.168.3.1 - это адрес вашего ноутбука, а jsmith - ваш идентификатор пользователя на ноутбуке, и эта учетная запись на ноутбуке имеет разрешение для входа в ноутбук. через SSH:
ssh -L 9100:10.0.0.5:9100 jsmith@192.168.3.1
Команда указывает, что локальный прослушивающий порт 9100 должен быть создан на ноутбуке, когда вы входите в ноутбук с подключением SSH, и этот порт должен быть перенаправлен на порт 9100 на принтере, который в этом примере имеет IP-адрес 10,0. 0,5 (пример). Вы можете объединить эту команду с возможностью установить прокси-сервер SOCKS, т. ssh -L 9100:10.0.0.5:9100 -ND 1080 jsmith@192.168.3.1
. Вы можете добавить любые дополнительные порты, которые вам нужно перенаправить, с помощью дополнительных опций -L
. Затем, если вам нужно было печатать с Rasberry Pi на принтер через порт 9100 на принтере, вы можете указать 192.168.3.1 в качестве IP-адреса принтера при настройке Rasberry Pi для связи с pritner, даже если фактический адрес принтера равен 10.0.0.5. Пока ноутбук может обмениваться данными с принтером на 10.0.0.5, он может перенаправлять соединения через порт 9100, сделанные с ноутбуком Rasberry Pi, на IP-адрес принтера.
В качестве альтернативы, вместо того, чтобы настроить ноутбук для работы в качестве прокси-сервера SOCKS и перенаправлять соединения на порты внешних систем, вы можете настроить ноутбук для работы в качестве маршрутизатора, или шлюза. В Интернете доступно множество учебных пособий о том, как настроить систему Ubuntu в качестве маршрутизатора, а также в качестве DHCP- сервера, в случае, если вы запускаете Ubuntu на ноутбуке и хотите предоставить IP-адрес Rasberry Pi по кроссоверному кабелю, например Ubuntu в качестве межсетевого экрана / шлюза маршрутизатора. Вы также можете настроить систему Windows для работы в качестве маршрутизатора / шлюза.