Оглавление:
- Шаг 1. Новичок в Linux и программировании терминалов?
- Шаг 2: материалы
- Шаг 3: Программное обеспечение
- Шаг 4: Быстрый старт
- Шаг 5: Настройте Raspberry Pi
- Шаг 6: Установите Apache
- Шаг 7: Установите серверное программное обеспечение
- Шаг 8: отредактируйте файл конфигурации DHCP
- Шаг 9: отредактируйте файл DHCP-сервера по умолчанию
- Шаг 10: настройте статический IP-адрес
- Шаг 11. Настройте параметры точки доступа
- Шаг 12: Настройте преобразование сетевых адресов («NAT»)
- Шаг 13: Проверьте эту точку доступа
- Шаг 14: настройте демона
- Шаг 15: Почти готово! Создайте HTML-файл веб-сервера
- Шаг 16: Отредактируйте HTML-файл Pt. 1
- Локальный веб-сервер jenfoxbot
- Шаг 17: Отредактируйте HTML-файл Pt. 2
- Шаг 18: Боже, наконец! Были сделаны:)
- Шаг 19: Что дальше?
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Сохраняйте и получайте доступ к документам, фотографиям и музыке на вашем собственном локальном сервере Pi Cloud! Самое приятное: вы можете использовать его, если или когда Интернет выйдет из строя (или если вы находитесь в удаленном месте и хотите получить доступ к Википедии). О, эй, и если у вашего друга есть один, и они живут рядом (* кхм * 80 футов * кхм *), вы можете поделиться с ними чем-то и создать свою личную линию чата!
Это заставляет меня задуматься … если достаточное количество людей построят серверы Pi Cloud, мы сможем краудсорсинг Интернета! Это будет 11/10 по шкале величия. С новыми моделями компьютеров Raspberry Pi это возможно и даже не дорого! (Что! Расскажите подробнее!)
Из этого туториала Вы узнаете, как настроить точку доступа Wi-Fi малого радиуса действия (~ 80 футов) и персональный веб-сервер («вернуть его в HTML bbies»). Вы можете настроить это только как (закрытую) локальную сеть (то есть ваше собственное «облачное» устройство резервного копирования) или транслировать его для остального мира! (.. если вы это сделаете, убедитесь, что знаете безопасность сети.)
Тем не менее, если у вас есть базовые знания о Pi, вот разбивка:
Время чтения: ~ 40 мин.
Время сборки: ~ 60 мин (меньше, если у вас есть опыт работы с Linux)
Стоимость: ~ 35 долларов (для Pi 3)
Если вы заинтересованы в том, чтобы помочь людям запустить Интернет, поделитесь им с друзьями, семьей и всеми, кого вы знаете (или создайте его для них!). Если вы создаете этот проект, отметьте, что вы его создали, чтобы мы могли понять, у скольких людей есть инфраструктура, необходимая для создания полноценного человеческого Интернета. Наконец, следите за мной, чтобы оставаться в курсе (я обращаюсь к некоторым людям, чтобы попытаться сделать это реальным, пожалуйста, не стесняйтесь обращаться ко мне, если вы можете помочь и / или принять это, это с открытым исходным кодом!).
Шаг 1. Новичок в Linux и программировании терминалов?
Нам понадобится удаленный доступ к нашему Pi (например, через SSH). Если вам нравится «wtf is that», ознакомьтесь с этим вводным руководством, чтобы получить более подробный обзор того, как настроить Raspberry Pi 3, и некоторое быстрое программирование терминала Linux.
Этот подход к точке доступа Pi * и веб-серверу ** использует ОС Jessie Lite. Если вы будете следовать этому руководству построчно, вам понадобится именно эта версия Linux
Наконец, это руководство построено на основе учебника по цифровой бесплатной библиотеке Adafruit, поэтому проверьте его, если у вас возникнут какие-либо проблемы (или оставьте комментарий, и я или другие полезные люди попытаются ответить на ваш вопрос:))
(Кроме того, это может показаться немного длинным, поэтому я включил различные фотографии милых щенков, чтобы вы были мотивированы: D)
* Точка доступа - это аппаратное устройство, которое позволяет WiFi-устройству (например, смартфону) подключаться к проводной сети (например, маршрутизатору).
** Веб-сервер - это компьютер, который предоставляет веб-страницу. Когда вы заходите на свои любимые веб-сайты, вы вводите «www.wikipedia.org», который ведет к IP-адресу веб-сервера и отображает общедоступную информацию.
Предупреждение: рекомендуется запускать Pi только как локальную сеть (т.е.не подключайте Pi к более широкой всемирной паутине), поскольку протокол паролей WPA2 может быть небезопасным.
Шаг 2: материалы
Компьютер с портом Ethernet и слотом для SD-карты
Raspberry Pi 3
- SD-карта (8 ГБ или больше, особенно если вы хотите использовать ее для хранения)
Кабель питания с MicroUSB на USB
Сетевой кабель
- Рекомендуется: чехол для Raspberry Pi.
Шаг 3: Программное обеспечение
1. PuTTY позволяет нам удаленно входить в Raspberry Pi, используя IP-адрес Pi, имя пользователя и пароль.
Скачать здесь:
2. Etcher форматирует и записывает Raspbian (или другую) операционную систему («ОС») на SD-карту.
Скачать здесь:
3. WinSCP позволяет легко передавать файлы между вашим компьютером и Raspberry Pi.
Загрузите здесь (щелкните Установочный пакет):
4. Компьютерам Windows потребуются службы печати Bonjour для Windows (от Apple), чтобы использовать IP-адрес raspberrypi.local.
Загрузите здесь:
Шаг 4: Быстрый старт
Если вы раньше работали с Pi и привыкли к терминалу Linux и тому подобному, вот краткий обзор этого процесса:
1. Загрузите Jessie Lite на SD-карту (8 ГБ или больше) и вставьте в Pi.
Загрузите ОС Jessie Lite здесь.
2. Удаленно войдите в систему (например, SSH) и введите учетные данные.
3. Вот репозиторий Github со всеми командами для превращения вашего Pi в веб-сервер: D
Просмотрите файл установки и введите команды (по порядку). Этот процесс установит HostAPD (аутентификация), DHCP (управление IP), iptables (брандмауэр) и Apache (программное обеспечение веб-сервера).
4. Создайте общедоступную веб-страницу или храните свои файлы / данные в тайне / с друзьями и семьей
Образец веб-страницы HTML, адаптированный из учебника Adafruit Digital Free Library, включен в репозиторий Github (ServerWebsiteHTML-Raw). Вы также можете использовать большой zip-файл для создания:)
Предупреждение: рекомендуется запускать Pi только как локальную сеть (т.е.не подключайте Pi к более широкой всемирной паутине), поскольку протокол паролей WPA2 может быть небезопасным.
Шаг 5: Настройте Raspberry Pi
1. Загрузите SD-карту с помощью Jessie Lite (загрузите Jessie Lite здесь). Включите SSH, добавив файл с именем «SSH» в содержимое файла SD-карты (без расширений - удалите.txt, если он добавлен автоматически). Вставьте в Pi.
2. Подключите кабель Ethernet к компьютеру и Pi, а затем подключите кабель питания Pi
3. Создайте сетевой мост между вашим компьютером и Pi
Перейдите в «Настройки» -> «Сеть и Интернет» -> «Изменить настройки адаптера». Выберите соединение Ethernet (должно отображаться неизвестное соединение или что-то подобное). Удерживая клавишу «CTRL», выберите соединение WiFi. Щелкните правой кнопкой мыши и выберите «Мостовые соединения».
3. Откройте PuTTY, введите «raspberrypi.local» в качестве имени хоста и войдите в свой Pi, у-у
Если вы входите в систему впервые, используйте имя пользователя по умолчанию: pi и пароль: raspberry. Измените свой пароль с помощью команды passwd
4. Убедитесь, что Pi подключен к Интернету, и обновите его
Выполните эту команду, чтобы проверить, может ли Pi подключиться к Google (он напечатает 5 строк, сообщающих об этом, если получена информация с google.com):
ping -c 5 google.com
Выполните эту команду, чтобы обновить Pi (первый загружает пакеты, второй устанавливает их):
sudo apt-get update
sudo apt-get upgrade
Шаг 6: Установите Apache
Apache - это программное обеспечение нашего веб-сервера! (Это позволяет нам легко размещать информацию и файлы, доступные через веб-браузер, такой как Chrome, Firefox, Explorer и т. Д.)
Давайте установим программное обеспечение Apache, а затем изменим разрешения на редактирование папки HTML. Введите и введите следующие команды (по порядку):
sudo apt-get install apache2 -y
cd / var / www
sudo chown pi: pi / var / www / html
CD
Шаг 7: Установите серверное программное обеспечение
1. Установите программное обеспечение HostAPDand DHCP.
HostAPD используется для аутентификации информации, отправляемой и получаемой от подключенных устройств, а DHCP - это протокол, используемый для обеспечения быстрого, автоматического и централизованного управления распределением IP-адресов в сети.
Чтобы установить оба сразу, введите следующую команду и нажмите «y», чтобы продолжить:
sudo apt-get install hostapd isc-dhcp-server
2. Установите iptables для межсетевого экрана. (ура для безопасности!)
Запустите эту команду и введите «y» (да) на обоих всплывающих экранах конфигурации:
sudo apt-get install iptables-persistent
Шаг 8: отредактируйте файл конфигурации DHCP
Давайте настроим протокол связи DHCP, чтобы мы могли отправлять и получать информацию (это очень важно, если вы думаете о создании подключенной сети)! Перейдите в файл конфигурации DHCP, набрав следующее:
sudo nano /etc/dhcp/dhcpd.conf
1. Добавьте комментарий («#») перед следующими строками (чтобы он выглядел как файл на Фото 1):
вариант доменного имени «example.org»;
option domain-name-servers ns1.example.org, ns2.example.org;
2. Удалите комментарий («#» ') из строки «авторитетный» (фото 1 также может пригодиться):
# Если этот DHCP-сервер является официальным DHCP-сервером для локальной сети, авторитетная директива должна быть раскомментирована.
# авторитетный;
3. Добавьте этот код в самый конец файла (см. Фото 2):
подсеть 192.168.42.0 сетевая маска 255.255.255.0 {
диапазон 192.168.42.10 192.168.42.50 опция широковещательный адрес 192.168.42.255; вариант маршрутизаторов 192.168.42.1; время аренды по умолчанию 600; max-lease-time 7200; вариант доменного имени «местный»; option domain-name-servers 8.8.8.8, 8.8.4.4; }
Что это делает ?! Подводя итог (очень кратко), он устанавливает диапазон IP-адресов для назначения подключенным устройствам (от 192.168.42.10 до 192.168.42.50), как и ваш домашний маршрутизатор! Он также сообщает Pi, как взаимодействовать с другими устройствами (его широковещательный адрес 192.168.42.255 и его собственный IP-адрес 192.168.42.1). Он назначает время (в секундах) для совместного использования этого соединения (время аренды) и настраивает серверы доменных имен (например, поиск номера телефона в каталоге).
4. Сохраните и выйдите, нажав «Ctrl - X», а затем «y» (а затем клавишу ввода)
Шаг 9: отредактируйте файл DHCP-сервера по умолчанию
Давайте отредактируем файл DHCP-сервера, чтобы мы могли назначить его для трансляции через WiFi! Перейдите к файлу сервера DHCP по умолчанию, набрав следующее:
sudo nano / etc / default / isc-dhcp-server
1. Прокрутите вниз до строки с надписью INTERFACES =”” и измените ее на широковещательную передачу через wlan0 (это ноль, а не O):
ИНТЕРФЕЙСЫ =”wlan0”
2. Сохраните и выйдите, нажав «Ctrl - X», а затем «y» (вы, наверное, уже догадались об этой комбинации клавиш, поэтому я перестану ее упоминать:)).
Шаг 10: настройте статический IP-адрес
1. Давайте дадим нашему Pi статический (неизменный) IP-адрес, чтобы мы всегда могли его найти, ура! Временно отключите сеть с беспроводным интерфейсом:
sudo ifdown wlan0
2. С помощью программы текстового редактора nano отредактируйте файл сетевых интерфейсов (что вы, вероятно, поняли, прочитав команду (:)
Судо нано / и т. д. / сеть / интерфейсы
3. Отредактируйте файл так, чтобы он выглядел точно так, как показано ниже, затем выйдите и сохраните (также посмотрите Фото 1):
авто лоу
iface lo inet loopback iface eth0 inet dhcp
разрешить горячее подключение wlan0
iface wlan0 inet static
адрес 192.168.42.1 маска сети 255.255.255.0
#iface wlan0 inet manual
# wpa-roam /etc/wpa-supplicant/wpa_supplicant.conf #iface по умолчанию inet dhcp
4. Назначьте статический IP:
sudo ifconfig wlan0 192.168.42.1
Шаг 11. Настройте параметры точки доступа
1. Создайте новый файл конфигурации с именем «hostapd»:
sudo nano /etc/hostapd/hostapd.conf
2. Запишите следующее (точно как есть) в этот новый файл конфигурации (затем выйдите и сохраните) (Фото 1):
интерфейс = wlan0
ssid = HelloWorld # Имя вашего Wi-Fi-соединения RPi country_code = US # Если вы не находитесь в другом месте! hw_mode = g channel = 6 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 # Это протокол пароля wpa_passphrase = raspberry # Измените пароль! wpa_key_mgmt = WPA-PSK wpa_pairwise = CCMP wpa_group_rekey = 86400 ieee80211n = 1 wme_enabled = 1
3. Сообщите протоколу HostAPD, где найти этот новый файл
Отредактируйте файл HostAPD по умолчанию:
судо нано / и т.д. / по умолчанию / hostapd
Найдите строку с # DAEMON_CONF = "". Удалите комментарий и отредактируйте его так, чтобы он выглядел так (Фото 2):
DAEMON_CONF = "/ etc / hostapd / hostapd.conf"
Отредактируйте файл инициализации HostAPD:
судо нано /etc/init.d/hostapd
Найдите строку с надписью DAEMON_CONF =. Отредактируйте его так, чтобы он указывал на ваш новый файл конфигурации! Вот так (фото 3):
DAEMON_CONF = / etc / hostapd / hostapd.conf
Шаг 12: Настройте преобразование сетевых адресов («NAT»)
Этот шаг позволяет нескольким клиентам (например, всем вашим друзьям!) Одновременно подключаться к Wi-Fi Pi (играть во все игры !!). Это немного технический вопрос, поэтому я не буду останавливаться на достигнутом (тоже не очень хорошо знаком с этой частью), но он поможет вам пройти через весь процесс.
1. Во-первых, нам нужно запускать IP-переадресацию каждый раз при включении Pi. Введите следующую команду для редактирования файла конфигурации sysctl *:
sudo nano /etc/sysctl.conf
- Прокрутите вниз и введите этот код в новой строке, затем выйдите и сохраните:
net.ipv4.ip_forward = 1
* кстати, это L в sysctl, а не 1, который я так много раз перепутал -.-
2. Активируйте переадресацию IP, набрав:
sudo sh -c «эхо 1> / proc / sys / net / ipv4 / ip_forward»
3. Создайте сетевую трансляцию между портом Ethernet eth0 и портом WiFI wlan0, введя следующие команды (со знаками, заглавными буквами и т. Д.):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT
sudo iptables -A ВПЕРЕД -i wlan0 -o eth0 -j ПРИНЯТЬ
4. Чтобы обеспечить трансляцию сети при перезагрузке Pi, запустите следующее:
sudo sh -c «iptables-save> /etc/iptables/rules.v4»
Шаг 13: Проверьте эту точку доступа
1. Запустите hostapd с нашим файлом конфигурации вручную с помощью этой команды:
sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf
2. Проверьте список WiFi на своем компьютере или смартфоне и найдите SSID своей новой точки доступа! Если вы ничего не меняли, он будет называться «HelloWorld» с паролем «Raspberry».
Если вы подключитесь успешно, вы получите текст на экране Raspberry Pi. Мы еще не так много увидим, но мы очень близки!
3. Отмените тест, набрав «Ctrl + C» в консоли Raspberry Pi
Вы можете проверить состояние хост-сервера AP и DHCP-сервера с помощью следующих команд:
статус службы sudo hostapd
sudo service isc-dhcp-server статус
Шаг 14: настройте демона
Демон - это программа, которая запускается автоматически каждый раз при включении Pi и работает в фоновом режиме (не совсем как в серии «Его темные материалы» …).
1. Запустите программы hostapd и dhcp:
sudo service hostapd start
служба sudo запуск isc-dhcp-server
2. Выполните следующие две команды, чтобы включить автоматический запуск hostapd и dhcp при включении Pi:
sudo update-rc.d hostapd включить
sudo update-rc.d isc-dhcp-server включить
Шаг 15: Почти готово! Создайте HTML-файл веб-сервера
1. Напишите HTML-страницу для размещения на своем веб-сервере! Или скачайте адаптированную мной из цифровой бесплатной библиотеки Adafruit:)
Загрузите и сохраните zip-файл, затем извлеките его содержимое. (Вот полная страница GitHub)
2. Откройте WinSCP и введите имя хоста: raspberrypi.local
3. Войдите в Pi (введите имя пользователя и пароль)
4. На стороне Pi (правая сторона) перейдите в домашний каталог
Дважды щелкните папку со стрелкой вверх.
5. Перейдите в файл / var / www / html
Дважды щелкните папку с надписью «var», затем папку «www» и, наконец, папку «html».
6. Удалите существующий файл index.html (или, если вы хотите написать свой собственный, вы можете просто открыть и отредактировать его).
7. Скопируйте файлы веб-сервера в папку Pi html
В левой части экрана (на вашем компьютере) перейдите в папку, в которой вы сохранили файлы. Выделите и перетащите содержимое (две папки и файл с именем «index.html») в папку Pi html. Вот и все!
8. Откройте браузер и введите «raspberrypi.local» на панели навигации вверху. Если это сработало, вы увидите страницу веб-сервера, что что!
Шаг 16: Отредактируйте HTML-файл Pt. 1
Вы, вероятно, захотите создать свой собственный веб-сайт, поэтому добавьте свои собственные документы / изображения / что угодно и измените файл HTML, чтобы он указывал на ваши файлы!
1. Откройте файл index.html на Pi
2. Отредактируйте заголовки и дескрипторы в файле index.html
- Измените заголовок своего веб-сервера, отредактировав текст между частями заголовка:
Локальный веб-сервер jenfoxbot!
- Измените заголовок веб-сервера, отредактировав текст между h2 и центральной частью (строка 51):
Локальный веб-сервер jenfoxbot
- Необязательно: измените описание веб-страницы (строка 55):
В зависимости от положения луны и звезд *, эта точка доступа может обеспечивать или не обеспечивать подключение к Интернету.
Если есть подключение к Интернету, посетите сайт jenfoxbot.
и узнайте о других интересных вещах, которые она делает!
* А под положением луны и звезд мы подразумеваем текущие прихоти строителя, jenfoxbot:)
3. Необязательно: удалите существующие документы, изображения и видео и добавьте свои собственные
У этой веб-страницы два слоя: первая страница, которая создается файлом index.html, и внутренняя страница, состоящая из двух страниц: «Helpinfo.html» и «books.html». Если вы хотите добавить / изменить контент на главной странице, отредактируйте файл «index.html» и напрямую добавьте изображения в папку «images» (вы также можете добавить дополнительные папки для хранения другого или большего количества контента).
Если вы хотите изменить содержимое на внутренних страницах, отредактируйте файлы «Helpinfo.html» и «books.html», добавьте изображения в папку «images» и файлы PDF (или другие документы) в папку «issues» (опять же, вы можете добавить сюда больше папок).
Шаг 17: Отредактируйте HTML-файл Pt. 2
1. Добавьте свои документы
- Решите, что вы хотите разместить на своем сервере, и загрузите PDF-файлы этих документов. Также загрузите изображения для каждого из документов, чтобы вам было интересно нажать на что-нибудь: D
- Используя WinSCP, добавьте свои документы в соответствующие папки (см. Предыдущий шаг и фото 1).
- Отредактируйте index.html или другой соответствующий html-файл (например, если вы хотите добавить или изменить книгу на странице полезной информации, отредактируйте файл «Helpinfo.html»). Отображение и доступ к изображениям и документам путем изменения имен файлов и расширений, а также обновления описаний:
ВСЕ ВАШИ ЛЮБИМЫЕ СЛОВА ЗДЕСЬ
2. Для тех, кто плохо знаком с кодом, вы можете добавить больше документов, скопировав и вставив существующий код и изменив имена и расширения файлов (см. Фото 2)!
Вот полезный обзор HTML от Khan Academy!
Шаг 18: Боже, наконец! Были сделаны:)
Отсоедините кабель Ethernet, подключитесь к беспроводной точке доступа, а затем введите IP-адрес в адресной строке вашего любимого браузера (192.168.42.1, если вы точно следовали этому руководству).
Если все работает, вы увидите свою веб-страницу (я включил свои скриншоты). Ух ты только что создал точку беспроводного доступа !! (Если это не сработало, выполните настройку еще раз и дважды проверьте, что весь код терминала точно такой, как показано, включая пробелы и т. Д.).
Изучите свой собственный локальный облачный веб-сайт и решите, как вы хотите его использовать отсюда!
Шаг 19: Что дальше?
Один из вариантов - использовать его в качестве локального беспроводного запоминающего устройства. Подключите Pi, подключитесь к настроенной точке доступа Wi-Fi (она называется «HelloWorld») и сохраните или удалите файлы из нее. Вы можете получить доступ к этим файлам, даже если вы не подключены к Интернету. Так что вы можете сохранить свой любимый фильм и продолжать смотреть его, когда отключится электричество:) (э-э, если у вас заряженный ноутбук).
Добавьте больше документов (например, вы можете использовать его в качестве резервного хранилища), поиграйте с HTML-кодом, чтобы сделать ваш сайт привлекательным, и получайте удовольствие!
Другой вариант - настроить его как общедоступную веб-страницу и назначить ей доменное имя, чтобы другие люди могли получить доступ к файлам. Это особенно полезно, если вы собираетесь куда-то без Wi-Fi или кабельного Интернета - вы можете взять с собой Википедию! (но, возможно, пожертвуйте им, если вы это сделаете, потому что они классные). Если вы знакомы с кодом, вы можете настроить его как сервер автоматического резервного копирования, локальный беспроводной игровой сервер для вас и ваших друзей и т. Д. Проявите творческий подход!
Если вы пойдете по этому пути, убедитесь, что вы немного знаете о сетевой безопасности, поскольку протокол паролей WPA2 недавно был скомпрометирован (см. Ниже).
Наконец, как упоминалось во вступлении, вы можете использовать этот облачный сервер, чтобы запустить Интернет для людей! Проведите день сборки с друзьями, чтобы создать кучу облачных серверов, чтобы все вы могли «разговаривать» друг с другом! Этот подход не обязательно является * лучшим * (то есть наиболее эффективным) способом построения общедоступного Интернета, но это отличная отправная точка. Кроме того, чем лучше мы понимаем, как работают эти технологии, тем лучше мы используем их для решения серьезных проблем и защиты интересов самих себя и наших сообществ.:)
Дополнительная информация об угрозе безопасности WPA2 от полезного пользователя BillDauterive:
"Злоумышленнику необходимо, чтобы устройство в пределах досягаемости целевой сети Wi-Fi представляло угрозу, т.е. открытие порта в Интернет не влияет на это. Если [точка доступа] скомпрометирована, злоумышленник может шпионить / изменять трафик в сети Wi-Fi, который не зашифрован через TLS. В скомпрометированной беспроводной локальной сети незашифрованный VNC для Pi будет представлять опасность даже при доступе через беспроводную локальную сеть ».
Финалист Raspberry Pi Contest 2017