среда, 1 июля 2009 г.

opensuse 11 + samba + rtorrrent = домашний сервер

Есть у меня старый компьютер следующей конфигурации Pentium 4 2 GHz + 256 Mb RAM + 80 Gb HDD + Opensuse 11. Выбрал я эту систему так как ее приходиться испоьзовать по работе и она для меня самая близкая и знакомая, да и плюс всегда есть у кого проконсультироваться.
У меня есть пару соседей по квартире, с которыми я ее снимаю, захотелось мне раздавать всем интернет сделал я сначала простейшую настройку iptables прописыванием нескольких строк:

pppd call <имя вашего провайдера> //Стартует Интернет который идет через впн, настройки можно найти в сети.
echo 1 > /proc/sys/net/ipv4/ip_forward // Главное это включить форвардинг
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE // Включаем маскарад
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE


Так как мой локальный провайдер дает динамические локальные адреса то пришлось делать маскарад. PPP0 - это интернет интерфейс, а eth2 это интерфейс локальной сети провайдера.
Все это я сунул в файл inet, дал ему права на выполнение и кинул его в /usr/sbin. Затем чтобы маскарад работал всегда при включении сервера я создал файл after.local в папке /etc/init.d, в этом файле была только одна строка /usr/sbin/inet.

Дальше больше, мне захотелось не просто раздавать инет, а также постоянно скачивать и раздавать торренты, благо интернет у меня безлимитный хоть и не очень скоростной 512kb/sec.
Здесь все оказалось сложнее чем я думал, хотя может у меня просто руки кривые, тем не менее у меня все никак не хотела работать связка wtorrent+rtorrent. Сколько я не бился максимум что мне удалось добиться это только запуска того и другого по отдельности)
Я решил пойти другим путем и настроить rtorrent+webui, нашел замечательный мануал тут. Да кстати, ЭТО ОЧЕНЬ ВАЖНО!!! Нельзя ставить rtorrent из репозитариев, там он (как я понял) в целях безопасности собран БЕЗ поддержки xml-rpc, так что надо собрать его самому из исходников, ну это просто. Попутно мне пришлось разобраться с установкой и настройкой сервера apache, а также прикруткой к нему xml-rpc.
Пару слов о настройке rtorrrent'a я настроил его так чтобы он каждые 5 секунд мониторил определенную директорию на диске и при появлении там торрент файла начинал закачку.
Ну вот вобщем про торренты и все.

Теперь я захотел сделать из своего сервера еще и сетевое хранилище, чтобы все видели его как сетевой диск в виндовс. Это было относительно просто, даже для такого как я тормоза) Хочу сказать что до этого момента я себе очень смутно представлял что такое самба и с чем его едят, но пару часов в гугле, и чтение манов мне помогло.
Так что вроде все) Если есть вопросы то пишите.
P.S. Собираюсь тут заняться asterisk'oм очень интересная штука для организации сети ип телефонии, сейчас поднял fastcgi и mysql на своем сервере и собираюсь сделать в своей локальной сети по городу ип телефонию)