CentOS + iptables = роутер

Возникла необходимость настроить заново роутер используя linux. В качестве sandbox'a была взята достаточно мощная под эти нужды машинка:
Celeron 2.3 Ghz
512 DDR2 RAM
110 GB HDD

[root@sandbox ~]# uname -a
Linux 2090000.ru 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:51:07 EDT 2010 i686 i686 i386 GNU/Linux

Задача: необходимо раздавать интернеты. Учета нам не надо (по крайней мере сейчас. Если надо будет смотреть нагрузку — поставлю Nagios). Необходимо просто организовать сервер, который имел бы на борту dhcp, apache для работы/учебы/собственных проектов (настройка описываться не будет), samba (настройка описываться не будет) и igmpproxy для смотрения IP-TV. IP адрес мы получаем напрямую от провайдера — никаких VPN, L2TP и прочее здесь рассматриваться не будет.
(далее...)

Простейший мануал по настройке vpn pptp-linux

Некоторые пользуются vpn на linux. Бывает, что через network-manager vpn по какой-то причине не работает.
Вот небольшой мануал как настроить vpn через один из самых распространенных протоколов PPTP.
Можно воспользоваться утилитой KVpnc, но мы попробуем настроить VPN с помощью пакета pptp-linux. Обычно он уже предустановлен в системе.
(далее...)

Ищется соавтор

В конце-концов блог по большей мере не личный. Поэтому ищется соавтор на блог. Требования: увлекаться IT. Так что если есть кто-нибудь, кто увлекается IT и готов делится своими знаниями (да и не только) с народом — присоединяйтесь.

P.S. Ну и как личный блог использовать так же можно :)

Nginx: client intended to send too large body...

При ошибке client intended to send too large body в директиву http {...} добавить:

client_max_body_size 50m;

Ошибка связана с тем, что nginx не знает максимально разрешенного размера файла, который можно закачать.

Домашний «роутер» на Freebsd — часть 2

Продолжим нашу тему домашнего роутера на Freebsd.

В этом посте я опишу как сделать bridge из wi-fi и lan, hostapd, который позволит управлять wi-fi точкой доступа (например мы сможем поставить шифрование WPA2-PSK), а так же настроим DHCP для FreeBSD. Для тех кому нужен только wi-fi (или lan) могут настроить так же, как и здесь опустив настройку бриджа.

Итак — мы собрали ядро в необходимыми параметрами и устройством if_bridge.
(далее...)

Самый простой хак линукса

Тут намедни делать было нечего и я решил пошариться в структуре ОС. В качестве «подопытного» взял centos на виртуалке. Все началось ещё в грабе. Вот вы думаете — поставили линукс и вы мегазащишены? Ан нет! Стоит получить доступ к самому компьютеру (физический или через kvm) начинается самое интересное. Я не рассматривал варианты использования LiveCD (хотя так ещё проще и уже спасет только пароль на биос, который, ко всему прочему скидывается батарейкой), а хотел использовать что-нибудь интересное.

Как известно Linux начинает загрузку с одного из вариантов, которые описаны в файле /etc/inittab, в котором то и находятся правила, которые будут понятны машине что и как грузить.

Так вот. Есть такая «переменная» init. Она содержит в себе ссылку на программу, которая выполняется сразу же при загрузке системы.
Недолго думая меняем в грабе переменную init=/bin/bash:

И в итоге после загрузки ОС получаем полноценного рута. А там дело техники — запустить програмку passwd для смены пароля на рута, сменить пароль, получить полный доступ к машине.
А после того, как мы выйдем из баша — нам конечно же вылезет kernel panic (да, это ещё и самый простой способ получить эту ошибку). Ибо система просто не знает что ей делать без инита.

«Проблема» решается достаточно просто — установкой пароля на grub (или лило). А часто вы ставили пароль на граб после установки? Могу поспорить — нет. Возможно даже никогда.

Второй вариант — загрузиться в однопользовательском режиме. Тут мы так же получаем привелегированный root доступ до машины. С таким же функционалом. Разве что с ограниченностью по сети, но эту проблему можно очень быстро решить.

Второй хак перекрывается редактированием /etc/inittab с отключением всех ненужных режимов загрузки. А какие способы хака линукса знаете вы?

Переезд окончен

Болезненно, конечно, но все равно — переезд сайта progger.ru окончен чуть более, чем полностью. Теперь он довольствуется достаточно мощным сервером с неограниченным траффиком и без ограничений по процессорному времени. Работает он тоже теперь на порядок выше, чем на унылом 1gb.ru. Итак. Осталось только несколько штрихов и все будет работать идеально :)

P.S. Луч поноса в сторону r01, который так долго обновлял информацию о домене.

Семинары по ос

