ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архив за Май, 2008

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

CIDR — Classless InterDomain Routing — Бесклассовая адресация

Как выяснить маску подсети исходя из CIDR ?

В кач-ве примера будем использовать
IP-адрес 213.45.64.123 с CIDR /27:

Необходимо взять кол-во бит из CIDR (в бинарном виде), разбить на 4-ре октета и перевести в десятичные.

1. запишем первые 27 бит как 1-цу, а остальные 5-ть (т.к. их всего 32 бита) как 0-ль

11111111111111111111111111100000

2. Разделим на 4-ре октета

11111111.11111111.11111111.11100000

3. Переведем в десятичную систему

255.255.255.224

Вот и все. Получили что /27 равен маске 255.255.255.224

Так же полезно просто помнить что:
сети класса A — это CIDR /8
сети класса B — это CIDR /16
сети класса С — это CIDR /24

————————————————————

Как по CIDR определить адрес сети, широковещательный адрес (broadcast), число хостов в сети ?

В кач-ве примера будем использовать тот же IP-адрес 213.45.64.123 с CIDR /27:

1. 32-27=5 бит

2. 2-йка в пятой степени = 32, а значит получается что рабочих IP-адресов в этой сети 30-ть (т.к. 1-ый адрес это адрес сети, а последний это broadcast)

3. Смотрим последний октет IP-адреса (213.45.64.123), в 123-х целых 32-ек укладывается 3 раза, а значит адрес сети 213.45.64.96 — это 32 умножить на 3 (32х3=96)

4. Широковещательным адресом (broadcast) будет 213.45.64.127 — это 32 умножить на 4 и отнять 1 (32х4-1=127)

————————————————————

Как по хосту и маске подсети определить адрес сети, широковещательный адрес (broadcast), число хостов в сети ?

В кач-ве примера будем использовать IP-адрес 192.168.32.48 с маской подсети 255.255.255.192:

1. 256-192=64, где 192 это последний октет из маски (255.255.255.192), а 64 это общее кол-во хостов в сети,
т.к. 1-ый адрес это адрес сети, а последний это broadcast получаем 62 рабочих хоста в сети.

2. Смотрим последний октет IP-адреса (192.168.32.48), в 48 целых 64-рок укладывается ноль получаем адрес сети 192.168.32.0 (0x64=0)

3. Широковещательным адресом (broadcast) будет 192.168.32.63 (64×1-1=63)

————————————————————

Или воспользуйтесь нашим IP Subnet Calculator 🙂

Ссылки:

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 1, среднее: 4,00 из 5)
Загрузка...
Отправить на почту Отправить на почту
0. Покурить доку (как обычно) 😉

Теперь, можно приступать.
Итак:

1. kldload ng_ubt (если нет в ядре). 

2. Подключить Bluetooth-модуль в USB, если он внешний, либо включить Bluetooth на ноутбуке.
В /var/log/messages должны появиться строки о ubt0:
Aug 11 14:20:51 book root: Unknown USB device: vendor 0x044e product 0x300d bus uhub5
Aug 11 14:20:51 book kernel: ubt0: <ALPS UGX, class 224/1, rev 2.00/19.15, addr 2> on uhub5
Aug 11 14:20:51 book kernel: ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
Aug 11 14:20:51 book kernel: ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=49;
nframes=6, buffer size=294

3. Поднимаем устройство: /etc/rc.d/bluetooth start ubt0
Если после запуска выдается
root: /etc/rc.d/bluetooth: ERROR: Unable to setup Bluetooth stack for device ubt0
то выключаем bluetooth адаптер в компе и включаем его заново, смотрим в /var/log/messages,
что девайс поднялся и определился как ubt0.
Снова запускаем /etc/rc.d/bluetooth start ubt0, если сообщение продолжает появляться, то ждем немного
и пробуем снова и снова, в конечном итоге подцепится.

4. Узнать BD_ADDR (МАС-адрес телефона) можно так:
hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
        BD_ADDR: 00:16:b8:1c:d5:f4
        Page Scan Rep. Mode: 0x1
        Page Scan Period Mode: 00
        Page Scan Mode: 00
        Class: 52:02:04
        Clock offset: 0x3329
Inquiry complete. Status: No error [00]
После чего можно BD_ADDR телефона добавить в /etc/bluetooth/hosts (для облегчения последующих действий):
00:16:b8:1c:d5:f4       W810i
5. Добавить телефон в конфиг /etc/bluetooth/hcsecd.conf:
device {
    bdaddr 00:16:b8:1c:d5:f4;
    name "My Phone";
    key nokey; # 16 bytes key (hex string)
    pin "1112";
}

6. Надо запустить демона, отвечающего за "спаривание 🙂 " двух
"синезубых": hcsecd
Cледующая строка может быть добавлена к /etc/rc.conf, чтобы hcsecd запускался
автоматически во время старта системы:
hcsecd_enable="YES"
7. Добавляем в /etc/ppp/ppp.conf:
mts:
 enable force-scripts
# set device /dev/ttyU0 #Раскомментить эту строку при юзании дата-кабеля. 
 set phone *99***1\#
 set authname mts
 set authkey mts
 set login
 set ctsrts off
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
            \"\" AT OK-AT-OK ATE1Q0 OK \
            AT+CGDCONT=1,\\\"IP\\\",\\\"internet.mts.ru\\\" OK \
            \\dATDT\\T TIMEOUT 60 CONNECT"
 set timeout 0
 set ifaddr 0/0 10.10.10.10 #10.10.10.10 нужно для удаленного пира,
                                           #иначе ppp может падать с ошибкой
                                           #"Не могу присвоить IP адрес"
 disable pap
 disable chap
 disable ipv6cp
 set timeout 180                    # 3 minute idle timer (the default)
 enable dns                            # request DNS info (for resolv.conf)
 add! default HISADDR		#Add (Overwrite) default route
Внимание! ВСЕ строки после метки mts: должны начинаться с пробела!

8. Теперь соединение по синему зубу установлено, осталось через него
организовать ppp-канал, что вполне реально сделать при помощи команды:
rfcomm_pppd -a W810i -c -C DUN -l mts
Теперь телефон спросит пин - введите тот, что вписан в /etc/bluetooth/hcsecd.conf.

P.S. Тестилось на:
    Оператор: МТС
    Телефоны: Nokia 6310i, SonyEricsson W810i
    USB-Bluetooth донгл: Tekram TM-304
    Ноутбук: Sony VAIO VGN-SZ6RMN
    ОС: FreeBSD 6.3, 7.0

P.P.S. Если используется дата-кабель, то делаем:
kldload umodem.ko
и используем только п.7 (в нем убираем коммент про set device)
и запускаем ррр: ppp -ddial mts

P.P.P.S. Для "слива-залива" инфы на телефон можно использовать порт /usr/ports/comm/obexapp
(Инфа взята с http://www.lissyara.su/?id=1380):
obexapp -c -a W810i -C ftrn
Теперь телефон спросит пин - введите тот, что вписан в /etc/bluetooth/hcsecd.conf.
obex> ?
CApability, CD, DElete, DIsconnect, Empty, GET, GETDefault, Ls, Mkdir, Put?
obex> ls
Access    Owner    Group    Size       Modified         Name
          n/a      n/a      n/a        n/a              Память телефона/
          n/a      n/a      n/a        n/a              Memory Stick/
Success, response: OK, Success (0x20)

При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Автор: Панфилов Алексей (lehis (at) subnets.ru)

Мегафон:

megafon:

 shell rfcomm_sppd -c DUN -t /dev/ttyp9 -a dru -b
 # shell rfcomm_sppd -t /dev/ttyp9 -a dru -b
 set log Chat command
 set device /dev/ttyp9
 set speed 115200
 set ctsrts off
 set phone "*99***2#"
 set dial "ABORT ERROR TIMEOUT 40 \
 \"\" AT OK-AT-OK ATE1Q0 OK \
 \\AT+CGDCONT=1,\\\"IP\\\",\\\"internet\\\" OK \
 \\dATDT\\T TIMEOUT 40 CONNECT"
 # TIMEOUT 40 CONNECT"
 set logout "ABORT BUSY ABORT ERROR TIMEOUT 30 \
 \"\" +++ATH OK-ATH-OK AT+CGATT=0 OK"
 set login
 set authname "gdata"
 set authkey "megafon"
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add! default HISADDR
 set ipcpretries 10 5
 disable pap
 disable chap
 enable dns

Билайн

beeline_dru:
 #set log Chat command
 set device /dev/ttyU0
 set speed 115200
 set ctsrts off
 set phone "*99#"
 set dial "ABORT ERROR TIMEOUT 40 \
 \"\" AT OK-AT-OK ATE1Q0 OK \
 \\AT+CGDCONT=1,\\\"IP\\\",\\\"internet.beeline.ru\\\" OK \
 \\dATDT\\T TIMEOUT 10 CONNECT" 

 # TIMEOUT 40 CONNECT"
 set logout "ABORT BUSY ABORT ERROR TIMEOUT 10 \
 \"\" +++ATH OK-ATH-OK AT+CGATT=0 OK"
 set login
 set authname "beeline"
 set authkey "beeline"
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add! default HISADDR
 # set ipcpretries 10 5
 # disable pap
 # disable chap
 enable dns

Взято тут: http://www.bsdportal.ru/


Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 2, среднее: 4,50 из 5)
Загрузка...
Отправить на почту Отправить на почту

1. Запускаем kldload ng_ubt
Для автозагрузки при boot`е компа прописать в /boot/loader.conf
ng_ubt_load=»YES»

2. Стартуем bluetooth

/etc/rc.d/bluetooth start ubt0

если после запуска выдается
root: /etc/rc.d/bluetooth: ERROR: Unable to setup Bluetooth stack for device ubt0
то выключаем bluetooth адаптер в компе и включаем его заново, смотрим в /var/log/messages что девайс поднялся и определился как ubt0
Снова запускаем /etc/rc.d/bluetooth start ubt0, если сообщение продолжает появляться, то ждем немного и пробуем снова и снова, в конечном итоге подцепится.

3. осуществляем поиск bluetooth устройств командой

hccontrol -n ubt0hci inquiry

если устройство найдено, то будет выдаваться что то типа:
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:07:61:66:35:86
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 0x2
Page Scan Mode: 00
Class: 00:25:80
Clock offset: 0x5d4c

В моем примере 00:07:61:66:35:86 мак адрес bluetooth мышки.

4. Перенаправляем в файл вывод bthidcontrol команды:

bthidcontrol -a 00:07:61:66:35:86 query > /etc/bluetooth/bthidd.conf

5. добавляем в файл /etc/rc.conf
bthidd_enable=»YES»

6. запускаем /etc/rc.d/bthidd start

Все, bluetooth мыша должна ожить

З.Ы. Можно ещё почитать:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-bluetooth.html
http://www.lissyara.su/?id=1381

При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Панфилов Алексей (lehis (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 1, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

В 7-ой версии FreeBSD очень сильно переработана поддержка wi-fi. Были добавлены ряд драйверов беспроводных карт, среди которых и драйвер для Intel 3945 — wpi(4).
После выхода FreeBSD 7.0-RELEASE была добавлена возможность работы с несколькими точками доступа (далее — AP) одновременно (дата добавления — 20.04.2008). Посему, для получения всех «вкусностей» работы с wi-fi рекомендуется обновиться до текущей версии FreeBSD.

Процесс «поднятия» выглядит, примерно, так:

1. в /boot/loader.conf добавляется:
legal.intel_wpi.license_ack=1
wpifw_load=»YES»
if_wpi_load=»YES»

2. в ядро:
# Wireless NIC cards
device wlan # 802.11 support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device wlan_amrr # AMRR transmit rate control algorithm
device wlan_scan_ap # 802.11 AP mode scanning
device wlan_scan_sta # 802.11 STA mode scanning

3. Создается файл /etc/wpa_supplicant.conf (рекомендуется прочитать wpa_supplicant(8)):
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
ssid=»имя АР»
scan_ssid=1
key_mgmt=NONE
wep_tx_keyidx=0
wep_key0=здесь ключ(без кавычек!)
}

4. Активируется wi-fi адаптер

5. Дается комманда: wpa_supplicant -BDbsd -i wpi0 -c/etc/wpa_supplicant.conf

6. ifconfig wpi0 должен выдать нечто подобное:
wpi0: flags=8843< UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:1b:77:f9:aa:42
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid default channel 10 (2457 Mhz 11g) bssid 00:c0:02:b4:a9:1a
authmode OPEN privacy ON deftxkey 1 wepkey 1:104-bit txpower 50
bmiss 7 scanvalid 60 protmode CTS roaming MANUAL

7. Управление wpa_supplicant осуществляется посредством wpa_cli:
# wpa_cli
wpa_cli v0.5.10
Copyright (c) 2004-2008, Jouni Malinen < j@w1.fi > and contributors
This program is free software. You can distribute it and/or modify it
under the terms of the GNU General Public License version 2.
Alternatively, this software may be distributed under the terms of the
BSD license. See README and COPYING for more details.
Selected interface 'wpi0'
Interactive mode
> status
bssid=00:c0:02:b4:a9:1a
ssid=default
id=0
pairwise_cipher=WEP-104
group_cipher=WEP-104
key_mgmt=NONE
wpa_state=COMPLETED
ip_address=192.168.1.3

При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Панфилов Алексей (lehis (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 3,33 из 5)
Загрузка...
Отправить на почту Отправить на почту

NFS — Network File System

Задача.

Сбалансировать нагрузку на 2 www+база данных сервера и заставить их использовать одно хранилище www-контента, базы данных и логов.

Вариант решения.

Резолв DNS имени www-сервера на 2 разных ip-адреса используемые www-серверами, и организация для них общего хранилища www-контента, базы данных и логов при помощи NFS

Настройка NFS-сервера

— Ядро должно быть собрано с опцией

options NFSSERVER # Network Filesystem Server

— Необходимо создать файл экспорта, в котором описываются локальные точки системы, доступные для монтирования клиентами, файл /etc/exports
— Формат файла:
/mnt/disk1/www /mnt/disk2/mysql /mnt/disk3/logs -maproot=0 192.168.0.10 192.168.0.11

Если требуется экспортировать более 3-х точек, например — 4, следует описывать их в другой строке файла. Иными словами, в одной строке должно быть не более 3х точек экспорта

Права доступа на точки экспорта в нашем случае описаны следующим образом:
-maproot=user
Права данного пользователя используются для удаленного подключения как root. Права включают все группы в которые входит пользователь на локальной машине. Может быть представлен по имени или uid (как в нашем примере).

192.168.0.10 192.168.0.11 — хосты которым разрешено монтирование.
Подробнее по синтаксису можно прочесть в man 5 exports

запуск сервера осуществляется последовательностью команд
/usr/sbin/rpcbind -l -h 192.168.0.1
/usr/sbin/mountd -r
/usr/sbin/nfsd -h 192.168.0.1 -t -n 8

Описание параметров


rpcbind
-l — Turn on libwrap connection logging
-h — биндинг адреса для UDP requests (если не указать — будет слушать на всех доступных)
mountd
-r — Allow mount RPCs requests for regular files to be served
nfsd
-h — биндинг адреса
-t — параметр, указывающий обслуживать только TCP-клиентов (если требуется работать по протоколу UDP, следует указать параметр -u)
-n — количество создаваемых серверов

Настройка WWW-серверов (NFS клиентов)

— Ядро должно быть собрано с опцией
options NFSCLIENT # Network Filesystem Client

Монтирование осуществляется командами вида
/sbin/mount_nfs -3 -T 192.168.0.1:/mnt/disk1/www /usr/local/www
/sbin/mount_nfs -3 -T 192.168.0.1:/mnt/disk2/mysqk /var/db/mysql
/sbin/mount_nfs -3 -T 192.168.0.1:/mnt/disk3/logs /var/log/httpd

Описание параметров
-3 — использовать только версию 3 протокола NFS
-T — использовать TCP в качестве траспортного протокола (-U — udp по умолчанию)
192.168.0.1 — адрес nfs-сервера
/mnt/disk1/www — директория на сервере (описываются в /etc/exports на сервере)
/usr/local/www — локальная директория для монтирования на клиенте

Примечания
Для клиентов доступен демон nfsiod, который регулирует максимальное количество запускаемых клиентов (max — 20)
Для просмотра подробной статистики на сервере и клиентах можно использовать утилиту nfsstat.
Монтирование производится поверх локальных ресурсов (т.е. если примонтировать в директорию с данными, локальные данные не будут доступны до размонтирования).

Более подробно можно прочесть на
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nfs.html

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 4, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту