Создание многофункциональной точки доступа из старого компьютера
В наличии старый компьютер. В данном примере: 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МБ памяти этот сервис практически незаметен).