вівторок, 12 січня 2010 р.

LaTeX tips

Чисто чтобы не забыть:

многокартиночные картинки, подкартинки
\usepackage{subfig}
русские буквы в подписях к subfig:
\renewcommand{\thesubfigure}{\asbuk{subfigure}}

перевод строки между \subfig переводит расположение расунков в горизонтальный режим.
Поэтому его лучше там не ставить

\begin{figure}[h]
\centering
\subfloat[вариант первый]{
\includegraphics[width=0.2\textwidth]
{fig1}
}
% перевод строки тут не ставить!
\subfloat[вариант второй]{
\includegraphics[width=0.2\textwidth]
{fig2}
}
\caption{общая подпись}
\end{figure}

Раздел "Литература" в оглавление:

пакет tocbibind

% Литература в оглавление
\usepackage{tocbibind}


Читать далее

середа, 22 квітня 2009 р.

oobase и MySQL через JDBC в gentoo

На данный момент oobase (аналог m$ access) в Gentoo по умолчанию не работает с MySQL. Драйвер JDBC MySQL не установлен. Поэтому напишу краткую шпору по исправлению этой досадной ситуации.


устанавливаем драйвер:


grog ~ # emerge dev-java/jdbc-mysql


смотрим, куда был установлен jar-архив с драйвером


grog ~ # equery f dev-java/jdbc-mysql
[ Searching for packages matching dev-java/jdbc-mysql... ]
* Contents of dev-java/jdbc-mysql-5.0.8:
/usr
/usr/share
/usr/share/doc
/usr/share/doc/jdbc-mysql-5.0.8
/usr/share/doc/jdbc-mysql-5.0.8/CHANGES.bz2
/usr/share/doc/jdbc-mysql-5.0.8/README.bz2
/usr/share/doc/jdbc-mysql-5.0.8/html
/usr/share/doc/jdbc-mysql-5.0.8/html/connector-j.html
/usr/share/jdbc-mysql
/usr/share/jdbc-mysql/lib
/usr/share/jdbc-mysql/lib/jdbc-mysql.jar
/usr/share/jdbc-mysql/package.env


Указываем oobase новый драйвер, выбрав в меню Сервис->Параметры-..-Java а далее всё понятно из скриншота (нажать "добавить программу"):

Джерело: Никогда не знаешь, что тебе не понадобится...



Теперь можно просто подключиться к бд MySQL и работать с ней, как с родными базами (hsql) oobase. Для этого либо при создании, либо при выборе Правка->База данных->Тип подключения указать следующие параметры:

Тип подключения: MySQL(JDBC)
Имя базы данных: <имя_вашей_бд>
Имя хоста: localhost (или ip или fqdn имя хоста - сервера БД)

Если всё сделано правильно, то вы увидите таблицы подключенной бд.
Вот :)

Ссылки:

http://wiki.services.openoffice.org/wiki/Connect_MySQLandBase


Читать далее

понеділок, 13 квітня 2009 р.

upgrade to xorg-server-1.5 notes

Краткая и основная информация для обновления на xorg 1.5

Короче, в этом xorg серьёзно поменялся принцип конфигурирования клавы и мыши. Сначала я плевался, а потом просветился - всё сделано правильно, в духе "TAOUP" 8)


Но к сожалению официальные доки как-то невнятно и "взагалі" обьясняют, что делать. Про локализацию той-же клавы вообще умалчивают (видать считают этот вопрос банальным, да-да...), т.е. в итоге как минимум приходится рыться по официальным и не очень форумам. А что самое противное, те-же проблемы локализации копипастой не решаются, (ибо участники форумов только то и делают, что сетуя обмениваются нерабочими fdi-конфигами)

Значит основное - настройками клавы (раскладка и т.п), мыши и остальных INPUT_DEVICES теперь занимается hal. Всё, что касалось этого и было в секциях "InputDevice" из /etc/X11/xorg вынесено в отдельные файлы политик hal'а

Внимание! мой вам совет - удалите xdm из автостарта!


root ~ # rc-update del xdm


А то если всё пойдёт боком, то вы круто прилипнете с иксами, которые не реагируют даже на Ctrl+Alt+Bs. Тогда прийдётся грузиться в однопользовательском режиме для починки иксов


Делаем следующие действия:

меняем содержание строки INPUT_DEVICES в /etc/make.conf на:


/etc/make.conf
...
INPUT_DEVICES="evdev"
...



обновляем xorg-server:


root ~ # emerge xorg-server


резервируем старый конфиг xorg.conf:


root ~ # mv /etc/xorg.conf /etc/xorg.conf-no_evdev


генерим новый:


root ~ # X -configure


вдумчиво глядим в /var/log/Xorg.0.log на предмет того, что hal обнаружил ваши клавы, мыши, etc...
Если всё в порядке, ставим новый конфиг как конфиг по умолчанию:


root ~ # cp xorg.conf.new /etc/X11/xorg.conf


проверяем под обычным пользователем факт запуска X :


user ~ % X -probeonly


читаем последние строки на предмет отсутствия строки "no screens чо-то-там"

после это настоятельно прошу Вас сделать sync, т.к. есть вероятность "зависнуть" (вернее, клава с мышкой в иксах могут не заработать вообще)


root ~ # sync


запускаем сессию X от обычного пользователя через startx (не забываем про наполнение .xinitrc)


user ~ % startx


справка: приблизительное наполнение .xinitrc:


.xinitrc
...
xterm &
openbox # или что-то подобное, чтобы было лёгенькое
# и минималистическое для быстрой загрузки теста
...


в запущеных иксах пишем что-нибудь в xterm. Радуемся, что клава пашет и выходим из них нахрен, чтобы настроить раскладки клавиатуры. Вот вам мой рабочий конфиг:


user ~ % cat /etc/hal/fdi/policy/10-xinput-configuration.fdi
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keymap">
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
</match>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.xkb.rules" type="string">base</merge>
<merge key="input.xkb.layout" type="string">us,ru,ua</merge>
<merge key="input.xkb.variant" type="string">winkeys</merge>
<merge key="input.xkb.options" type="string">grp:alt_shift_toggle,grp_led:scroll</merge>
</match>
</device>
</deviceinfo>


копипастите его в указанный файл (/etc/hal/fdi/policy/10-xinput-configuration.fdi), после чего перегрузите hald:


root ~ # /etc/init.d/hald restart


После чего загружаем иксы и радуемся работаюим переключениям раскладок.


Читать далее

середа, 10 грудня 2008 р.

Tablet genius EasyPen в gentoo

На свой День Вырождения разжился данным планшетом. Планшет работает через последовательный порт(на сегодняшний день - считается морально устаревшим). Понятно, сразу возникло жгучее желание завести это устройство в Xorg, чтобы поваять в GIMP


ABSTRACT (этот раздел можно пропустить)

Особенно спровоцировали меня некоторые ролики с YouTube, которые я закачивал для отца. Он "классический" художник: карандаш, уголь и прочее олдовое и "готичное" :-). Хотел познакомить его с инструментами современного художника.




Thom Yorke, Radiohead - Speed Painting by Nico Di Mattia, gimp.com



После саундтрека к этому ролику (Street spirit1) я заценил, что Radiohead не только труЪ банда, которая презирает DRM'щиков, но ещё и интересную мне музыку сочиняет, местами довольно зашибенную (то, что "местами" - лично моё ИМХО) :-)


INFO


Вот немного фотографий планшета:

  • Непосредственно сам планшет:


  • довольно заеложенный ящик из под планшета:

  • Содержимое ящика:

    • Бумажки всякие, по большому счёту ненужные, но добавляющие солидности: гарантийка, инструкция и т.п.
    • Дискетка с неким "Patch'ем"
    • CD с драйверами
    • Подставка для "карандаша"




  • Подставка чем-то мне очень понравилась. Тяжёленькая, аскетичной формы, с приятной "антискользящей" бархатной подложкой



  • А разьём - вот такой, для последовательного порта PC. Это тот, который в продуктах и документации одной грязной корпорации назван как COM1 или COM2 :) .



  • На всякий случай предъявлю заводскую наклейку в общем виде, может кому и пригодится эта информация





CONFIGURATION

Настройка для Xorg

(Справка по версиям, у меня установлены:
x11-base/xorg-x11-7.2
x11-base/xorg-server-1.3.0.0-r6
x11-drivers/xf86-input-summa-1.1.0
sys-libs/gpm-1.20.1-r6)


Редактируем /etc/make.conf - добавляем в переменную INPUT_DEVICES новый драйвер - summa:

...
INPUT_DEVICES="keyboard mouse summa"
...


Пересобираем xorg-server:

root ~ # emerge xorg-server


добавляем в /etc/X11/xorg.conf в секцию ServerLayout следующую строку:

/etc/X11/xorg.conf
...
Section "ServerLayout"
Identifier     "X.org Configured"
Screen      0  "Screen0" 0 0
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Tablet"
InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
...


Добавляем в секцию Module строку:

/etc/X11/xorg.conf
...
Section "Module"
Load  "glx"
Load  "extmod"
Load  "xtrap"
Load  "record"
Load  "GLcore"
Load  "dbe"
Load  "dri"
Load  "drm"
Load  "freetype"
Load  "type1"
Load  "summa"   # для планшета
EndSection
...



Добавляем в xorg.conf ещё одну секцию InputDevice, только "Identifier" устанавливаем как "Tablet"

/etc/X11/xorg.conf
...
Section "InputDevice"
Driver "summa"
Identifier "Tablet"
Option "Device" "/dev/ttyS0"
Option "InputFashion" "Tablet"
Option "Mode" "Absolute"
Option "Name" "EasyPen"
Option "Compatible" "True"
Option "Cursor" "Stylus"
Option "Protocol" "Auto"
Option "SendCoreEvents" "on"
Option "Vendor" "GENIUS"
EndSection
...


теперь завершаем свою сессию в иксах, выйдя в ваш *dm. Затем заходим в системную консоль (Ctrl+Alt+F1) и перезагружаем иксы:

root ~ # /etc/init.d/xdm restart


Уже здесь планшет должен заработать. Во-первых - то, что он определился можно заметить по моргающему зелёному светодиоду на самом планшете, а также непосредственно - когда попытаетесь поводить "карандашом" (пером) по планшету, курсор на экране будет двигаться за его движениями :)


Вот собственно всё, что касается настройки планшета для иксов.

Дополнительно настроить для рисования ускорение, точность и кнопки можно в GIMP в меню "Файл --> Настроить --> Дополнительные устройства ввода"

Вот что было нашкарябано для проверки:




Видите, как минимум, у меня планшет работает :)

Настройка для работы в системной консоли

Отъявленные мизантропы могут настроить планшет и для использования в системной консоли, используя стандартный демон gpm. Сейчас объясню в чём особенность этой ситуации:
  • В начале я настроил именно в консоли, но дальнейшем колдовстве у меня пару раз намертво висли иксы, утаскивая с собой клавиатуру и прочие устройства ввода. Мало приятного в вынужденной перезагрузке после двухнедельного аптайма, без возможности вызвать EmergencySync
  • С планшетом можно работать либо в консоли, либо в Xorg. /dev/ttySxx походу неделим между процессами. Поэтому, если хотите работать с планшетом чисто в консоли, то закомментируйте в xorg.conf следующую строку в секции ServerLayout:

    /etc/X11/xorg.conf
    ...
    Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    #InputDevice    "Tablet"
    InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection
    ...
    



для настройки необходимо, чтобы никакие проги не использовали планшет. Обычно это ранее запущенный gpm или xorg. Если что, на всякий случай выполните:


root ~ # /etc/init.d/xdm stop
root ~ # /etc/init.d/gpm stop


потом просто выполните:

root ~ # gpm -m /dev/ttyS0 -t summa


планшет должен заработать без особых проблем.

BUGS


  • Не стоит одновременно настраивать/использовать планшет в xorg и консоли.

  • При вводе параметров команды gpm для настройки работы планшета в системной консоли, соблюдайте такой-же как у меня порядок опций, т.к. иначе возможен вот такой результат:

    root ~ # gpm -t summa -m /dev/ttyS0
    O0o.oops(): [server_tools.c(88)]: Use -m device -t protocol [-o options]!
    


    Возможно это глюки только для моей версии ядра либо gpm, но видать из за этих "Oops"'ов у меня в процессе настройки пару раз подвисана намертво видеосистема с клавой вдобавок.



LINKS

Планшеты :: FAQ :: Genius: (тут ещё для XFree86 рассказывают, старая фигня, но наиболее полезная)

gpm-types(7) - Linux man page Список типов устройств ввода, поддерживаемых gpm. Список вариантов для опции -t команды gpm



1
как оказалось - в ролике была использована очень трофейная акустическая версия этой песни. Еле нашёл после долгого перекапывания интернетов, притом - в gnutella'е.




Читать далее

вівторок, 9 грудня 2008 р.

siemens C72 в gentoo

NAME

Подключение siemens C72 через FUSE->SieFS в среде Gentoo Linux. В итоге с содержимым телефона можно будет работать как с обычным usb_flash-накопителем.


DESCRIPTION

Недавно намутил себе данный телефон в полудохлом состоянии. После пятнадцати минут ковыряния отвёрткой (полная разборка мобилы) и старательной и аккуратной чистки нужных мест волшебной стирательной резинкой, получил вполне классный телефон, который ещё ни разу меня не подвёл (не смотря на свой довольно почтенный возраст и потрёпанный вид).

Со временем возникла задача слить с телефона фотки и другую полезную информацию в Linux без мучения с wine либо виртуальными машинами.

После пары минут шуршания в поисковике нарыл подходящие инструкции для общих случаев, но инструкций непосредственно для Gentoo, (да ещё и на русском) не нашёл. Решил заполнить этот пробел в документации к gentoo, написав данный коротенький HOWTO.

SOURCE

Вот весь набор в выпотрошенном виде:


  • Коробок

  • Кулёк

  • Mini-CD "SIM Mobile phone manager" - проприетарная прога под Грязное Поделие Зла. (говорю сразу - в wine не идёт)

  • Непосредственно USB кабель (Куплено на "Героев Труда" за 35 гульденов)






Разъём к телефону:



Разъём к компьютеру, USB (скорей всего - с встроенным в него ВЧ фильтром)





CONFIGURATION

Что делать:

Установить поддержку USB to Serial в ядре:



Device Drivers --->
USB support --->

[M] Support for Host-side USB

USB Serial Converter support --->
USB Serial Converter support
[*] USB Generic Serial Driver
[M] USB Prolific 2303 Single Port Serial Driver



также не забудьте о необходимости включенийя поддержки FUSE (Filesystem in USErspace):


File systems --->
[M] Filesystem in Userspace support


Если эти опции не были включены ранее, то включить их, пересобрать ядро. Загрузить модули/перезагрузить комп.

Подключить мобилу к компу через USB кабель. Выполнить команду:


root ~ # dmesg | tail


На консоль должно выйти нечто, по смыслу похожее на следующий текст:


usb 1-5: new full speed USB device using ohci_hcd and address 4
usb 1-5: configuration #1 chosen from 1 choice
pl2303 1-5:1.0: pl2303 converter detected
usb 1-5: pl2303 converter now attached to ttyUSB0


Если у вас вышел аналогичный текст, то всё в порядке. Продолжаем.

Соберите sys-fs/fuse:


root ~ # emerge sys-fs/fuse


Теперь загрузите модуль FUSE:


root ~ # modprobe fuse




Соберите пакет sys-fs/siefs - поддержку SieFS для fuse:


root ~ # emerge sys-fs/siefs


создайте каталог для мобильника


root ~ # mkdir -p /mnt/mobile


Теперь просто примонтируйте ваш мобильник командой mount, подставив имя устройства /dev/ttyUSBx, которое было выведено в результате выполнения dmesg | tail. Монтируйте из-под root'а, это некрасиво, зато работает сразу и без особых костылей.


root ~ # mkdir -p /mnt/mobile
root ~ # mount -t siefs /dev/ttyUSB0 /mnt/mobile


В результате следующей команды вы должны увидеть, что мобильник примонтировался и содержимое читается:


root ~ # ls -l /mnt/mobile
drwxrwxrwx 1 root root 0 Янв 1 2004 Data


Или ещё симпатичнее (если у вас установлена утилита app-text/tree):


root ~ # tree -L 2 /mnt/mobile
/mnt/mobile
`-- Data
|-- Animations
|-- Java
|-- Misc
|-- MmsTemp
|-- Pictures
|-- Skins
|-- Sms archive
|-- Sounds
|-- System
|-- Text module
|-- Themes
|-- Videos
`-- Voice memo

14 directories, 0 files


