Как с Raspberry Pi сделать маршрутизатор Wi-Fi
Оценка пользователей: / 17
ПлохоОтлично 
Wi-Fi AP Raspberry PiХотите иметь отдельную сеть Wi-Fi для своих гостей? Или домашнюю сеть, которая работает с альтернативной конфигурации DNS?
Вам больше не придется покупать новый Wi-Fi маршрутизатор, чтобы сделать это - Вы можете превратить свой Raspberry Pi (RPi) в Wi-Fi маршрутизатор.
Мы проведем Вас через процесс настройки RPi сети Wi-Fi.
Предпосылки и оборудование
Вам потребуются:
  • Raspberry Pi
  • USB Wi-Fi адаптер (например, Edimax EW-7811Un - беспроводной 802.11b/g/n нано USB адаптер - крошечный и дешевый)
  • SD-карта с установленной ОС Raspbian (руководство, если Вам нужно)
  • Доступ к RPi как с помощью клавиатуры и монитора, так и удаленно
Raspberry Pi с Edimax Wi-Fi адаптером
Прежде, чем мы приступим, хотим указать на важность покупки правильного USB Wi-Fi адаптера. Как Вы, возможно, почувствовали с другими типами устройств, что не все они plug-n-play. Иногда Вам было необходимо загрузить драйвер, чтобы заставить их работать. В то время как драйверы, как правило, легко доступны для компьютеров Windows, - это совсем другой мир для Linux и RPi. Вот почему очень важно купить Wi-Fi адаптер, который упоминает "Linux" в описании продукта или пакета. Автор использует Edimax - беспроводной 802.11b/g/n нано USB адаптер, потому что он дешевый и с ним очень легко работать. Рекомендую Вам сделать то же самое - это поможет сэкономить много головной боли.
Edimax Wi-Fi
Убедитесь, что Wi-Fi адаптер работает на Raspberry Pi
Вставьте адаптер USB Wi-Fi в один из свободных портов USB на RPi. Подайте питание на RPi. В этот момент Вы должны либо подключиться к RPi с помощью кабеля Ethernet, или использовать клавиатуру и монитор для доступа к RPi.
Если нужна помощь с внешним подключения к RPi, то прочитайте статью, как удаленно получить удобный защищенный доступ к RPii с помощью проводного подключения к сети.
После загрузки и регистрации Вы должны убедиться, что RPi нашел свой новый беспроводной адаптер. Чтобы посмотреть, какая периферия найдена операционной системой при загрузке, выполните следующую команду:
dmesg | more
Вы можете использовать пробел, чтобы прокрутить страницу вниз за один раз - в конце увидите что-то похожее на следующие строки
[ 3.282651] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[ 3.394810] usb 1-1.2: New USB device found, idVendor=7392, idProduct=7811
[ 3.407489] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.420530] usb 1-1.2: Product: 802.11n WLAN Adapter
Это означает, что операционная система признала USB Wi-Fi адаптер с помощью одного из встроенных драйверов (можете вернуться к терминалу, нажав Q). Все, что осталось, это настроить подключение Wi-Fi.
Устновка программного обспечения маршрутизатора
Для того, чтобы RPi выступал как Wi-Fi роутер и точка доступа, необходимо установить некоторое дополнительное программное обеспечение на RPi. Вам необходимо следующее программное обеспечение:
  • hostapd
hostapd является службой (демоном) пользователя для серверов точек доступа и аутентификации. Это означает, что он может превратить Ваш RPi в точку доступа и другие компьютеры смогут подключиться. Он также будет заниматься безопасностью таким образом, чтобы можно было настроить Wi-Fi с паролем.
  • isc-dhcp-server
