2008-11-20

Настройка сети со Стримом, когда больше одного компьютера

С сентября пользуюсь Стримом. Акадо меня сильно подвело, несколько раз кидало на деньги, две недели не было интернета (может и больше, я уже не проверял), служба поддержки кормила завтраками все это время. В итоге в ужасе сбежал от них.
Ну так вот, о чем это я? А! Установили мне модем по умолчанию, кто имел дело тот знает, какой. У него две возможности коннекта: через LAN и через USB. Я расчитывал перевести модем в режим роутера и подключить свой компьютер с Ubuntu через LAN интерфейс (потому что так проще настраивать). Компьютер жены с Windows XP собирался подключить через USB, дрова для модема на диске есть. Приезжал мастер все это дело подключать, телефонную линию корректировать или кто там его знает что еще. В итоге он мне и настроил модем в режим роутера, конечно, за деньги. Как позже узнал - зря я на это согласился, настройка - дело 2 минут и ее порядок есть на диске к модему. Настроить то настроил, но вот подключение по USB не сделал, сославшись на то, что он торопится, и это просто, и рассказав на словах, как это делается. Ок, я поверил, отправил его домой.
В итоге, долгие бои с модемом и настройками ничего не дали. Так через USB подключиться к интернету и не удалось. Нет, сеть заработала, пинг проходил, модем в сети виден. Но ADSL подключение - ни в какую. "Удаленный компьютер не отвечает". А по LAN все работает хорошо. Пришлось сделать как было при Акадо: жена выходила в интернет через прокси на моем компьютере. Мой замысел, чтобы она могла подключаться к сети не включая мой комп - рухнул.
В итоге пошел я в местное представительство Стрима, сдал этот модем и купил другой, с четырьмя портами LAN и WiFi. Настроил его в режиме роутера, подключил компьютеры, настроил сеть, как указано на диске. А там указано, что надо прописывать статический IP. Ну я и прописал 192.168.1.2 и 192.168.1.3. Но тут как раз и зарыта собака.
Сеть не хотела работать нормально. Если я включал сначала свой комп, а потом ком жены - все было в порядке. Если наоборот - то возникали проблемы, соединение не работало, и иногда исправлялось перезагрузкой модема. Но так ведь быть не должно!
Ответ был найден, когда я посмотрел IP моей Nokia N810, соединенной с интернетом через WiFi. Я ведь не назначал ему IP, а он был выдан модемом. Значит что? - модем выдает их динамически. Странно, что в настройках сети, описанных на диске адрес DNS был указан именно тот, что у модема. Тогда зачем прописывать статический IP?
Все сходится. Если я включаю свой комп первым, он берет IP 192.168.1.2, и точно такой же ему выдало бы DNS. И так далее - 192.168.1.3 получил бы комп жены, но у него такой же прописан в статике.
Вот какая собака порылась. Странно, что в документации к модему это не указано, и надо сначала походить по граблям, пока не дойдет. Ну да ладно, у всех есть недостатки.
Итак, ставим в настройках - получать IP автоматически и все в полном ажуре.

/etc/network/interfaces:
iface eth0 inet dhcp
auto eth0

/etc/resolv.conf:
nameserver 192.168.1.1


Всё.

2008-11-10

О Ruby и холиварах

Решил попробовать изучить Ruby, ну и рельсы заодно. Запасся литературой и приступил. Понравилось, интересно, доступно для понимания.
В ходе поисков информации по этой теме в сети наталкивался на многочисленные холивары между разработчиками на python, php и ruby. Очень это угнетает. Каждый приводит аргументы в пользу своего болота и творчески, с выдумкой обливает грязью чужое. Я прямо на части рвался, не мог решить, чья же сторона мне милее.
PHP использую давно, и привычен вроде как, и удобен, шишки от привычных граблей уже превратились в мозоли. Распространение на хостингах - практически 100%. Неплохо. Десктопное приложение жаль не написать толком.
Python распространен в Linux, и Ubuntu крепко держится за него, всякие скрипты, программы, плагины на питоне очень часто встречаются. Даже для Nokia N810 и других таблеток можно приложения писать - ну не красота ли? Ну и веб-фреймворк вроде как свой есть - Django, недавно был релиз 1 версии.
А Ruby сравнительно недавно вырос. Но у него есть свой бульдозер - Rails. Прост для изучения, чистое ООП, даже работу с БД и ту заточили под него. Сам не знаю, почему я решил за него взяться, вроде к ООП особо никогда не тяготел.
Впрочем, никто же не мешает просто НЕ ВЫБИРАТЬ, а брать то, что удобнее и/или интереснее в данный момент? Кто вообще придумал, что надо выбрать какой-то один язык и отстаивать его, пока пуп не развяжется? PHP рулит. Python рулит. Ruby рулит.
Сумбурно получилось, но что поделаешь.

Найти и уничтожить

Порой простые вещи приносят радость. Вот сегодня, например. Приспичило мне удалить из коллекции музыкальных файлов те, которые без голосов, для караоке. Они обозначены: прямо в названии присутствует фраза "off vocal". А их много таких, папки в подпапках... Запал быстро испарился, уже на третьей директории.

Ладно, ладно, вы знаете что все можно сделать быстро и без лишних телодвижений, будь там хоть тысяча папок, сложенных матрешкой. Но ведь блог не только для вас, а еще и для меня, чтоб потом вспомнить. Так вот, делается все легко и непринужденно, помни, дорогой я:


find -name "*off vocal*.mp3" -exec rm {} \;

2008-11-05

Ubuntu 8.10 и сеть

Как только, так сразу перешел на Ubuntu 8.10. И не испугали возможные глюки, баги и предстоящая работа напильником. А причиной тому - ну наконец-то! - закладки-табы в Nautilus. Это порадовало. Минусы тоже есть, а куда без них? Но пока думаю списать это на малый срок после релиза. Например, Network Manager, хоть и выглядит удивительно насыщенно, огорчил меня в первую очередь. Настройки сети сохранять отказывался категорически. Сразу после установки находит имеющиеся eth-интерфейсы и обзывает их подобно "Auto eth0". Прописав в них настройки и перезагрузив машину удивляемся. Все впустую.
На форуме forum.ubuntu.ru этот вопрос обсуждается. Также, в связи с тем-же багом прокси-сервер squid не хочет подхватывать настройки, которые создает NM (после загрузки X!). Если перезапустить squid после того, как сеть настроится, то все работает.
Для себя я решил проблему кардинально:

1) Удаляем NM с корнем:
    sudo apt-get remove network-manager network-manage-gnome

2) Смотрим, какие сетевые карты есть, их MAC-адреса и имена, данные им в
    /etc/udev/rules.d/70-persistent-net.rules
    У меня это выглядит так:
    # PCI device 0x10ec:0x8167 (r8169)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:17:d9:c4:4a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    # PCI device 0x10ec:0x8139 (8139too)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:08:a1:ab:b4:1f", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

2) Правим вручную настройки сети в /etc/network/interfaces
    auto lo
    iface lo inet loopback

    iface eth0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1

    iface eth1 inet static
    address 192.168.0.1
    netmask 255.255.255.0

    auto eth0
    auto eth1

    # две сетевые карты, eth0 для выхода в интернет через модем Стрима, настроенный в режиме роутера, eth1 - домашняя сеть

3) Прописывем необходимые DNS в /etc/resolv.conf
    nameserver 192.168.1.1
    # прописываю DNS модема-роутера


4) Рестарт

После этого имеем нормально работающую сеть и прокси-сервер.