Если всё именно так, то можете сливать и заливать информацию на телефон без особых проблем.


SECURITY

Не смотря на угрожающе-навязчивое использование учётки root'а в этом HOWTO, именно в этом случае такой расклад уместен, и всё не так уж плохо. Особенно - если учесть соотношение времени, когда нужно залить\слить файлы с мобилы, и время потраченное на костылизацию изначально стройной системы прав доступа и конфигов в Gentoo, то в большинстве случаев игра не стоит свеч и можно смело пользоваться учёткой root.
Непривелигерованные пользователи по идее не должны добраться до содержимого мобилки, т.к. для них системой уготован следующий отлуп:


user ~ % ls -l /mnt
ls: невозможно получить доступ к /mnt/mobile: Отказано в доступе
итого 0
drwxr-xr-x 6 root root 160 Дек 1 14:46 backups
drwx------ 2 root root 72 Июн 17 20:41 cdrom
drwxr-xr-x 2 root root 48 Сен 5 10:14 flash
drwx------ 2 root root 72 Июн 17 20:41 floppy
?????????? ? ? ? ? ? mobile
drwxr-xr-x 2 root root 48 Сен 26 11:08 secretar
drwxr-xr-x 2 root root 48 Сен 16 17:04 sto-db
drwxr-xr-x 2 root root 48 Ноя 21 11:13 zames

user ~ % ls -l /mnt/mobile
ls: невозможно получить доступ к /mnt/mobile: Отказано в доступе

user ~ % ls -l /mnt/mobile/Data
ls: невозможно получить доступ к /mnt/mobile/Data: Отказано в доступе


и т.д.

И всё-же я вам нисколько не советую расслабляться лишний раз. Информацию слили либо залили - не забудьте вскоре отмонтировать телефон, как говорится - "бережёного боХ бережёт". ИМХО, не стоит злоупотреблять всякими конструкторами костылей, коими являются вещи, подобные связке FUSE->SieFS, даже если они выполняют свою основную работу в userspace.

BUGS

Иногда либо мобильник, либо драйвер глючит - при попытке просмотра содержимого мобилы происходят минутные тормоза и ошибка, подобная этой:


root ~ # ls /mnt/mobile
ls: чтение каталога /mnt/mobile: Ошибка ввода/вывода


В таком случае мне помогал следующий пакет действий:

Отмонтируем телефон:


root ~ # umount /mnt/mobile


смотрим, не остались ли висеть процессы монтирования:


root ~ # ps ax | grep siefs
23669 ? Ssl 0:00 /sbin/mount.siefs /dev/ttyUSB0 /mnt/mobile -o rw


если остались - безжалостно их мочим:


root ~ # killall -9 mount.siefs


потом отключаем мобилу и сам кабель от компа. Мобилу выключаем, затем включаем, ждём около 30 сек/1 минуты (у меня это время, когда начинает полноценно работать основное меню в мобильнике).

Потом подключаем кабель к телефону и компу, ждём около 5...10 сек и монтируем как указано выше.
Мне подобный рецепт помогает.

PS: Фото в этом ээ... "HOWTO" сняты с помощью описываемого C72. Как видите, ничего фантастического :)

LINKS

Opennet.ru: Монтирование телефонов Siemens под Linux как USB диска

TODO


  • Проверить возможность сливания содержимого SIM-карты, контакт-листа, заметок и прочего полезного барахла, которое может быть сохранено в мобильник


  • Использовать c72 как GPRS-модем. Думаю, это будет элементарно: просто порт модема в wvdial прописывается как /dev/ttyUSBxx, а дальше работаем как с обычным модемом с помощью AT-команд, но с учётом специфики GPRS подключения




Читать далее

пʼятниця, 5 вересня 2008 р.

[SOLVED] xorg-server свежие иксы не запускаются dlopen: /usr/lib64/xorg/modules/drivers//atimisc_drv.so: undefined symbol: ATIFoundryNames

Решил собрать свежую x86_64 систему чисто под мой athlon64. "Затык" произошёл при запуске иксов, для которых я решил принципиально использовать только открытые драйвера на мой radeon_x300 (задолбали внезапные падения иксов в самый неподходящий момент, ещё и с panic'ами ядра). В инете в итоге нашёл штуки четыре ссылки, в которых под разным соусом мне говорилось, что проблема нерешаема, нужно ставить проприетарное гавно от ati. Короче, я подумал и похоже разобрался, как устранить этот глюк.

Вот что выдавала X -configure


root ~ # X -configure


X Window System Version 1.3.0
Release Date: 19 April 2007
X Protocol Version 11, Revision 0, Release 1.3
Build Operating System: UNKNOWN
Current Operating System: Linux grog 2.6.25-gentoo-r7 #7 SMP Wed Sep 3 21:32:57 EEST 2008 x86_64
Build Date: 05 September 2008
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Sep 5 09:35:52 2008
List of video drivers:
radeon
r128
atimisc
ati
dlopen: /usr/lib64/xorg/modules/drivers//atimisc_drv.so: undefined symbol: ATIFoundryNames
(EE) Failed to load /usr/lib64/xorg/modules/drivers//atimisc_drv.so
(EE) Failed to load module "atimisc" (loader failed, 7)
(++) Using config file: "/root/xorg.conf.new"
(WW) RADEON: No matching Device section for instance (BusID PCI:3:0:1) found
(**) RADEON(0): RADEONPreInit
(II) Module already built-in


Xorg detected your mouse at device /dev/input/mice.
Please check your config if the mouse is still not
operational, as by default Xorg tries to autodetect
the protocol.

Your xorg.conf file is /root/xorg.conf.new

To test the server, run 'X -config /root/xorg.conf.new'



[Solution]
В итоге сделал несколько шагов и проблема решилась:

включил в конфиге ядра

menuconfig:

Device drivers -->
Graphics support -->
[M] Direct rendering manager -->
[M] ATI Radeon



root ~ # emerge x11-base/x11-drm

root ~ # modprobe drm
root ~ # modprobe radeon

root ~ # /etc/init.d/xdm restart


Думаю, это сэкономит время тем, кто будет искать способ разрешения проблемы с atimisc_drv.so: undefined symbol: ATIFoundryNames


Читать далее

середа, 16 липня 2008 р.

Укртелеком и его DNS баны

Упал DSL-линк, убил весь день, чтобы всё-таки докопаться до истины, а именно - до того, что у Укртелекомовских DNS-Серверов возможно, установлена защита от DDoS'а или нечто подобное
В общем - эта статья - возможно, важная информация для пользователей с ADSL ("ОГО" и т.д.) подключением к интернету от Укртелекома, которым могут пользоваться виндовые клиенты.




У меня модем DLink DSL-2500BRU/D, хороший модем, работает без проблем (правда, греется как сволочь...). Иногда его крепко подглючивало - DNS-запросы переставали перенаправляться на сервера имён Укртелекома, но соединения через IP работали без проблем.

типа вот так:


user@host ~ % ping rambler.ru
ping: unknown host rambler.ru


зато:


user@host ~ % ping 81.19.70.3
PING 81.19.70.3 (81.19.70.3) 56(84) bytes of data.
64 bytes from 81.19.70.3: icmp_seq=1 ttl=52 time=118 ms
64 bytes from 81.19.70.3: icmp_seq=2 ttl=52 time=118 ms
64 bytes from 81.19.70.3: icmp_seq=3 ttl=52 time=115 ms
^C
--- 81.19.70.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 115.089/117.314/118.583/1.578 ms


Через время пропадал даже такой способ связаться с инетом, скорей всего модем из за отсутствия соединений впадал в сон, хотя это и маловероятно.

Лечило положение выключение/включение модема (чтобы он себе новый IP присвоил)

Короче, за последние три дня эта ситуация настолько обострилась, что модем стал нормально работать минут 10, а потом вис DNS и приходилось идти, перезагружать его вручную (так и не понял, какого хрена вместе с форвардингом DNS зависал и веб-фейс модема)...

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

Ну, я модем перепрошил самой свежей версией прошивки (хотя бывшая версия была залита туда всего месяц назад), сбросил настройки, залил дефолтный прошивочный конфиг, и нифига - не пашет DNS, отваливается через 3-5 минут.

Стал грешить на локальный сервер имён (djbdns), излазил его вдоль и поперёк, и - нашёл вредителя!

Исследуя логи tinydns, заценил следуюшие записи:


/etc/tinydns/log/main/current
...
@40000000487e038b2b840d84 0a0301f0:0548:1740 - 0001 asbmx.sbell.com.cn
@40000000487e038b31105b2c 0a0301f0:0548:1745 - 0001 sbbmail4.sbb.ch
@40000000487e038b311066e4 0a0301f0:0548:1744 - 0001 sbbmail2.sbb.ch
@40000000487e038b31129194 0a0301f0:0548:1743 - 0001 sbbmail3.sbb.ch
@40000000487e038b31141834 0a0301f0:0548:1742 - 0001 sbbmail1.sbb.ch
@40000000487e038d0bbe89d4 0a0301f0:0548:1746 - 0001 smtp.mediacat.ne.jp
@40000000487e038d18d7f664 0a0301f0:0548:1747 - 0001 sbt.co.in
@40000000487e038d38024b84 0a0301f0:0548:1749 - 0001 mail.sbstone.com
@40000000487e038d3802573c 0a0301f0:0548:1748 - 0001 cle1.visn.net
@40000000487e038f2a9bff44 0a0301f0:0548:1766 - 000f sb-hausmeisterservice.de
@40000000487e038f2a9c0afc 0a0301f0:0548:1765 - 000f sbhauditors.com
@40000000487e038f2a9c0ee4 0a0301f0:0548:1764 - 000f sbhatt.fsnet.co.uk
@40000000487e038f2a9c12cc 0a0301f0:0548:1763 - 000f sbhatnagar.com
@40000000487e038f2a9d66a4 0a0301f0:0548:1762 - 000f sbhassociates.com
@40000000487e038f2a9e7fe4 0a0301f0:0548:1761 - 000f sbhart.com
@40000000487e038f2a9fb864 0a0301f0:0548:1760 - 000f sbha.org.uk
@40000000487e038f2aa11024 0a0301f0:0548:175f - 000f sbhaonline.com
@40000000487e038f2aa2545c 0a0301f0:0548:175e - 000f sbhamm.de
...


как видно из этой картины (запросы имён идут по алфавиту и с минимальной задержкой), некий комп перебирает dns-имена, и это скорее всего, делается для рассылки спама, или взлома ssh или для другой работы, которой занимаются компы в ботнете.

Тут-же проверил ситуацию tcpdump-ом, и засёк источник спама - один из ноутов менеджеров. Судя по всему, на нём жил целый выводок вирусов.

пришёл, заценил, как народ браво щеголяет эксплорером (ноут личный), пожурил, забрал ноут на лечение. Нашёл на нём видов 6 всякой гадости, в которой точно были пара-тройка спам-ботов.

Заметьте - как только я отключил зловредный ноут от сети и перегрузил роутер, инет стал работать как по маслу 8)

