Создание многофункциональной точки доступа из старого компьютера

Материал из WikiAdmin
Перейти к: навигация, поиск

В наличии старый компьютер. В данном примере: Celeron с частотой 566Мгц и память в общей сложности 192МБ. Можно было бы из него сделать домашнюю интернет-машинку, но таковых устройств более чем хватает. А вот сделать что-то многофункционально-незаметное можно. Для этого системного блока была выбрана ОС Ubuntu Server. В качестве карты Wi-Fi была выбрана D-link DWL-G510.

PS К тому же на такой "точке доступа" легко настроить IPv6 и уже иметь доступ извне, если провайдер не дает реальный IP. К тому же некоторые торрент-трекеры уже сейчас поддерживают IPv6.

Содержание

Точка доступа

Настраиваем сетевые карты

Для того, чтобы у нас этот компьютер стал неплохой точкой доступа, нам нужно будет добавить в него wi-fi карточку и поднять две службы - hostapd и dhcpd. Первая служба станет самим сервисом, превращающим машинку в точку доступа. А вторая будет раздавать IP присоединившимся по Wi-Fi компьютерам. Начнем с настроек сетевых карт. Итак, смотрим файл /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.0.150
        netmask 255.255.255.0
        gateway 192.168.0.1
        post-up iptables-restore < /etc/iptables.up.rules

auto wlan0
iface wlan0 inet static
    address 10.0.0.1
    netmask 255.255.255.0

Комментарии тут, по понятным причинам, просто убраны. Итак, у нас есть внутренний интерфейс lo. Его мы трогать не будем. Интерфейс eth0 - его в данном случае мы настроили статично с IP 192.168.0.150 и шлюз указан 192.168.0.1 (так устроена сеть в данном месте). Ну и последний в нашем списке - wlan0. Это та самая беспроводная Wi-Fi-карта. Ей мы так же присвоили статичный IP и отдали в подсети заслуженное первое место - 10.0.0.1

Установка Hostapd в Ubuntu

Теперь давайте поставим hostapd. В Ubuntu это можно сделать буквально одной командой:

apt-get install hostapd

И теперь давайте поправим его конфигурацию. Текст настройки мы разместим в /etc/hostapd/hostapd.conf:

wpa=3
rsn_pairwise=CCMP
wpa_passphrase=password
driver=nl80211
interface=wlan0
hw_mode=g
channel=1
ssid=net
#необязательная часть
macaddr_acl=1 #включаем фильтрацию по MAC, это необязательная опция
accept_mac_file=/etc/hostapd/accept #указываем файл со списком разрешенных MAC

Файл /etc/hostapd/accept просто содержит MAC адреса. Например, так:

00:01:01:01:10:01
00:11:11:41:6b:cc
11:05:a3:e4:12:11

В конфиг-файле следует обратить внимание на строчку wpa_passphrase - здесь вы укажите свой пароль к сети. В строке ssid вам нужно будет указать название своей сети, которое будет видно с клиентов. Остальные строчки можно оставить как есть. И советую не забыть добавить этот конфиг в /etc/init.d/hostapd. Для этого просто откройте файл и строчку DAEMON_CONF= отредактируйте в DAEMON_CONF=/etc/hostapd/hostapd.conf.

Настройка DHCPD в Ubuntu

Теперь мы позаботимся о том, чтобы подключающиеся устройства получали нужный им IP и другие сетевые параметры. Этим у нас займется DHCPD. Для начала установим его:

apt-get install dhcp3-server

Несмотря на то, что на данном сайте уже есть примеры настройки DHCPD, думаю не лишним будет еще раз их посмотреть. Они располагаются в файле /etc/dhcp3/dhcpd.conf:

default-lease-time 3600;
max-lease-time 9000;
authoritative;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
interface wlan0;
range 10.0.0.2 10.0.0.254;
option domain-name-servers 192.168.0.252, 192.168.0.253;
option routers 10.0.0.1;
option broadcast-address 10.0.0.0;
}

Тут все просто - мы раздаем адреса с 10.0.0.2 по 10.0.0.255. DNS сервера вы можете посмотреть у себя в /etc/resolv.conf. И не забудьте указать в качестве шлюза свою точку 10.0.0.1. Как раз строка option routers за это и отвечает. Если все сделали, то советую зайти еще в файл /etc/default/dhcp3-server. И здесь обязательно укажите, какой интерфейс будет раздавать IP. Это необходимо поправить в сл. строке:

INTERFACES="wlan0"

Настройка трансляции пакетов

Если вы все уже настроили, попробовали запустить и ошибок не возникло, то теперь самое время еще и настроить трансляцию адресов. Для этого стоит зайти в файл /etc/sysctl.conf и найти там строчку:

net.ipv4.ip_forward=1

Если в этой строке стоит комментарий в начале, уберите его. Можно конечно сразу эти данные передать системе, чтобы не перегружать. Это просто сделать командой:

sysctl -w net.ipv4.ip_forward="1"

И теперь зададим для iptables некоторое правило, которое будет транслировать пакеты из внутренней сети во внешнюю:

/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE

Не забудьте его сохранить, чтобы оно подключалось при каждой загрузке системы. И теперь все, можете перезапустить систему, чтобы проверить корректность поднятия сервисов и пробуйте подключиться с клиента. Если возникают какие-либо ошибки, не забывайте это смотреть в /var/log/messages

Торрент-клиент

Для того, чтобы можно было загружать файлы через torrent, я рекомендую поставить transmission-daemon. Корректно и быстро работает, а так же имеет хороший веб-интерфейс. Его установка и настройка описана на странице Torrent-клиенты. Однако есть отличие в расположении конфигурационного файла

Музыкальный сервер

Если сервер спрятан, никому не мешает, а дома у вас завалялась лишняя звуковая система - почему бы не использовать этот сервер для того, чтобы слушать музыку? Для этого вы можете поставить сервис MPD. Плюс в том, что управляется он по сети с различных клиентов, в том числе и для мобильных устройств.

Система видеонаблюдения

При наличии веб-камеры, поддерживаемой в Ubuntu, вы можете поставить сервис motion, который позволяет не только видеть данные в камеры, но и записывать при наличии движений. Данный сервис имеет так же хороший веб-интерфейс. Однако хотелось бы предупредить, что процесс кодирования видео может быть тяжеловат для старой техники (для нетбука asus eee pc 701 c 1Ггц процессором и 512МБ памяти этот сервис практически незаметен).

Если эта страница оказалась для вас полезной, нажмите на кнопку. :)
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты