Уголок СУ-11 на просторах вселенной

вторник, 18 мая 2010 г.

Установка ppptd в CentOS

Как таковой pptpd в CentOS'е отсутсвует, но разработчики демона выкладывают свежие rpm на sourceforge'e.
Для установки подключим репозиторий к yum
в файл /etc/yum.repos.d/pptpd.repo пишем:
[pptpd]
name=CentOS 5 pptpd repo
baseurl=http://poptop.sourceforge.net/yum/stable/rhel5/i386/
enabled=1
gpgcheck=0

Затем устанавливаем:
yum install pptpd

Делаем бэкапы конфигов
cp /etc/pptpd.conf /etc/pptpd.conf.bkp
cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bkp
cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bkp

Теперь правим /etc/pptpd.conf
# адрес сервака для клиента
localip 192.168.0.1
# диапазон адресов для клиентов
remoteip 192.168.0.20-30
# xx.xx.xx.xx - наш адрес на котором слушаются соединения
listen xx.xx.xx.xx

Теперь правим /etc/ppp/options.pptpd
Меняем идентификатор нашего сервера, ключ "name". Было pptpd, стало "wellcome". Но это не обязательно.

Теперь идем к настройке логинов.
/etc/ppp/chap-secrets
тут все просто
login server password
server - это как раз идентификатор, котоыйр мы изменили. В нашем случае "wellcome".

Теперь стартуем всю связку:
# /etc/init.d/pptpd start
Starting pptpd: [ OK ]
Проверим
# /etc/init.d/pptpd status
pptpd (pid 13996) is running...

Теперь добавим в стартовые скрипты:
chkconfig --level 35 pptpd on

Хождение пакетиков между интерфейсами:
# echo 1 > /proc/sys/net/ipv4/ip_forward

И iptables уже сами по необходимости...

понедельник, 17 мая 2010 г.

Мапинг портов в Windows

netsh routing ip nat install
netsh routing ip nat add interface "external" full
netsh routing ip nat add portmapping "external" tcp 0.0.0.0 8080 192.168.1.1 80

пятница, 14 мая 2010 г.

использование Posix Threads в Windows

Имеем Windows XP SP3. Но не суть, не вижу причин не запустить птриды и в Win7 и Win2000. Есть Visual Studio. Подключаются Posix Threads очень легко. Можно как и руками, а можно в GUI самой студии. Ниже краткая инструкция по употреблению.
Качаем сами птриды. тут

В моем случае птриды стоят тут "d:\Develop\libs\pthreads\"

Далее от сюда "d:\Develop\libs\pthreads\Pre-built.2\lib\" берем
"pthreadVSE2.dll" и копируем либо в сам проект, к exe'шникам. Либо, например, в windows\system32. Или добавить папку с dll'ками в path, но это не гибко.
Обратите внимание, dll'ки там разные. Под вин+студия нужна "pthreadVSE2.dll", что ясно из названия файликов :)

Далее открываем студию и создаем новый проект (или открываем готовый). Начнем с инклюда в код.

тут масса вариантов. Скопировтаь h файлы в свой проект или добавить папку с ними в path.
Мы делаем средствами самой студии. Идем в свойства проекта далее
-> Configuration Properties
-> C/C++
-> General
-> Добавляем путь "D:\Develop\libs\pthreads\Pre-built.2\include" в Additional Include Directories

Затем топаем в свойства линкера этого проекта.
-> Configuration Properties
-> Linker
-> General
-> Добавляем путь "D:\Develop\libs\pthreads\Pre-built.2\lib" в Additional Library Directories
Это мы сделали для того, чтобы компилятор знал где искать lib файл.
Сам файл можно добавить в исходники, например так:

А можно там же - в свойствах проекта.
-> Configuration Properties
-> Linker
-> General
-> Input
-> Additional Dependencies
-> Добавляем файл "pthreadVSE2.lib"
Имя файла, опять же, говорит само за себя.
Ну а ниже - краткий пример рабочего кода.

9 мая.




Конев Иван Никанорович - механик-водитель самоходной артиллерийской установки (САУ) 393-го гвардейского самоходного артиллерийского полка (12-й гвардейский танковый корпус, 1-й Белорусский фронт) гвардии старший сержант.

Родился 12 марта 1923 года в селе Котельниково Обоянского района Курской области в семье крестьянина. Русский. Член ВКП(б)/КПСС с 1944 года. Окончил два курса библиотечного техникума.

В феврале 1942 года был призван в Красную Армию. Прошел подготовку на специальность механика-водителя танка. С июня 1942 году участвовал в боях с немецко-фашистскими захватчиками. Отличился в боях за освобождение Польши.

16 января 1945 года, гвардии старший сержант Конев, находясь в составе передового отряда в районе города Сохачев (Польша), на большой скорости врезался в колонну вражеских танков и автомашин. Его экипаж, действуя огнём и гусеницами уничтожил 3 танка, 15 автомашин, 4 орудия и до 40 гитлеровцев.

Указом Президиума Верховного Совета СССР от 27 февраля 1945 года за образцовое выполнение заданий командования и проявленные мужество и героизм в боях с немецко-фашистскими захватчиками гвардии старшему сержанту Коневу Ивану Никаноровичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали "Золотая Звезда" (N 5721).

После Победы продолжил службу в армии. В 1949 году с отличием окончил военно-политическое училище в Горьком (ныне - Нижний Новгород), в 1954 году - Военно-политическую академию в Москве. С 1984 года полковник Конев в отставке. Жил в городе-герое Москве. Трагически погиб в автомобильной катастрофе 5 октября 1989 года. Похоронен на Троекуровском кладбище.

Награждён орденами Ленина, Отечественной войны 1-й и 2-й степеней, тремя орденами Красной Звезды, орденами "За службу Родине в ВС СССР" 3-й степени, Славы 3-й степени, медалями.

9 мая. Уходит....



- Василий Иваныч! А чево ты на оглобли тачанок георгиевские ленточки не повязал? Ведь 9 мая скоро?
- Не могу, Петька. Я и сам Кавалер 4-х степеней, полный бант имею, а на оглобли или там, антенну - не могу! Это орденские ленточки, Петька.
Тебе не понять!
- Гы, Василий Ваныч! А смеяться то где?
- А нигде уже, Петька, не смеяться, если Георгиевские ленточки режут как лапшу...

























картинки от сюда

Я нашел как избавиться от хинди. В основных настройках.

Но остался вопрос, почему именно Хинди??? И зачем они мне это включили.

Меня стал бесить google. Изменился внешний вид google.ru Я не знаю это следствие установки Google Desktop или звезды сошлись.

P.S. Ну почему именно хинди???

меня достал blogger! что я сделал индусам? почему все, что я пишу тут латиницей перекодируется в hindi ???

Я уже понял. Эта хрень отключается. Но как отключить ее на всегда?? И почему именно Хинди????

четверг, 13 мая 2010 г.

Только что чуть голову не сломал - как в блоггере разместить исходник php (да и любой другой)

Есть два варианта:
1) Для чайников.
Идем сюда
перекодированный результат смело вставляем в текст поста.
Вариант быстрый но не удобный во всех смыслах.
2) Наш способ. Найдено гуглом.
Идем в наш шаблон, редактируем html. Перед тегом head добавляем:
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
Сохраняем и закрываем шаблон.
Далее постить исходники можно двумя способами.
a) Перекодируем как в п.1 и обрамляем тегом <pre class="brush: html">
b) Продвинутый способ.
Вставляем в пост следующий код
<script type="syntaxhighlighter" class="brush: html"><![CDATA[
ТУТ НАШ ИСХОДНИК
]]></script>
В классе тега <PRE> или скрипта мы указываем тип подсвтеки кода, в примере выше - подсветка html разметки.
Этот пост подготовлен первым способом.

Пример второго способа тут

корректная отправка почты из php с русским языком в теме и обратном адресе

Столкнулся с забавной проблемой. Есть хостинг - nic.ru. Необходимо из PHP скрипта отправить письмо. Локаль площадки (шел, бд) utf-8. Отправляю письмо. Получаю письмо клиентом (thunderbird, evolution) - все в порядке. Засаду обнаружил случайно. Зашел на mail.ru проверить свою почту и обнаружил. В качестве обратного адреса и темы письма - <без названия>, тема - иероглифы. Перелапатил php.net, форумы, конфиги апача, php, sendmail. Чисто случайно наткнулся на RFC по почте. Где и нашел решение проблемы. В RFC в теме письма, обратном адресе не может быть русского языка. Его нужно кодировать в base64, а затем завернуть в UTF-8 (т.к. это наша локаль системная).
$primer = '=?UTF-8?B?'.base64_encode('Администратор сайта').'?='.";
Второй нюанс. Хедеры передаются последовательно, разделителем хедера является переход строки. завершение хедеров - два перехода. После хедеров идут данные.
По скольку наш хостинг - freeBSD. Конец строки - \n, коретку переводить не нужно.
Ниже пример всей конструкции.



среда, 12 мая 2010 г.

в 5ом CentOS'е есть баг

Basically you can just copy the example files from /usr/share/doc/bind-9.x.x/sample/etc/ and /usr/share/doc/bind-9.x.x/sample/var/ to start your own configuration from.

как увеличить размер экрана консоли гостевой машины Linux в VirtualBox

в загрузчике в параметрах ядра гостевой машины дописываем vga=773
или любое другое разрешение

Depth 800×600 1024×768 1152×864 1280×1024 1600×1200
8 bit vga=771 vga=773 vga=353 vga=775 vga=796
16 bit vga=788 vga=791 vga=355 vga=794 vga=798
24 bit vga=789 vga=792   vga=795 vga=799

простой NAT в Windows XP

Задача поднять NAT в Windows XP. Стандартная утилита не подходит в виду своей ущербности.

просомтр текущей конфигурации
netsh routing ip nat dump
настраиваем NAT
netsh routing ip nat install
смотрим что получилось
netsh routing ip nat show global
netsh routing ip nat add interface "ISP" full
netsh routing ip nat add interface "Local Area Connection" private
если нужен DNS форвардинг
netsh routing ip dnsproxy install
netsh routing ip dnsproxy set interface name="ISP" mode=enable
смотрим результат
netsh routing ip nat dump
удалить все
netsh routing ip nat uninstall

Попутно, если NAT'ить нужно много устройств. Например Wi-Fi, BT, LAN делаем Bridge (мост) и натим на него.

Затем разрешаем форвард пакетиков My Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter
меняем с 0 на 1

Далее ОТКЛЮЧАЕМ службу "Windows Firewall/Internet Connection Sharing (ICS)"
И включаем "Routing and Remote Access"
sc config RemoteAccess start= auto
net start RemoteAccess