Как сделать Raspberry Pi доступным из интернета
Задача
Получить доступ к Raspbery Pi с любой т очки мира через SSH. По этому же принципу кроме SSH можно достучаться до FTP, веб приложениям и сайтам, а также любым другим сервисам
Имеем
- Роутер TP-Link TL-WR740N, к которому подключен raspberry
- Raspberry Pi 3 Model B+ с установленной и подключенной к Wifi OS Raspbian. Напишите в комментариях, если с этим проблемы
- Любое устройство с SSH клиентом
Общий план
- Включаем на Raspberry доступ по SSH
- В настройках роутера закрепляем за MAC-адресом Raspberry статический IP внутри сети (например, 192.168.1.123)
- Там же делаем 22 порт (SSH) расбы доступным "снаружи"
Включаем SSH
- Подключаем к расбе монитор и клаву
- Открываем терминал и запускаем утилиту настройки
sudo raspi-config
- Находим Interfacing Options > SSH > включаем, Enter
Закрепляем за расбой IP внутри сети
Это нужно для того, чтобы роутер всегда выдавал нашей малинке один и тот же ИП внутри сети
- Входим в админку роутера, открыв в браузере 192.161.1.1 (адрес может отличаться. Найти можно, введя в консоль ipconfig. Ищите там похожие адреса). Роутер может запросить логин и пароль. Попробуйте найти наклейку на самом роутере или попробуйте admin admin
- Находим мак-адрес расбы
ifconfig wlan0 | grep ether
- Находим раздел для резервации IP и прописываем там найденный мак. Если у вас получилось подключиться к роутеру по 192.161.1.1, то можете смело указывать рядом с маком 192.168.1.123. В другом случае может потребоваться изменение адреса, как требует DHCP (настраивается рядом, скорее всего)
- После перезагрузки роутера Raspberry должен выделиться новый внутренний адрес. Проверить можно введя на нем
ifconfig wlan0
. Если этого не случилось, то поищите настройки, похожие на те, что на скриншоте ниже Также убедитесь, что с этого момента вы можете подключиться к расбе черезssh pi@192.168.1.123
. Напишите в комментариях, если возникли проблемы
Пробрасываем 22 порт с расбы "наружу"
Сейчас Raspberry доступна только во внутренней сети. Тоесть, вы можете подключиться к ней с устройств, подключенных к тому же WiFi. Чтобы к ней можно было подключиться с "мира" мы должны рассказать роутеру, на какое устройство перенаправлять трафик по 22 порту.
Наша Raspberry с предыдущего пункта имеет адрес 192.168.1.123
- Находим настройки виртуальных серверов (virtual servers). Может иметь другое название, но должно быть связано с разделом переадресации (redirects)
- Добавляем новое правило. Порты некоторых сервисов: SSH 22, FTP 21, WEB 80 и 443 (для https://)
- Перезагружаем роутер и подключаемся к устройству уже через
ssh pi@ip
, где ip -- ваш внешний IP адрес (можно узнать на 2ip.ru) - Вы великолепны
Если у вас динамический IP
Предположим, что у вас, как и уменя, изменяется IP, а значит, что однажды вы не сможете достучаться до своей Raspberry по адресу, "который вчера еще работал". В таких случаях удобнее использовать домен в качестве адреса для подключения. Здесь я рассказывал, как это сделать.
И напоследок, буду рад вопросам в комментариях. Это позволит сделать пост более информативным и полезным