Shoutcast — ваше собственное онлайн-радио

Создадим каталог для Shoutcast и скачаем программу:

warehouse:~# mkdir /usr/local/shoutcast
warehouse:~# cd /usr/local/shoutcast/
warehouse:/usr/local/shoutcast# wget http://yp.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz

Теперь нужно отредактировать файл sc_serv.conf. Так как я планирую ретранслировать интересное мне радио, мною были внесены изменения следующих параметров:

Password=MySecretPass
ScreenLog=0
RelayPort=8000
RelayServer=http://some.online.radio:8004

Теперь остаётся только запустить его:

warehouse:/usr/local/shoutcast# ./sc_serv sc_serv.conf &

Теперь можно взять любой плеер, поддерживающий потоковое аудио и открыть сетевое радио по адресу http://warehouse.center:8000

Если бы в нашей сети были желающие побыть в роли диджеев, можно было бы донастроить сервер на приём данных от них и вещание сетов в сеть. Но так как таковых у нас пока нет, обходимся тем, что есть. 🙂

Маскарадинг в моей сети

Как организовать раздачу интернета через шлюз под управлением Debian GNU/Linux? Очень просто. 😉

Разрешим пересылку пакетов:

gateway:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Создадим файл ipmasq.sh в котором будут прописаны правила для iptables:

#!/bin/sh

# “внешний” интерфейс, “смотрящий” в интернет

EXTIF=”eth1″

# внутренний интерфейс в локальную сеть

INTIF=”eth0″

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -F INPUT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -F OUTPUT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F FORWARD
/sbin/iptables -t nat -F

# разрешаем прохождение пакетов извне в локальную сеть только для установленных соединений

/sbin/iptables -A FORWARD -i $EXTIF -o $INTIF -m state –state ESTABLISHED,RELATED -j ACCEPT

/sbin/iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

/sbin/iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Теперь, если запустить этот файл, интернет будет доступен всем машинам в локальной сети. 🙂

Как я уже упоминал ранее, у меня был разрешён доступ по связкам mac-ip, чтобы пользователи не меняли свои ip адреса и не пользовались “чужим интернетом”. Реализовать это тоже довольно просто. Строку

/sbin/iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

Нужно заменить, например, на следующий набор правил:

/sbin/iptables -A FORWARD -s 192.168.0.1 -d 0.0.0.0/0 -m mac –mac-source 00:15:e9:xx:xx:xx -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.0.2 -d 0.0.0.0/0 -m mac –mac-source 00:15:f2:xx:xx:xx -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.0.3 -d 0.0.0.0/0 -m mac –mac-source 00:13:8f:xx:xx:xx -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.0.4 -d 0.0.0.0/0 -m mac –mac-source 00:15:60:xx:xx:xx -j ACCEPT

Таким образом машинам с ip адресами 192.168.0.1 — 192.168.0.4 будет разрешён доступ в интернет. Компьютерам с другими ip адресами в интернет выйти не получится.

Arpwatch — контролируем изменения в сети

В каждой сети рано или поздно появляются пользователи, страждущие до чужого “интернета”. Начинают они обычно с простых вещей, таких как смена IP адреса для своего компьютера. На шлюзе в моей сети в правилах iptables был разрешён доступ только определённым связкам mac — ip address, поэтому изменение IP адреса не давало возможности выйти в интернет от чужого имени. И такие пользователи обычно требуют более тщательного контроля. 🙂

Как отследить попытки изменения IP адресов? С этой задачей неплохо справляется утилита arpwatch. Всё что нужно, это установить её и провести небольшую настройку:

gateway:~# apt-get install arpwatch

Теперь настроим файл /etc/aprwatch.conf, поместим в него строчку:

eth0 -m alexey@localhost

eth0 на шлюзе смотрит в локальную сеть, на нём я и буду контролировать все возможные изменения ip адресов. На указанный e-mail будут приходить письма с уведомлением об изменениях ip и mac адресов.

gateway:~# /etc/init.d/arpwatch restart

Рестартарт демона — и он готов к работе. 🙂

Есть правда несколько минусов этой утилиты — по письмам не очень удобно смотреть кто именно “балуется” в сети. Приходится сверяться по другим данным (в моём случае можно использовать информацию из DHCP сервера). И второй минус — если “злоумышленник” будет более сообразительным, он сменит не только ip адрес, но и mac адрес. Таким образом он останется незамеченным и сможет воспользоваться “чужим интернетом”. Как защититься от проделок подобного рода я напишу в одной из следующих записей. 🙂

KDE 4.2.3

Обновил KDE до 4.2.3. Всё работает просто замечательно. Для обновления, немного меняем строки в /etc/apt/sources.list:

deb http://www.debian-desktop.org/pub/linux/debian/kde42 lenny kde422

deb-src http://www.debian-desktop.org/pub/linux/debian/kde42 lenny kde422

на:

deb http://www.debian-desktop.org/pub/linux/debian/kde42 lenny kde423
deb-src http://www.debian-desktop.org/pub/linux/debian/kde42 lenny kde423

и всё. Далее:

apt-get upgrade && apt-get upgrade

и всё. KDE обновлён до версии 4.2.3.