isc-dhcp-server является реализацией Internet Systems Consortium DHCP-сервера. DHCP-сервер отвечает за назначение адресов компьютерам и устройствам, подключенным к точке доступа Wi-Fi.
Чтобы установить ПО для DHCP выполните следующую команду:
sudo apt-get install isc-dhcp-server
Далее необходимо программное обеспечение для HostAPD. Потому, что драйвер точки доступа нашего USB-модуля не поддерживает родное приложение HostAPD, нам необходимо установить специальную версию, собранную с драйвером, который необходим. Это может быть сделано с помощью следующих команд, выполненных одна за другой:
wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz
tar -zxvf v1.1.tar.gz
cd RTL8188-hostapd-1.1/hostapd
sudo make
sudo make install
Это займет немного времени.
После загрузки мы готовы настроить программное обеспечение.
Настройка ISC-DHCP-сервера
Для настройки DHCP-сервера откройте файл /etc/dhcp/dhcpd.conf в Вашем любимом текстовом редакторе. Вы можете открыть его в нано с помощью команды:
sudo nano /etc/dhcp/dhcpd.conf
Найдите раздел, который ниже, и закомментируйте его, поставив хэштег в начале строки:
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
Далее найдите ниже в разделе и раскомментируйте слово авторизации (удалите hastag):
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
Теперь файл должен выглядеть следующим образом:
Wi-Fi AP Raspberry Pi-1
Далее нам нужно указать сеть и сетевые адреса, которые DHCP-сервер будет обслуживать. Это делается путем добавления следующего блока конфигурации в конец файла:
subnet 192.168.10.0 netmask 255.255.255.0 {
 range 192.168.10.10 192.168.10.20;
 option broadcast-address 192.168.10.255;
 option routers 192.168.10.1;
 default-lease-time 600;
 max-lease-time 7200;
 option domain-name "local-network";
 option domain-name-servers 8.8.8.8, 8.8.4.4;
}
Это позволит DHCP-серверу раздавать IP-адреса с 192.168.10.10 по 192.168.10.20 в собственной локальной сети. Специалисты по конфигурации сетей могут изменить эти значения, если хотят использовать другие сетевые адреса и/или другие серверы DNS. Приведенная конфигурация будет использовать DNS-серверы Google на 8.8.8.8 и 8.8.4.4.
Чтобы сохранить файл, нажмите Ctrl+O, чтобы записать файл на диск - потом можно выйти из нано, нажав Ctrl+X. Если нано спросит, хотите сохранить измененный буфер, то нажмите "Y", а затем нажмите Enter для подтверждения имени файла.
Следующий файл для редактирования /etc/default/isc-dhcp-server, который Вы можете открыть в нано помощью следующей команды:
sudo nano /etc/default/isc-dhcp-server
Выделите строки, упоминющие интерфейсы, и обновите строку, чтобы она выглядел так:
INTERFACES="wlan0"
Это позволит DHCP-серверу раздавать сетевые адреса через беспроводной интерфейс. Сохраните файл и выйдите из нано.
На последнем шаге настройки DHCP-сервера необходимо настроить статический IP-адрес для адаптера беспроводной сети. Это делается в файле /etc/network/interfaces - перед его открытием убедитесь, что интерфейс WLAN не работает. Сделайте это с помощью следующих команд:
sudo ifdown wlan0
sudo nano /etc/network/interfaces
Измененный файл должен выглядеть следующим образом:
Wi-Fi AP Raspberry Pi-2
Это позволит беспроводному адаптеру взять адрес 192.168.10.1 в нашей новой локальной сети. Не забудьте закомментировать последние 3 строки файла.
На этом настройка DHCP-сервера завершена, однако, мы все еще не можем подключиться к нашей новой сети, потому что не установлена точка доступа. Это делается путем настройки программы hostapd.
Настройка HostAPD
Чтобы настроить HostAPD, откройте файл /etc/hostapd/hostapd.conf в текстовом редакторе. Вы можете открыть его в нано с помощью следующей команды:
sudo nano /etc/hostapd/hostapd.conf
Стандартная конфигурация создаст новую беспроводную сеть под названием wifi с паролем YourPassPhrase. Вы можете изменить параметр "ssid = wifi" по имени WiFi SSID, которое хотите, а в параметре "wpa_passphrase = YourPassPhrase" указать код доступа.
Это завершает конфигурацию программного обеспечения HostAPD нашей точки доступа. Следующим будет разрешение NAT.
Включенне NAT
Следующим шагом, прежде чем мы сможем запустить точку доступа, является настройка трансляции сетевых адресов (Network Address Translation - NAT). Это позволит убедиться, что наш сетевой трафик может достигнуть Интернета, используя соединение через Ethernet-кабель RPi с интернет-маршрутизатором.
Откройте etc/sysctl.conf з:
sudo nano /etc/sysctl.conf
Перейдите к последней строке файла и добавьте строку:
net.ipv4.ip_forward=1
Следующее - запустить трансляцию немедленно командой:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Запустите беспроводную сеть через:
sudo ifup wlan0
Теперь создадим фактическую трансляцию между портом локальной сети под названием eth0 и беспроводной картой под названием 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 FORWARD -i wlan0 -o eth0 -j ACCEPT
Теперь с настроенным NAT настало время  для первого запуска точки доступа.
Пуск собственного беспрводного маршрутизатора
Теперь Вы готовы запустить DHCP-сервер и приложение HostAPD точки доступа. Это можно сделать командой:
sudo service isc-dhcp-server start
sudo service hostapd start
В этот момент Вы должны быть в состоянии найти беспроводную сеть на ноутбуке, подключиться к ней и выйти в Интернете!
Завершенне...
В то время, как очень хорошо, что теперь у Вас есть своя RPi, которая работает как беспроводная точка доступа, но не все так хорошо, потому что Вы должны вводить логин каждый раз, когда перегружаетесь, чтобы запустить программное обеспечение HostAPD и DHCP...
Чтобы избежать этого, выполните следующие команды:
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable
Чтобы избежать необходимости настраивать NAT каждый раз, когда перезагружаете RPi, можете сделать следующее.
Выполните данную команду для резервного копирования NAT конфигурации:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Добавьте следующее в конец файла /etc/network/interfaces для восстановления конфигурации, когда поднимется сетевой интерфейс:
up iptables-restore < /etc/iptables.ipv4.nat
Файл должен выглядеть так:
Wi-Fi AP Raspberry Pi-3
В этот момент попробуйте перезагрузить RPi, чтобы убедиться, что все работает как положено - можно перезагрузить с помощью команды:
sudo reboot
Надеюсь, Вы снова увидите свою новую точку доступа в онлайн. После того, как она поднимется, Вы сможете подключиться к ней и получить доступ к Интернету.
(Источник EN: raspberrypihq.com)
 
>
КнигаНовости Практика поискаПартнерыО нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting