четверг, 5 июля 2012 г.

Рождение Zombie

Подогнал тут мне хороший товарисч убитый комп. И тут такое началось

Перевесил на него бонусом старый терабайтный винт с фильмами, музыкой и прочим полезным барахлом. Поднял на нем самбу, чтобы можно было этим всем пользоваться с остальных машин в сети.
Поставил на него арч чтоб не париться с аптовскими тупыми зависимостями.
Настроил сетку по DHCP.
rc.conf:
interface=eth0
address=
Билайн поднялся и, что удивительно, пустил на репы яндекса без подключения к интернету (хотя и медленно).
Настроил xL2TPd для билайновского инета
xl2tpd.conf:
[global]
access control = yes
[lac beeline]
lns = vpn.internet.beeline.ru
redial = yes
redial timeout = 5
require chap = yes
require authentication = no
name = 0000000000 # имя пользователя
pppoptfile = /etc/ppp/peers/beeline
require pap = no
autodial = yes
/etc/ppp/peers/beeline:
name 0000000000 # имя пользователя
remotename beeline
ipparam corbina
connect /bin/true
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
defaultroute
noauth
/etc/ppp/chap-secrets
# login    remotename password
0000000000 beeline PaS$woorDD

Воткнул в него вайфай брелок TL-WN722NC, дрова определились без проблем.
[remote@zombie ~]$ lsusb
Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n

Настроил wifi с помощью hostapd
hostapd.conf:
interface=wlan0
ssid=Zombie
country_code=RU
hw_mode=g
channel=7
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40] # это для поддержки 80211N брелком
wpa_passphrase=PaS$woorDD
wpa_pairwise=TKIP CCMP

Пришлось использовать netcfg т.к. нужно при загрузке сконфигурировать несколько интерфейсов.
rc.conf (вместо eth0):

interface=wlan0
address=192.168.100.1
netmask=255.255.255.240
...

DAEMONS=(
    ...
    network hostapd dhcp4
    net-profiles xl2tpd
    iptables
    ...
)

/etc/network.d/Wired:
CONNECTION='ethernet'
DESCRIPTION='Wired ethernet connection'
INTERFACE='eth0'
IP='dhcp'
/etc/conf.d/netcfg
NETWORKS=(Wired)


Теперь, когда есть интернет и вайфай, нужно пробросить трафик из инета в локалку при помощи NAT. Не стал заморачиваться с bridge и настроил через iptables:
*mangle
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
*nat
-A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE
COMMIT
*filter
-A FORWARD -i wlan0 -j ACCEPT
COMMIT
Если нет проблем с MTU, может заработать и без первой строчки в mangle, но лучше с ней.
Точка доступа поднялась, инет пошел по вайфаю. Зомби отправился на балкон.
Чтобы не гонять лишнего по воздуху поставил на него торренты на Deluge.
/srv/deluge/.config/deluge/core.conf
"allow_remote": true,
Всё. Трафик льется на zombie, управляем торрентами с десктопного клиента.
Напоследок еще запилил на нем MPD - консольный медиаплеер, которым тоже можно рулить с любого клиента в локальной сети и прикрутил к нему mpdscribble, чтобы треки заливались автоматом на last.fm. Там же крутится nginx с текущими проектами.

И, да. IT'S ALIVE!! ALIVE!!!

четверг, 5 июля 2012 г.