Итог "исследования"

Скорее всего, на Укртелекомовских DNS-серверах стоит защита от DDoS атак, dns-флуда либо чего-то подобного. Она срабатывает, когда идёт частый перебор доменных имён с большим процентом запроса несуществующих. Если DNS стал падать, проверьте траффик, проходящий через ваш ADSL роутер на наличие DNS-флуда, виндовые компы, выходящие с него в инет - на наличие спамботов и прочих вирусов.

Бан работает довольно эффективно и просто - на любые запросы с "флудящих" IP-адресов перестают отвечать ихние DNS-сервера. Извне это выглядит так, как будто их серверы "легли" от нагрузки - пинги к ним не проходят, прямые запросы (через то-же dnsq) перестают восприниматься.

Лечился бан перезагрузкой роутера, чтобы тот взял новый динамический IP, не занесённый в бан-лист. Работало это в зависимости от интенсивности флуда.

PS: подобное поведение я ранее замечал, были подозрения, подтверждавшиеся опытами и просмотров DNS-запросов. Всё устаканивалось, как только большая часть народа с ноутами сруливало по командировкам.

PPS:
А в этот раз ещё прибавилась и жара, от которой даже у довольно неприхотливых свичей чердак съезжал, и их приходилось перегружать. А ведь модем грелся и без жары прилично. В итоге пришлось слепить из валявшегося в загашнике кулера, переключателя, пары гнёзд, шурупа и куска металлической заглушки от корпуса компа сваять импровизированную охлаждающую установку :) . Фотки этого девайса, исполненного в "технобомж" стиле выложу чуть позже :)


Читать далее