Сегодня на работе устроили семинар. Специлист их технической поддержки (той, что по телефону общается) рассказывал нам про операционные системы (в частности windows и unix/linux). Более скучнейшей лекции я не слышал в жизни. Было правда пара интересных моментов, но в основном рассказывал он о мега старых вещах, которые просто очевидны. Наверняка все специалисты технической поддержки абонентов (т.е. я и все остальные мои коллеги) понимают, что такое fat16, fat32, ntfs... Иначе, скажите на милость, почему они здесь работают. Ну да ладно. Зато был шанс, который я использовал — показать свои действительные знания по linux которые могут пригодится любому спецу IT. Разобрали как определять вирусы с помощью livecd, разобрали восстановление grub после установки, структуру системы (оо, да. Мало кто из моих коллег пользуется linux/unix/bsd поэтому пришлось дать краткую лекцию по командам в linux (до написания скриптов дело не дошло, но надеюсь я все же смог переманить хоть одного из них на темную светлую сторону unix way =] По крайней мере сегодня мой ftp мучают уже 2-3 попеременно в целях скачать свеженький дистрибутив linuxmint, убунту и opensuse, что не может не радовать.

Завтра (уже, наверное, сегодня. Даже для Москвы) моих коллег и меня, в первую очередь, ждут интересные подробности — вчера была гроза, а завтра начало рабочей недели. У меня на массиве уже сгорело несколько портов, а ключей от техэтажа жкх, по своему обыкновению, давать не любит («Калаш мне в зад. Корабли мне в бухту!» © какая-то комедия), а значит — пора закупаться сетевками, пока дешевые

PS Хабраэффекта не ощутил, как такового, но прирост полезного хабратраффика есть.

Почему я никогда не перейду на *nix way

Все просто. По работе.

Я стараюсь меньше общаться с windows в последнее время. Захожу на него только ради фотошопа, игр и, чаще всего, по работе — протестировать очередную проблему у абонента у себя воссоздав её в точности как у клиента. На это уходит достаточно сил, времени, что потом, когда возвращается на линукс понимаешь, что за пару дней ты снова привык к интерфейсу винды и ждешь, когда у тебя линукс спросить «А ты точно уверен, что хочешь сделать это?». Так вчера я запорол свежеустановленный debian :) Забыв, что он не спросит, что я хочу удалить и как я это хочу сделать я удалил половину системы без предупреждения. Ну и туда ему дорогу. Второй раз debian не прижилс на моем компьютере больше, чем на 24 часа. В очередной раз я убил загрузчик висты (да, теперь я на висте. Врага надо знать в лицо, а виста в последнее время у каждого второго стоит на стационаре и у каждого первого на ноутбуке) и теперь его же восстанавливаю (спасибо netman'у за подсказанный путь в виде BootRec.exe /fixmbr. Старый добрый fixmbr в висте уже другой, к сожалению).

(далее...)

I'm vista

0q3ukqbk6j3d

Веб приложение как обычная программа? Да легко!

Про винду не буду рассказывать, ибо лениво сегодня все =] А это надо стартануть виртуалку и там найти в инете и  поставить Prism — программку от Mozilla, которая позволяет... сделать из веба отдельное приложение! Полнофункциональное, как обычный, скажем, винамп, приложение :)

Объясню на примере линукса:

берем исходники:

wget http://people.mozilla.com/~mfinkle/prism/prism-0.8-linux.tar.bz2

prism-1

Распаковываем командой

sudo tar -xjf ~/prism-0.8-linux.tar.bz2 -C /opt

в раздел  /opt

После этого выполним программу /opt/prism/prism

d181d0bdd0b8d0bcd0bed0ba-d0b2d18bd0bfd0bed0bbd0bdd0b8d182d18c-d0bfd180d0bed0b3d180d0b0d0bcd0bcd183

Выполнив действия, которые нам предложит запустившееся приложение (введем путь до веб-приложения, в моем случае это гугл календарь. Ярлычок приложения (если выставите галочку «Desktop») будет лежать если не на рабочем столе, то в домашней папке.

Вот то, что получилось у меня:

d181d0bdd0b8d0bcd0bed0ba-proggerru-calendar

[Remote Control] — Linux to Windows =]

Утилита на самом деле обычно входит в ubuntu (по крайней мере в 8.10 уже все есть в комплекте со стандартным livecd).

Утилита предназначена для тех, кто хочет управлять своим вторым компьютером с ОС windows на борту удаленно и из linux.

Установка:

sudo apt-get install rdesktop

Запуск:

rdesktop [host]:port -k common

флаг «-k common» необходим для того, чтобы не возникало проблем с вводом данных на различной раскладке в удаленной ОС =]

Жмем ввод и радуемся удаленному управлению рабочим столом =]

[more p2p]

Хвала многопоточной загрузке из p2p!
Меня долгое время удручало отсутствие многопоточной загрузки в LinuxDC++, и вот, этот недостаток был устранён.

Вот инструкции:

1) Ставим bzr (Next-generation distributed version control​)
2) Командуем bzr branch http://bazaar.launchpad.net/~razzloss/linuxdcpp/0705-core
Тем самым получаем исходники
3) Ставим scons (Open Source software construction tool​)
4) Удовлетворяем все зависимости описанные в readme
5) Компилируем командой scons

Сиё наглым образом скоммунистено отсюда.

4 пункт сожрал кучу моего времени, в чём следует благодарить gtk+, который мне нужно было обновить. Собственно для его обновления нужно было обновить ещё glib и pango. Первое собралось без проблем, а вот гадское pango никак не хотело видеть glib, что гугл помог исправить посоветовав дополнительно прописывать пути поика библиотек, вот так: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig LD_LIBRARY_PATH=/usr/local/lib:/usr/lib ./configure. Однако ругань при сборке gtk+ я сам вылечить не смог, посему обратился за помощью в интернеты, здесь и здесь. Полученное решение довольно простое — установить все 3 библиотеки в /usr, а не в /usr/local. Это даже как-то излишне просто, при чём делает абсолютно ненужным вышеописанную помощь гугла. Даже как-то кажется странным что на это я угробил примерно день -_- . Ну, по крайней мере, сия возня прояснила для меня некоторые вещи.

Но главное здесь то, что устранено ещё одно затруднение, омрачающее использование линукса, и для полного комфорта работы в нём осталось только кое-что подучить. Как итог — жизнь прекрасна.
(далее...)