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

понедельник, 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"
Имя файла, опять же, говорит само за себя.
Ну а ниже - краткий пример рабочего кода.

среда, 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.

простой 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