Blog по FreeBSD и не только!

Blog по FreeBSD и не только!Blog по FreeBSD и не только!


Заметки BSD админа.
RSS posts

Hi-Tech


Comenteaza





Это конец
Когда то здесь был блог, но это было давно. Отпишитесь, если это возможно.

Установка и настройка Samba сервера на FreeBSD


 Задача: Обмен и хранение файлов на файлсервере. В роли файлсервера выступают: 8.0-RELEASE FreeBSD и Samba35 Сервер настроен на доступ по имени и паролю, гостевые соединения запрещены. для начала нужно установить самбу: #cd /usr/ports/net/samba35 #make && make install && make clean потом добавить в автозагрузку: #echo 'samba_enable="YES"' >> /etc/rc.conf #echo 'smdb_enable="YES"' >> /etc/rc.conf #echo 'nmdb_enable="YES"' >> /etc/rc.conf теперь отредактировать конфигурационный файл: #ee /usr/local/etc/smb.conf [global]         netbios name = titan         workgroup = mynet         server string = Samba Server         log file = /var/log/samba/log.%m         max log size = 50 [Files]         comment = File server         path = /share         writable = Yes Конфиг мог бы быть и подлинее, но большинство опций нет необходимости писать так как по умолчанию у них задан необходимый параметр, например опция browseable = yes по умолчанию Yes, поэтому её включать в конфиг нет смысла, рекомендую использовать следующий ресурс, который мне очень помог: http://smb-conf.ru/browseable-s.html Конфиг файл самбы, создатели рекомендуют делать без коментариев и прочего лишнего барахла, оставлять только то, что нужно. Не забудьте создать пользователей, которые смогут подключить сетевой диск на своей Windows машине. Пользователей нужно создать и в системе и в самбе: #adduser test Username: test Full name: Uid (Leave empty for default): Login group [test]: Login group is test. Invite test into other groups? []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: nologin Home directory [/home/test]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username   : test Password   : ***** Full Name  : Uid        : 1009 Class      : Groups     : test Home       : /home/test Home Mode  : Shell      : /usr/sbin/nologin Locked     : no OK? (yes/no): yes теперь создаю того же юзера в самбе: #smbpasswd -a test New SMB password: Retype new SMB password: У меня для каталога /share отведен отдельный раздел, у кого не так, создайте нужный каталог и задайте разрешения: #mkdir /share #chmod -R -v 755 /share #chown –R –v test:test /share Теперь надо проверить конфиг самбы на наличие ошибок, это делается одной командой: #testparm Load smb config files from /usr/local/etc/smb.conf max_open_files: sysctl_max (11095) below minimum Windows limit (16384) rlimit_max: rlimit_max (11095) below minimum Windows limit (16384) Processing section "[Files]" Loaded services file OK. если ошибок нет, будет похожее сообщение. Далее нужно или перезагрузиться или запустить самбу вручную: #/usr/local/etc/rc.d/samba start или restart если вы обновили свой конфиг файл. Следующий шаг – подключение сетевого диска с виндовс машины: правой кнопкой мыши на “Мой компьютер”—> “Подключить сетевой диск” пишите имя компа и имя шары \\titan\share Если не получается войти или войти на сам комп можно а вот в шару нет, попробуйте поставить в smb.conf security = SHARE он не такой “строгий”. У меня этого параметра нет, так как у меня стоит значение по умолчанию: security = USER Если по прежнему не получается войти, проверьте владельца каталога и права, например можно временно дать права на каталог “всем-все-можно”: #chmod -R -v 777 /share Также полезными могут быть некоторые команды: #sockstat -l4 | grep bd – можно посмотреть запущены ли процессы самбы #smbstatus – покажет все соединения к самбе #pdbedit –L – можно увидеть список пользователей самбы #/usr/local/etc/rc.d/samba restart – перезапуск самбы.  ==================================================== Не много про ACL (Access Control List) во FreeBSD: Мне например не хватило возможностей файловой системы для того чтобы задавать разрешения на каталоги и файлы по типу "мне", "вам", "остальным" (user, group, others). Например у меня есть более 50-ти директорий на файл сервере и необходимо было сделать так чтобы часть пользователей видела все, часть чтобы видела только определенные директории и в какие то можно писать а какие то можно только читать. Вышел из положения благодаря ACL и симлинкам, во первых самбу нужно собрать с поддержкой ACL (в самом начале установки поставить галку ACL_SUPPORT) а во вторых нужно добавить поддержку ACL в /etc/fstab к тому разделу на котором собираетесь это использовать.

И не надо бояться! В разделе Options ставите запятую и без пробела пишите четыре буквы - acls и на перезагрузку, потом можно проверить так:#mount -l /dev/da0s1a on / (ufs, local) devfs on /dev (devfs, local, multilabel) /dev/da0s1e on /tmp (ufs, local, soft-updates) /dev/da0s1f on /usr (ufs, local, soft-updates, acls) /dev/da0s1d on /var (ufs, local, soft-updates) После, подключаете на венде шару, правой кнопкой-свойство-безопасность-дополнительно (где то видел писали, что лучше выставлять разрешения именно в "дополнительно" так оно якобы правильнее. хз) и можно править разрешения, добавлять/удалять пользователей, главное чтобы эти пользователи были в системе и в самбе. И возможно еще нужно будет добавить в описание вашей шары в /usr/local/etc/smb.conf admin users = yourusername Кстати самбу можно настраивать и через web интерфейс, для этого нужно разкоментировать последнюю строку в файле /etc/inetd.conf swat    stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat после этого добавить в rc.conf : #echo 'inetd_enable="YES"' >> /etc/rc.conf #/etc/rc.d/inetd reload перечитать конфиг inet.d и вы можете использовать браузер для подключения к http://sambaserver:901

ссылки: http://smb-conf.ru/     http://www.freebsd.org/doc/ru/books/handbook/network-samba.html http://www.lissyara.su/archive/samba_without_domain/про ACL  http://www.freebsd.org/doc/ru/books/handbook/fs-acl.html
Изменить время на FreeBSD


У меня уже была заметка на эту тему, но я ее немного расширю! Изменить, а точнее синхронизировать дату и время на FreeBSD можно очень быстро:#ntpdate pool.ntp.orgно если нет интернета, тогда подойдет следующая команда:#date yymmddhhssyy - год.последние 2 цифрыmm - месяцdd - деньhh - часss - минутыто же быстро, но не так точно как ntpdate.
dhcpd adress pool
Сервис dhcpd начал засыпать сообщениями такого рода: dhcpd: Dynamic and static leases present for 10.0.0.10. dhcpd: Remove host declaration computername or remove 10.0.0.10 dhcpd: from the dynamic address pool for 10.0.0/24Сообщения начали появляться после того, как я начал привязывать айпишники по MAC адресам. Оказалось, что нельзя назначить компьютеру фиксированный IP, если этот IP входит в Adress scope. Например имея такую кофигурацию DHCP сервера, фиксированные адреса можно выдавать уже после 10.0.0.61-ого IP адреса. option domain-name "example.local"; option domain-name-servers 10.0.0.2; option subnet-mask 255.255.255.0; default-lease-time 720000; max-lease-time 720000; min-lease-time 720000; ddns-update-style none; subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.1 10.0.0.60; option routers 10.0.0.1; }
SSH туннелинг и SleepShell


SSH туннелинг и SleepShell Читал чуть раньше у mr-tacitus заметку про то, как сделать из SSH -SOCKS-сервер, т.е. создается зашифрованный туннель между клиентской машиной и сервером с поднятым на нем sshd демоном и по определенному порту трафик от клиента в мир идет не "на прямую", а через туннель. Например можно направить в туннель запросы браузера или ICQ клиента, таким образом зашифровать передачу личных данных. В моем случае, мне понадобилось создать туннель для серфинга в интернете, доступ к шелу не нужен и для безопассности пользователь который создает туннель (т.е. подключается к ssh серверу), вместо обычного шела - получает "shell-пустышку". Мне посоветовали использовать для этих целей SleepShell. SleepShell - это программка, которая после логина удаленного пользователя по SSH, вместо стандартного приглашения " $ " выводит каждые 10-ть секунд звездочки " * ". Это очень удобно, пользователь прошел авторизацию, но не может ввести ни одну команду. Кстати перед компилированием - можно исходник изменить и вместо звездочек выводить например сколько прошло времени после логина этого пользователя. Для того, чтобы создать туннель, в конфиге sshd нужно разрешить опцию TcpForwarding #ee /etc/ssh/sshd_config AllowTcpForwarding yes #/etc/rc.d/sshd restartЕсли создавать соединение с ssh сервером через putty нужно указать адрес и порт сервера

Далее Connection-->SHH-->Tunnels добавить произвольный порт, на этот порт будет настраиваться браузер.

Теперь нужно настроить браузер

Если вы все сделали правильно, то ваш браузер будет работать через ssh proxy. Для проверки можно зайти на 2ip.ru или whatismyip.com и увидеть там IP адрес ssh сервера. ======== Теперь немного про SleepShell. На сайте все очнь доступно описанно, так что я немного повторюсь. 1. Для начала, нужнно скачать програмку http://www.mariovaldez.net/software/sleepshell/ из консоли я зашел на сайт и cкачал архив консольным браузером lynx (/usr/ports/japanese/lynx) 2. Архив нужно распоковать #tar -xf sleepshell_0.0.2.tar.gz 3. Зайти в распакованный каталог и скомпилировать программу #cd sleepshell #make 4. Для проверки на работоспособность, можно запустить свежеоткомпилированную прогу #./sleepshell 5. Теперь свежескомпилированную прогу нужно скопировать в /usr/local/bin/ #cp sleepshell /usr/local/bin/sleepshell 6. Так же я добавил /usr/local/bin/sleepshell в /etc/shells 7. Теперь все!!! Можно создавать нового юзера (#adduser) и на вопрос какой шел использовать будет юзер, написать sleepshell.
Настройка DNS сервера BIND


DNS - система доменных имен. Предыстория Давным-давно, в конце 60-ых годов, когда еще не было Интернета, Министерство обороны США, открыло финансирование экспериментальной компьютерной сети ARPAnet. Сеть была создана для объединения важных государственных объектов и разделения ресурсов дорогоредких компьютеров. Однако уже тогда, сеть использовалась по "назначению". Пользователи сети обменивались файлами и посылали сообщения по электронной почте. Каждый узел в сети имел текстовый файлик hosts.txt в котором хранилось соответствие, какому имени компьютера, какой IP адресс соответствует. Если в сети появлялся новый узел, его добавляли в этот файл и рассылали по электронной почте всем пользователям сети. Когда масштабы ARPAnet увеличились, понадобилось придумать, что-то новое и вот тогда придумали систему доменных имен DNS. BIND - самый популярный DNS server. DNS работает по принципу "Клиент-Сервер" с возможностью синхронизации и кэширования. Одним из самых популярных сегодня является DNS server BIND. Далее я опишу, как настроить авторитетный сервер для собственного домена с автоматической передачей зоны на вторичный сервер. Т.к. во FreeBSD по умолчанию используется BIND - устанавливать его не нужно, а для того чтобы настроить, достаточно отредактировать основной файл конфигурации named.conf и файл зоны своего домена, проверить если нет ошибок в конфигах и можно запускать демон BIND-a. Правим основной файл конфигурации named.conf: #ee /etc/namedb/named.conf------------------------------------------------------------------------------------------------------ options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; allow-transfer { 195.24.128.164; 193.218.105.146; }; allow-query { any; }; recursion no; notify yes; version "hi"; }; zone "." { type hint; file "named.root"; }; zone "localhost." { type master; file "master/localhost"; }; zone "0.0.127.in-addr.arpa" { type master; file "master/localhost.rev"; }; zone "test.com" { type master; file "master/test.com"; }; zone "122.21.211.in-addr.arpa" { type master; file "master/test.com.rev"; }; ------------------------------------------------------------------------------------------------------ секция options { directory "/etc/namedb"; Указываем где находится рабочая директория pid-file "/var/run/named/pid"; Где находится пид файл dump-file "/var/dump/named_dump.db"; Где находится дамп statistics-file "/var/stats/named.stats"; Проверить состояние бинда можно здесь allow-transfer { 195.24.128.164; 193.218.105.146; }; Здесь перечисляютя IP адреса вторичных серверов, на которые можно передавать зону. (slave server ip adress) allow-query { any; }; Спрашивать информацию имеют права все, ограничений нет recursion no; А вот рекурсивные запросы запрещенны, мой DNS сервер отвечает только за одну зону notify yes; Оповещать вторичные сервера, когда есть изменения на основном version "hi"; Здесь можно подключить творчество }; Ниже опций, пишутся зоны, их имена и где они расположенны. Корневая зона, localhost (прямая, обратная), test.com (прямая, обратная). ------Настройка зоны test.com В руководстве написанно: "Для создания основной зоны для локального хоста перейдите в каталог /etc/namedb и выполните команду" # sh make-localhost Не знаю как у остальных, но у меня этого скрипта воабще не было, кстати он может создавать не только зону локалхоста, но и все остальные необходимые, например test.com. Т.к. скрипта не было пришлось делать все вручную, в каталоге /etc/namedb/master/ есть 2-а файлика: localhost-forward.db localhost-reverse.db из этих файликов я наклепал еще 4-ре, которые мне нужны: # ls -l /etc/namedb/master/ localhost localhost.rev test.com test.com.rev и начал их редактировать: #ee /etc/namedb/master/test.com $ORIGIN test.com. $TTL 3h test.com. SOA admin.test.com. admin.test.com. ( 1306200802 5h 1h 1w 3h ;Serial, Refresh, Retry, Expire, TTL ) @ IN NS ns1.test.com. @ IN NS ns2.trifle.net. @ IN NS ns0.xname.org. @ IN NS ns1.xname.org. @ IN MX 10 ASPMX.L.GOOGLE.COM. @ IN MX 20 ALT1.ASPMX.L.GOOGLE.COM. @ IN A 211.11.122.111 ns1 IN A 159.22.117.7 www IN A 211.11.122.111 @ IN AAAA ::1 forum CNAME google.com. ------------------------------ В файлах зон, символ " @ " заменяется демоном named на имя зоны, написанной в файле named.conf после слова zone в кавычках: zone "test.com", именно поэтому E-Mail пишется через точку, а не через " @ " admin.test.com. Серийный номер не обязательно должен быть в формате "ДеньМесяцГодСколькоРазИзменялся" 1306200802, да, так можно узнать точную дату когда редактировалась зона, но Serial может быть любой, например можно написать 1, главное увеличивать это число после редактирования зоны - иначе вторичные DNS сервера не обновятся. Refresh (5h) в начале, пока вы экспериментируете можно поставить один час (1h), чтобы вторичные DNS сервера быстрее обновляли значение Serial, когда все будет стабильно работать, можно увеличить это значение, например на 5h или 10h. Retry (1h) - это значение указывает вторичным серверам, как часто необходимо обращаться к Master серверу, если тот не отвечает. Expire (3w) - это время которое slave сервера будут обслуживать зону, пока master сервер не доступен. Если спустя это время вторичный сервер так и не смог достучаться до основнова сервера, он перестает обслуживать эту зону. TTL (3h) - время жизни записей для зоны. В конце каждого доменного имени обязательно должна стоять точка " . " Точка указывает на то, что это абсолютное имя домена, которое начинается с корня (т.е. с точки) например создадим одну запись CNAME для домена test.com : site2 IN CNAME google.com. Так правильно! Bind будет интерпитировать эту запись так - site2.test.com и перенаправлять на google.com, а если создать такую же запись, но не поставить точку в конце доменного имени, то Bind будет интепретировать такую запись, как относительную для домена test.com и другие DNS сервера поймут это так: site2.test.com IN CNAME google.com.test.com Теперь, когда Master сервер настроен, необходимо настроить передачу зоны вашего домена на slave сервера и чем больше у вас будет slave серверов - тем надежнее! Описание конфигурационного файла named.conf на вторичном сервере практически не отличается от файла на основном сервере, за исключением режима, в котором будет работать данный сервер (type slave) и директории. ------------------- options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; allow-transfer { 195.24.128.164; 193.218.105.146; }; allow-query { any; }; recursion no; notify yes; version "hi"; }; zone "." { type hint; file "named.root"; }; zone "localhost." { type master; file "master/localhost"; }; zone "0.0.127.in-addr.arpa" { type master; file "master/localhost.rev"; }; zone "test.com" { type slave; file "slave/test.com"; }; --------------- Также будет полезно настроить несколько вторичных-бесплатных днс серверов. В интернете не так много (но и не мало) бесплатных DNS сервисов я работаю с http://ns2.trifle.net и http://www.xname.org а также можно воспользоваться http://secondary.net.ua еще есть несколько, но я их не ипользовал. (сайт1 сайт2 сайт3 сай4) Запуск Bind-a и проверка зон на работоспособность. Запустить можно так: # /etc/rc.d/named start (или forcestart, а также stop, restart) Обновить базу данных bind-a т.е. чтобы перечитал свои файлы можно коммандой: # named.reload (кстати, если вы сделали изменения в файлах зон и забыли изменить serial то после этой комманды bind вам напомнит об этом) Проверить есть ли ошибки в конфиг файле можно коммандой: # named-checkconf /etc/namedb/named.conf Файл зоны можно проверить так: команда ИмяЗоны ПутьКзоне # named-checkzone test.com /etc/namedb/master/test.com Посмотреть bind в процессах # top | grep named И послушать висит ли Bind на 53 порту: # sockstat -l4 -p 53 -------- Если в панели управления вашего домена нет возможности указать IP адрес NS (NameServer-a) а только имя, к примеру ns1.newdomen.com, а это имя еще не резолвиться в интернете, тогда можно сделать так: 1. Настроить основной сервер у себя, потом воспользоваться бесплатным вторичным днс сервисом, там зарегистрироваться, указать IP адрес master сервера, когда вторичный схавает все настройки, подождать 12-18 часов пока пока не заработает. 2. Попросить знакомого, который владеет DNS сервером, чтобы он создал у себя запись для вашего IP адреса типа: pupkin IN A 222.11.112.123 - это ваш IP и прописать в панели управления для вашего домена pupkin.domendruga.com 3. Мне кажется, этот вариан самый простой. Зарегистрировать бесплатно домен 3-го уровня на сайте no-ip.com и указать для этого домена ваш IP адрес. На этом все! :) FreeBSD 6.3 BIND 9.4.2
Скрипт для бэкапа файлов на флешку (Windows)


Скрипт для бэкапа файлов на флешку (Windows) Понадобилось одному пользователю каждое утро с файл сервера бэкапить 2-а файлика на флэшку. Чтобы не делать каждое утро по 10 действий и облегчить человеку жизнь - написал скрипт, который с сетевого диска копирует 2-а файла во временную папку, запаковывает winrar-ом, называет архив сегодняшней датой и кидает на флешку. Если все прошло как надо - пользователь получает уведомление, что архив успешно скопирован или наоборот, получает ошибку! Писалось все в *.BAT-e. Вот сам скрипт: @ECHO off SET FILE1="z:\server\db\file1.doc" SET FILE2="z:\server\db\file2.doc" SET TEMP="c:\TEMP\" SET RAR="c:\Program Files\WinRAR\WinRAR.exe" SET NAME=%DATE% SET FLASHDRIVE="m:\" if exist %TEMP% rmdir /s /q %TEMP% mkdir %TEMP% if exist %FILE1% copy %FILE1% %TEMP% if exist %FILE2% copy %FILE2% %TEMP% %RAR% a -ep1 %FLASHDRIVE%\%NAME%.rar %TEMP% rmdir /s /q %TEMP% if exist %FLASHDRIVE%\%NAME%.rar @ECHO Succesful!!! if not exist %FLASHDRIVE%\%NAME%.rar @ECHO ERROR pause Что к чему: @ECHO off - отключаю вывод всех команд объявляю переменные: SET FILE1="z:\server\db\file1.doc" - это первый файл который мне нужно скопировать SET FILE2="z:\server\db\file2.doc" - а это второй SET TEMP="c:\TEMP\" - временная папка SET RAR="c:\Program Files\WinRAR\WinRAR.exe" - указываю где находится Winrar SET NAME=%DATE% - здесь я задаю имя архива. Имя архива = сегодняшняя дата. т.е. каждый день у нового файла будет новое имя SET FLASHDRIVE="m:\" - объявил флэшку, кстати я ей поменял букву через "Управление компьютером-> Управление дисками". Винда запоминает какую букву вы дали своей флешке и ставит именно ее. if exist %TEMP% rmdir /s /q %TEMP% - теперь я проверяю, если существует временная папка, тогда нужно удалить её. Параметр /s удаляет указанный каталог и все подкаталоги вместе с файлами. Параметр /q удаляет каталоги без запроса подтверждения. mkdir %TEMP% - создаю временную папку if exist %FILE1% copy %FILE1% %TEMP% - если существует 1-ый файл - скопировать его в темп if exist %FILE2% copy %FILE2% %TEMP% - то же самое и со 2-ым файлом %RAR% a -ep1 %FLASHDRIVE%\%NAME%.rar %TEMP% - архивирую а - добавить в архив -ep1 - если не поставить этот ключ, то файлы в архиве, будут еще и в папке с названием temp, это не очень удобно. rmdir /s /q %TEMP% - и снова я удаляю временную папку - ну чтобы чище было на компе Далее проверяю, есть ли архив с сегодняшней датой на флешке, если есть показать Succesful, а если нет - сами понимаете - ERROR if exist %FLASHDRIVE%\%NAME%.rar @ECHO Succesful!!! if not exist %FLASHDRIVE%\%NAME%.rar @ECHO ERROR pause - не дает окну закрыться, чтобы пользователь успел прочитать сообщения и предлагает "Press any key". Где находится кнопка "any key" я до сих пор не знаю. Если кому-то нужно будет использовать, скопировать скрипт в текстовый документ и сохранить с расширением *.bat UPDATE: Справочник по коммандной строке в формате *.CHM можно сделать так: Правой кнопкой по раб. столу "Создать ярлык" и в открывшееся окно вставить вот это: %windir%\hh.exe ms-its:%windir%\Help\ntcmds.chm::/ntcmds.ctm То же самое есть на сайте microsoft.com
Обновление портов FreeBSD используя Portsnap


Обновление портов FreeBSD используя Portsnap Portsnap - это система для обновления портов. FreeBSD начиная с версии 6.0 содержит Portsnap в базовой поставке системы. Для более ранних релизов FreeBSD эта утилита может быть установлена из порта sysutils/portsnap. Для того, чтобы обновить дерево портов, необходимо сделать следущее: Отредактировать конфигурационный файл /etc/portsnap.conf - сюда нужно добавить ближайший к вам portsnap сервер Загрузить упакованный снэпшот полного дерева портов Распоковать и установить дерево портов Обновить дерево портов Итак, в /etc/portsnap.conf я изменил адресс сервера на portsnap.bsd.md т.к. этот сервер, находится ближе всех ко мне. #ee /etc/portsnap.conf SERVERNAME=portsnap.bsd.md Далее загрузить, распоковать, обновить дерево портов: #portsnap fetch #portsnap extract #portsnap fetch update Эти команды необходимо писать только первый раз, в дальнейшем для обновления портов достаточно будет: #portsnap fetch update Теперь все! Имея обновленное дерево портов - можно смело ставить необходимые программы!
BSD community in Moldova


В Молдове, благодаря небезызвестным товарищам Nafanya и macr0s, появился полноценный миррор FreeBSD, OpenBSD и Gentoo. На данный момент досупны данные сервисы: CVSup - cvsup.bsd.md , исходники обновляются раз в 2 часа.FTP - ftp://ftp.bsd.md на сервере выложены ISO образы 7.x и 6.x версии, snapshot-ы этих систем для возможности их установки через ftp, а также distfiles. Это все доступно для 2-х платформ: i386 и amd64.Distfiles mirror - Для использования локального BSD.MD distfiles зеркала вам нужно добавить в ваш /etc/make.conf следующее:MASTER_SITE_OVERRIDE=ftp://ftp.bsd.md/pub/FreeBSD/ports/distfiles/Gentoo & gentoo-portage - Доступны по этому адресу:ftp://ftp.bsd.md/pub/Gentoo/Portsnap - Чтобы использовать локальное зеркало portsnap, необходимо прописать в ваш /etc/portsnap.conf следующее (предварительно закомментировав предыдущий сервер):SERVERNAME=portsnap.bsd.mdOpenBSD cvsup mirror - Для того, чтоб его использовать, прописываем в supfile следующее:host=cvsup.bsd.mdBSDCert - Полезные переведённые доки с http://house.hcn-strela.ru/BSDCert/ доступны по ссылке http://www.bsd.md/BSDA/BSDCert/Автор пособия - Евгений Миньковский. Спасибо ему за проделанную работу.Взято с http://tallman.ath.cx
Хостинг корпоративной почты на GMail-e


Google службы или как хостить корпоративную почту на GMail-e Гугл не перестаёт меня радовать новыми сервисами, правда этому уже больше чем пол года. Смысл в том, что имея свой или корпоративный домен, можно организовать почтовый шлюз используя сервера гугла. Кроме почты, Google службы предлагают: - Корпоративный календарь - Документы Google - Google Talk - Стартовая страница (Доступ к почте, календарю, документам и сайту компании, инструменту веб-поиска – и все это с одной страницы.) И все это можно получить абсолютно бесплатно. Размер ящика будет почти 7-мь Гб и в одном домене можно создать не более 100 пользовательских аккаунтов. Кому 7-мь Гб мало, можно заплатить 50,00 $ долларов США за аккаунт пользователя в год и получить 25 Гб / аккаунт, кол-во аккаунтов в одном домене не ограниченно. Как настроить? Нужно зайти сюда http://www.google.com/a/ зарегистрировать свой домен, добавить если нужно пару почтовых аккаунтов и самое главное, чтобы все это работало, нужно изменить MX и CNAME записи для своего домена. Что куда писать гугл подскажет. Что дальше? Дальше вы получаете: - Пользовательские электронные адреса. В аккаунтах используется название вашего домена (например, senatum@primer.ru). - Большой объем почтового ящика. Каждый пользователь получает не менее 6.692204 Гб свободного пространства для хранения писем. В Профессиональном пакете Служб Google пользователи получают по 25 Гб. - Мощные средства для поиска в почте. - Встроенная адресная книга. - Встроенные функции чата. - Защита от вирусов, спама и фишинга. - Протокол РОР и переадресация почты. Протокол POP позволяет загружать письма из Gmail в такие приложения, как Outlook и Eudora, и наоборот – пересылать почту с других электронных адресов в Gmail. - Мобильный доступ. Чтобы войти в свой ящик, нужно зайти http://www.google.com/a/primer.ru вместо primer.ru вписать название зерегинного домена. Администратор получает админку, из которой он управляет доменом и создает пользователей, так же есть возможность прикрепить лого своей компании и менять цвет вэб морды. Имея не большую компанию, можно смело пользоваться Google службами и избавить себя от настройки и сопровождения почтового сервера, с другой стороны, сопровождение почтового сервера - благоприятно воздействует на вашу карму ;)
OpenVPN между FreeBSD и Windows
OpenVPN между FreeBSD и Windows

Для создания vpn между Windows и FreeBSD оптимальным решением является использование OpenVPN, по крайней мере в моём случае. У меня сервер на FreeBSD а клиенты будут на Windows-e. Так как клиенты будут подключатся к серверу "не известно откуда" (т.е. гостиницы, аэропорты) это значит, что постоянного IP адреса у них не будет, и возможно, провайдером будут блокированны некоторые порты. Поэтому решения с помощью IPSEC и прочих сладостей отпадают, поэтому и OpenVPN :) . Оффициальный Howto рекомендует использовать для конекта UDP порт с номером 1194. Но я поставил у себя TCP 443. Объясню почему, потому что на TCP вероятность установить соединение больше, (т.к. если кто-то будет блокировать UDP), а 443 порт всегда открыт, я еще не видел, чтобы его закрывали. Но если хочется иметь 100% гарантию удачного соединения, можно сервер повесить и на TCP 80-ый порт. Итак что нужно для того, чтобы все заработало? Я решил разбить задачи на несколько пунктов - так нагляднее: 1. Установка OpenVPN из портов 2. Генерация сертификатов для клиента и для сервера 3. После сертификатов необходимо создать и откофигурировать конфигурационный файл OpenVPN server-a 4. Далее запуск сервера и включение автозапуска при старте системы 5. Настройка OpenVPN клиента под Windows 6. Тестинг и проверинг 7. Как оно работает Итак пункт 1-ый - Установка, тут все просто :) #make && make install && make clean Далее пункт 2-ой - Генерация ключей и сертификатов. Здесь тоже все просто, нужно перейти в каталог в котором расположенны скрипты для создания сертификатов. Нужно поочереди запустить каждый скрипт и отвечать на его вопросы. В общем создание сертификатов - дело интерактивное :) # cd /usr/local/share/doc/openvpn/easy-rsa/ #ls vars clean-all build-ca build-key-server build-key build-dh ta.key На самом деле там больше скриптов, но мне только эти нужны. Далее запускаем оболочку shell и очищаем старые сертификаты: # sh # . ./vars NOTE: when you run ./clean-all, I will be doing a rm -rf on /usr/local/share/doc /openvpn/easy-rsa/keys # ./clean-all Теперь создаем Certificate Authority для сервера # ./build-ca Generating a 1024 bit RSA private key .....................................++++++ ......++++++ writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]:MD State or Province Name (full name) [NA]:Chisinau Locality Name (eg, city) [BISHKEK]:Chisinau Organization Name (eg, company) [OpenVPN-TEST]:company Organizational Unit Name (eg, section) []:server Common Name (eg, your name or your server's hostname) []:server Email Address [me@myhost.mydomain]:administrator@company.md # Пояснения: то, что выделенно жирным - то я вводил своими руками, хочу обратить внимание, только на 2-е вещи Country Name (2 letter code) [KG]:MD --> Здесь нужно написать только 2-е буквы. Common Name (eg, your name or your server's hostname) []:server а это идентификатор, где будет использоваться сертификат. Т.е. для сервера это будет server а для клиентов это будет client, client2,client3. Далее необходимо создать сертификат X.509 для сервера, тут почти то же самое, что и для первого (CA). # ./build-key-server server Generating a 1024 bit RSA private key .........................................++++++ ........................++++++ writing new private key to 'server.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]:MD State or Province Name (full name) [NA]:Chisinau Locality Name (eg, city) [BISHKEK]:Chisinau Organization Name (eg, company) [OpenVPN-TEST]:company Organizational Unit Name (eg, section) []:company Common Name (eg, your name or your server's hostname) []:server Email Address [me@myhost.mydomain]:administrator@company.md Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:gfccdjhl An optional company name []:company Using configuration from /usr/local/share/doc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'MD' stateOrProvinceName :PRINTABLE:'Chisinau' localityName :PRINTABLE:'Chisinau' organizationName :PRINTABLE:'company' organizationalUnitName:PRINTABLE:'company' commonName :PRINTABLE:'server' emailAddress :IA5STRING:'administrator@company.md' Certificate is to be certified until Apr 1 20:31:10 2018 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated # Теперь ключ для клиента, все то же самое, нужно отвечать на простые вопросы :) # ./build-key client Generating a 1024 bit RSA private key ..........++++++....++++++ writing new private key to 'client.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KG]:MD State or Province Name (full name) [NA]:Chisinau Locality Name (eg, city) [BISHKEK]:Chisinau Organization Name (eg, company) [OpenVPN-TEST]:company Organizational Unit Name (eg, section) []:client Common Name (eg, your name or your server's hostname) []:client Email Address [me@myhost.mydomain]:director@company.md Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:gfccdjhl An optional company name []:company Using configuration from /usr/local/share/doc/openvpn/easy-rsa/openssl.cnf DEBUG[load_index]: unique_subject = "yes" Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'MD' stateOrProvinceName :PRINTABLE:'Chisinau' localityName :PRINTABLE:'Chisinau' organizationName :PRINTABLE:'company' organizationalUnitName:PRINTABLE:'client' commonName :PRINTABLE:'client' emailAddress :IA5STRING:'director@company.md' Certificate is to be certified until Apr 1 20:35:54 2018 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated # Далее нужно создать ключ Diffie Hellman Интерессный вывод получается ;) # ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time ................................................................................................................. +................................+............................................................................. ......................+......................................................................................... ...+................+....+....................+.....................................................+...... ...............................+................................................................................ ....+.........+.......................................+...................+.................................. ....+......................................................................................+.................... ........................................+........................+...+......................................... ..++*++*++* # И еще один ключ: # openvpn --genkey --secret ta.key ta.key будет находится здесь /usr/local/share/doc/openvpn/easy-rsa/ А все остальные ключи, которые я до сих пор создавал будут здесь /usr/local/share/doc/openvpn/easy-rsa/keys. Что для чего можно увидеть в табличке: Filename Needed By Purpose Secret ca.crt server + all clients Root CA certificate NO ca.key key signing machine only Root CA key YES dh1024.pem server only Diffie Hellman parameters NO server.crt server only Server Certificate NO server.key server only Server Key YES client.crt client1 only Client1 Certificate NO client.key client1 only Client1 Key YES С ключами я закончил, перехожу к пункту 3. Пункт 3-и создание и кофигурирование файла настроек OpenVPN server-a Для начала необходимо создать директорию, в которой будет находится конфиг файл и сертификаты. Конфиг файл нужно создать вручную, а сертификаты и ключи, которые я создал нужно скопировать из директории keys. Еще нужно самому создать будущие лог файлы, после этого в конфиге нужно указать "что - где" находится. #mkdir /usr/openvpn (<- Здесь будет конфиг сервера) #mkdir /usr/openvpn/keys (<- Здесь будут ключи сервера) #mkdir /usr/openvpn/ccd (<- Здесь будут настройки клиента (мне это не понадобилось)) #mkdir /var/log/openvpn (<- Здесь будут логи) #touch /usr/openvpn/server.conf (<- Собственно сам конфиг сервера) #touch /var/log/openvpn/openvpn.log (<- Собственно лог) #touch /var/log/openvpn/openvpn-status.log (<- А здесь можно будет увидеть в каком состоянии сервер) Уже хочется начать править конфиг, но надо не забыть скопировать ключи в рабочую директорию. #cd /usr/local/share/doc/openvpn/easy-rsa/keys #cp ca.crt /etc/openvpn/keys #cp dh1024.pem /etc/openvpn/keys #cp server.crt /etc/openvpn/keys #cp server.key /etc/openvpn/keys #cd ../ cp ta.key /etc/openvpn/keys Вот теперь самое вкуссное :) #ee /usr/openvpn/server.conf port 443 ;порт proto tcp ;протокол dev tun ;устройство (tun тунель) keepalive 20 240 ;ping каждые 20 сек, если после 240 сек ответа нет - значит связь потерянна server 10.20.30.0 255.255.255.0 ;указываю VPN подсеть (все VPN клиенты будут получать адреса из 10.20.30.0 подсети) ;далее я указываю пути к сертификатам ca /usr/openvpn/keys/ca.crt cert /usr/openvpn/keys/server.crt key /usr/openvpn/keys/server.key dh /usr/openvpn/keys/dh1024.pem tls-server ;включение дополнительной безопасности, ключ ta.key должен быть и на сервере и на клиенте. 2-ой параметр в конфигах должен быть "0" на сервере и "1" у клиента (см. ниже) tls-auth /usr/openvpn/keys/ta.key 0 ;путь к ключу tls-timeout 120 ;время до реконекта cipher BF-CBC ;шифрование Blowfish (можно поставить AES, DES - у меня стандартное) persist-key persist-tun user nobody ;запуск OVPN от виртуального пользователя group nobody ifconfig-pool-persist ipp.txt ;для того, чтобы клиенту всегда выдавался один и тот же ip (здесь хранится соотвествие клиент - виртуальный IP) push "route 10.0.0.0 255.255.255.0" ;так прописывается маршрут для клиента, чтобы он смог видеть подсеть за VPN сервером route 10.20.30.0 255.255.255.0 ;а это маршрут сервер-клиент comp-lzo ;включить сжатие max-clients 10 ;максимум 10 клиентов log /var/log/openvpn/openvpn.log ;лог файл (не забываем создавать лог файлы) status /var/log/openvpn/openvpn-status.log ;здесь можно будет посмотреть текущее состояние сервера verb 4 ;уровень логирования, от 0 до 9 (9-максимум логов) mute 10 ;Запрет на повтор сообщений в логах. Не более 10 идущих друг за другом сообщений одного типа будут направлены в лог. Это был конфигурационный файл OpenVPN сервера, у меня он находится здесь /usr/openvpn/server.conf еще раз, только уже без комментариев: #NETWORK port 443 proto tcp dev tun keepalive 20 240 server 10.20.30.0 255.255.255.0 route 10.20.30.0 255.255.255.0 push "route 10.0.0.0 255.255.255.0" ifconfig-pool-persist ipp.txt #SECURITY ca /usr/openvpn/keys/ca.crt cert /usr/openvpn/keys/server.crt key /usr/openvpn/keys/server.key dh /usr/openvpn/keys/dh1024.pem tls-server tls-auth /usr/openvpn/keys/ta.key 0 tls-timeout 120 cipher BF-CBC persist-key persist-tun user nobody group nobody comp-lzo max-clients 10 log /var/log/openvpn/openvpn.log status /var/log/openvpn/openvpn-status.log verb 4 mute 10 Пункт 4-ый запуск сервера и включение автозапуска Запуск: #/usr/local/etc/rc.d/openvpn start или так (переходим в каталог openvpn и запускаем оттуда конфиг сервера) #cd /usr/openvpn/ #openvpn --config server.conf Чтобы при старте системы запускался openvpn нужно добавить пару строк в /etc/rc.conf openvpn_enable="YES" openvpn_if="tun" openvpn_configfile="/usr/openvpn/server.conf" openvpn_dir="/usr/openvpn" Пункт 5-ый Настройка OpenVPN клиента под Windows Скачать. Установить. Сюда C:\Program Files\OpenVPN\config скинуть с сервера ключи/сертификаты: -ca.crt -client.crt -client.key -ta.key Подправить этот конфиг C:\Program Files\OpenVPN\config\client.ovpn - у меня он такой: dev tun proto tcp remote 211.211.211.21 ;это реальный IP сервера port 443 client resolv-retry infinite ca ca.crt cert client.crt key client.key tls-client tls-auth ta.key 1 cipher BF-CBC ns-cert-type server comp-lzo persist-key persist-tun verb 4 Запуск клиента: Прав. кнопкой по конфиг файлу client.ovpn из открывшегося меню выбрать "Start openvpn on this config file" или через *.bat файл с таким содержанием: "C:\Program Files\OpenVPN\bin\openvpn.exe" "C:\Program Files\OpenVPN\config\client.ovpn" ВАЖНО: OPENVPN и WINDOWS VISTA не будут работать с конфигом кот. выше. Для того чтобы связать vpn клиента на vista нужно добавить в конфиг файл клиента пару строк: route-method exe route-delay 2 И ОБЯЗАТЕЛЬНО запускать через *.bat файл. Содержимое как и выше, путь к программе и путь к конфигу: "C:\Program Files\OpenVPN\bin\openvpn.exe" "C:\Program Files\OpenVPN\config\client.ovpn" Для запуска, нажать правой кнопкой мыши на *.bat файл и выбрать “Запустить как администратор”. Дело в том, что при запуске, идет подключение к серверу и клиент пытается прописать маршруты в таблицу маршрутизации, а vista блокирует попытку и в логах можно увидеть такие строки: ROUTE: route addition failed using CreateIpForwardEntry: Пункт 6-ой Тестинг После запуска сервера можно посмотреть запустился ли он: # top | grep openvpn 659 nobody 1 96 0 2984K 2444K select 0:01 0.00% openvpn # sockstat -4 | grep 443 nobody openvpn 659 5 tcp4 *:443 *:* Если нет смотрим логи. У меня лог файл здесь /var/log/openvpn/openvpn.log если запустился можно пинговать клиента его IP будет 10.20.30.6 (это IP адресс первого клиента) С клиента можно пинговать vpn сервер (10.20.30.1) пинговать компы за сервером (10.0.0.2, 10.0.0.10), подключать папки, заходить на терминал сервер (если есть). 7 Как оно работает Почему такая странная адресация у первого клиента? Почему IP адресс 10.20.30.6 , а не к примеру 10.20.30.2 ? Для каждого подключения OpenVPN разделяет сеть 10.20.30.0 на подсети по 4-ре IP-адреса. Первому клиенту выделяется подсеть 10.20.30.4 с маской /30 (255.255.255.252) -10.20.30.4 это адрес самой сети -10.20.30.5 это виртуальный шлюз сервера (этот адрес не пингуется и используется только сервером) -10.20.30.6 это адрес клиента -10.20.30.7 это широковещательный адрес сети (subnet broadcast) Второму клиенту выделяется следующий блок из 4-х узлов (10.20.30.8/30) 10.20.30.8 это адрес самой сети 10.20.30.9 это виртуальный шлюз сервера 10.20.30.10 это адрес клиента 10.20.30.11 это широковещательный адрес сети VPN server всегда ждет подключения по адресу 10.20.30.1, он и есть Основной шлюз для VPN клиента. Удачи в настройке

Десктоп Ubuntu как альтернатива MS Windows. Установка и запуск программ в среде wine.
Для начала уясним, а что же такое wine. По материалам википедии - это альтернативная свободная реализация Windows API для UNIX-подобных операционных систем. Конечному пользователю она позволяет выполнять в этих системах многие приложения, написанные для Microsoft Windows. Название является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» — «Wine — не эмулятор» (имеется в виду, что Wine не является ни эмулятором компьютера, как, например, qemu, ни виртуальной машиной, как VMware).Давайте установим wine. Не плохо сначала обновить систему, использовав менеджер обновлений. Для тех, кто забыл подсказываю. Система ->

Администрирование ->

Менеджер обновлений ->

Проверить ->

Пароль суперпользователя ->

Установить обновления ->

Закрыть.Ставим wine. Система ->

Администрирование ->

Менеджер пакетов Synaptic ->

Искать wine ->

выбрать в найденном wine, кликнуть 2 раза мышкой ->

ПрименитьПродолжение здесь
Как перечитать содержимое /etc/rc.conf
Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc без перезагрузки системы? Перейдите в однопользовательский режим, а затем возвратитесь обратно в многопользовательский. На консоли выполните следующее: #shutdown now (Замечание: без -r или -h) #return #exit взято из фака Как обновить IP адресс во FreeBSD без перезагрузки? #/etc/rc.d/netif restart Как обновить defaultrouter во FreeBSD без перезагрузки? #/etc/rc.d/routing restart
Названы 11 крупнейших бот-сетей
Названы 11 крупнейших бот-сетей По словам Джо Стюарта, руководителя отдела исследований компании SecureWorks, крупнейшие мировые 11 бот-сетей, контролируемые спамерами, ответственны за ежедневную рассылку примерно 100 млрд электронных спамовых писем. Стюарт отметил, что крупнейшая на сегодня сеть Srizbi, контролируется международными злоумышленниками, делающими очень неплохую прибыль на рассылке рекламы. Srizbi ответственна за отправку порядка 60 млрд писем в день. Всего в бот-сетях, входящих в мировой TOP-3, по самым скромным оценкам насчитывается более 600 000 компьютеров и серверов, подключенных к интернету. Вместе с тем, нашумевшая сеть Storm, получившая название по одноименному трояну, насчитывает не более 85 000 машин, из которых за рассылку спама ответственны не более 35 000 компьютеров. По данным SecureWorks, на втором месте расположилась сеть Bobax, насчитывающая 185 000 узлов, однако эта сеть рассылает спама гораздо меньше лидера, "всего" 9 млрд писем в сутки. Ботсеть Количество машин Рассылается писем (млрд в день) 1 Srizbi 315,000 60 2 Bobax 185,000 9 3 Rustock 150,000 30 4 Cutwail 125,000 16 5 Storm 85,000 3 6 Grum 50,000 2 7 Onewordsub 40,000 нет данных 8 Ozdok 35,000 10B 9 Nucrypt 20,000 5 10 Wopla 20,000 0,6 11 Spamthru 12,000 0,35
NTPdate быстрое обновление времени
NTPdate быстрое обновление времениБыстро настроить дату/время можно так:#ntpdate имя_сервера_времени Вместо одного сервера, который не известно работает или нет, можно указать пул серверов:#ntpdate pool.ntp.org#ntpdate europe.pool.ntp.org Так будет точнее на пару милисикунг#ntpdate md.pool.ntp.org А так еще точнее :)NTP Pool ServersNTP Pool EuropeNTP Servers
Google Docs будет работать и в оффлайне!
Official Google Blog: Offline access to Google Docs Согласно сообщению в официальном блоге компании Google, теперь пользователи сервиса Google Docs получат возможность редактировать свои документы не имея подключения к интернету. Для того, чтобы воспользоваться новинкой, необходимо установить плагин для браузера Google Gears, который заставляет браузер работать с локальным кэшем веб-страниц. Если вы работали в оффлайне, то при подключении сети, все данные сохранятся на сервер.
Десктоп Ubuntu как альтернатива MS Windows. Обзор и настройка ПО
Десктоп Ubuntu как альтернатива MS Windows. Обзор и настройка ПОВ этой статье:-Настройка браузера Firefox-Настройка ICQ клиента-Настройка RDP подключения-Настройка почтового клиента Evolution-Обзор Open Office-Установка кодеков для видео проигрывателя-Редактор изображений GIMP-Редактор векторной графики рекомендую XARA Xtreme-Обзор сетевого окружения-Установка файлового менеджера mcПродолжение статьи здесь
Синхронизация времени Windows
С переходом на летнее время у меня в сети справились не все компы. Поэтому я написал простенькиий скрипт ntpupdate.bat: @net time /querysntp @net time /setsntp:10.0.0.3 @net stop w32time @net start w32time @net time /querysntp @w32tm /resync pause -Сначала я проверил, какой NTP сервер указан -Потом указал, что время нужно брать с домен контроллера -Остановка службы времени -Запуск службы времени -Еще проверил какой NTP сервер указан -Обновить время пауза - для того, чтобы окно не закрылось. На некоторых компах NTP сервер был указан time.windows.com, что как мне кажется странно, т.к. компьютеры находились в домене, соответственно и время должны брать с домен контроллера. Кстати, в большинстве случаев, время не поменялось из-за того, что галка "Автоматически переходить на летнее время и обратно" была - не активированна. Теперь нужно написать скрипт, который включает автоматический переход на летнее время, чтобы не делать это вручную. Так как "скоро" нужно будет переходить на Зимнее время. :)
Десктоп Ubuntu как альтернатива MS Windows. Первоначальная настройка Часть2
Десктоп Ubuntu как альтернатива MS Windows. Первоначальная настройка Часть2В этой статье:-Обновление системы-Громкость, микрофон-Подключение принтера-Пример обховления системы с диска или локально FTP сервераПродолжение...
Nat, Port mapping, используя ipnat и ppp
Nat, Port mapping, используя ipnat и ppp Во FreeBSD нат можно организовать не только с помощью Natd, есть продукт под названием ipnat. Вот его я и буду настраивать. Для начала пару опций надо внести в /etc/rc.conf #ee /etc/rc.conf ------------------------------ ipnat_enable="YES" #Включил ipnat ipnat_program="/sbin/ipnat" #Указал откуда его нужно запускать ipnat_rules="/etc/ipnat.rules" #Здесь будут правила ipnat_flags="" #С какими параметрами стартовать (пока без параметров) ppp_enable="YES" ppp_mode="ddial" ppp_profile="ISP" ppp_nat="NO" ------------------------------ Обязательно включите маршрутизацию, добавив gateway_enable=»YES» в /etc/rc.conf или можно ввести команду: #sysctl net.inet.ip.forwarding=1 Далее надо отредактировать конфиг ipnat-a #ee /etc/ipnat.rules rdr tun0 41.41.41.41/32 port 25 -> 10.0.0.2 port 25 tcp #маппинг 25(SMTP) порта в локалку rdr tun0 41.41.41.41/32 port 3389 -> 10.0.0.2 port 3389 tcp #маппинг 3389(RDP) в локалку map tun0 10.0.0.0/24 -> 41.41.41.41/32 # включение nat-a Сохраняем/Закрываем файл, теперь посмотрим, "что к чему" rdr - редиректит порта в сеть tun0 - внешний интерфейс (физически у меня внешний rl0 - но так как инет я получаю через PPPoE, то мой внешний получается tun0) 41.41.41.41/32 - это мой внешний IP и его маска подсети port 25 - порт который я пробрасываю в сеть 10.0.0.2 - IP адресс компа в локалке, на который я делаю порт маппинг map tun0 10.0.0.0/24 -> 41.41.41.41/32 вот этой строчкой как раз и включается nat в ipnat Если я сделаю кое-какие изменения, то мне не нужно будет ребутить систему, достаточно перечитать заново конфиг и все. Конфиг можно перечитать такой командой: #ipnat -CF -f /etc/ipnat.rules Можно создать несколько конфигурационных файлов (ipnat.rules2; ipnat.rules3) и менять конфиги "на лету" в зависимости от "погоды". Таак, осталось добавить пару строк в конфиг ppp и все.... #ee /etc/ppp/ppp.conf default: set log Phase tun command ISP: set device PPPoE:rl0 set authname username set authkey userpswd enable dns add default HISADDR ВСЁ!!! Система настроенна, не забудте в /etc/rc.conf прописать IP адреса и все необходимые для нормальной работы сервера параметры, Также нужно указать DNS-ы провайдера в файл /etc/resolv.conf #ee /etc/resolv.conf nameserver 172.27.137.10 nameserver 172.27.137.20 #reboot.................................................................................................................:) Или чтобы не перезагружаться, можно инициализировать ipnat командой: #kldload ipl и перечитать rc.conf Если выбирать между Natd и ipnat - я выберу ipnat. ;)
Nat, Port Mapping - используя Natd и PPP
Nat, Port Mapping - используя Natd и PPP Есть задачи: -Включить nat, чтобы в сети был интернет -Пробросить несколько портов в сеть -Реализовать все это с помощью сервисов Natd и PPP Для начала необходимо сделать так, чтобы Natd и PPP стартовали при загрузке системы, для этого нужно добавить пару записей в файл /etc/rc.conf. #ee /etc/rc.conf ------------------------------ firewall_enable="YES" #Включение фаервола, без этой опции не стартует natd firewall_type="OPEN" #Тип фаервола ставлю открытый, иначе весь трафик будет заблокирован natd_enable="YES" #Это уже включение Natd natd_interface="rl0" #Natd нужно повесить на внешний интерфейс, смотрящий в интернет natd_flags="-f /etc/natd.conf" #Путь к конфигу (-f для того чтобы программа перечитала кофиг) natd_program="/sbin/natd" #Путь к программе, с этого места демон стартует #Следущие опции включают демон ppp ppp_enable="YES" #Включаю PPP ppp_mode="ddial" #В каком режиме будет работать ppp_profile="ISP" #Это название профиля, который будет использоваться ppp_nat="NO" #Включить ppp nat? нет, нат предоставляет демон Natd ------------------------------ Теперь все! Можно сохранить и выходить из файла, также не забываем, что нужно прописать IP адреса, имя машины и указать, что она является роутером иначе пакеты не смогут ходить с одной сетевухи на другую. ------- ifconfig_eth0="inet 222.11.222.12 netmask 255.255.255.0" #Установка IP для внешнего интерфейса ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0" #Установка IP для внутренего интерфейса hostname="gw.example.com" #Указал имя серверу defaultrouter="222.11.222.1" #Указал Основной шлюз. Это IP адресс провайдера. gateway_enable="YES" #Эта машина будет работать в качестве шлюза ------- Далее..... Natd и PPP я включил, осталось подправить кофиги каждого из демонов. # ee /etc/natd.conf ------------------------------ same_ports yes use_sockets yes log yes log_denied yes log_ipfw_denied yes redirect_port tcp 10.0.0.2:25 25 redirect_port tcp 10.0.0.2:80 80 redirect_port tcp 10.0.0.2:3389 3389 ------------------------------ ^-это конфиг демона Natd. Включен лог, можно использовать сокеты и последние 3-и строчки - это и есть mapping портов. Как видно по портам - я пробросил на нужный мне комп в локалке SMTP, RDP и HTTP. Теперь идем в конфиг ppp #ee /etc/ppp/ppp.conf ------------------------------ default: set log Phase tun command ISP: set device PPPoE:rl0 set authname username set authkey userpassword enable dns add default HISADDR ------------------------------ Конфиг разделен на секции и может хранить в себе несколько конфигураций, например для нескольких провайдеров. Таким образом можно гибко настроить свое интернет подключение. К примеру можно каждый день подключатся к другому провайдеру, если у вас их несколько. Есть секция default: оно определяет параметры для всех конфигураций. Далее у меня идет секция ISP: (а у вас может идти ISP1: ISP2: ISP3:) ISP: - это имя подключения, оно может называться как угодно. Если вы назовете свое подключение internet, тогда надо не забыть поменять параметр в /etc/rc.conf. ppp_profile="internet". На этом все!!! Считаю задачи выполнеными :)
Десктоп Ubuntu как альтернатива MS Windows. Первоначальная настройка Ubuntu 7.10
Первоначальная настройка Ubuntu.После логина вылезло сообщение, что нужно обновить дрова на видео, я кликнул по сообщению, мне было предложенно активизировать видео драйвер - я согласился, драйвера сами скачались и установились. Потом я погуглил в фаерфоксе, поговорил в скайпе, покодил в АСЕ (писал на русском и принимал сообщения, тоже на русском), поработал в документах с расширением *.xls и *.doc, а также посмотрел видео и послушал интернет радио.Из всего вышеперечисленного - устанавливать пришлось только skype for Linux, который установился можно сказать установился "сам". Теперь skype for Linux работает с видео. Кстати в линуксе skype работает быстрее чем в винде, а вот Firefox наоборот :). Еще понравилось монтировать NTFS раздел (точнее, это нужно делать, только один раз - потом все автоматом) При 2-ом щелчке на NTFS разделе - вываливается сообщение о том, что не возможно смонтировать раздел, также в сообщение была написанна полная команда для монтировая раздела. Эту команду нужно только вбить в терминал и все - диск смонтирован. :) Далее диск будет монтироваться автоматически.Продолжение статьи здесьИ еще, видео которое наглядно показывае, что Windows Vista и тема AERO, немного, так сказать - отстают от того, что может Ubuntu.Вот так :)
Десктоп Ubuntu как альтернатива MS Windows. Установка Ubuntu 7.10
Я перепробовал множество дистрибутивов для десктопа и остановился на Ubuntu 7.10. Как выяснилось мне для работы да и не только совершенно не нужна ОС windows. Прочитав эту и последующие заметки (веселые картинки), простой пользователь Windows сможет спокойно уйти от платного программного обеспечения, и я надеюсь пополнит наши ряды приверженцев open sourse (открытое ПО). Будем считать что диск у нас уже есть. Ставим загрузку с CD и поехали.Продолжение здесь
Подключение флешки FreeBSD
Подключение флешки на FreeBSD с поддержкой русских символов#mount -t msdos -o -L=ru_RU.KOI8-R /dev/da0s1 /mnt/flash©перто
Скрипт для подключения сетевых дисков
Скрипт для подключения сетевых дисков в ОС Windows Практически в любой организации есть сервер на котором рассшаренна какая-то папка и в ней валяется много-много не нужного мусора (с точки зрения администратора). На самом деле в этой папке очень важные для кого-то данные. Для того, чтобы при входе юзера в систему, автоматически подключался этот сетевой диск, необходимо в групповую политику домена добавить следующий скрипт: On Error Resume Next Dim objNetwork, strDrive, objShell, objUNC Dim strRemotePath, strDriveLetter, strNewName strDriveLetter = "W:" strRemotePath = "\\server\work" strNewName = "work" mapped = false Set objNetwork = CreateObject("WScript.Network") Set oDrives=objNetwork.EnumNetworkDrives For i = 0 to oDrives.Count - 1 Step 2 If oDrives.Item(i)=strDriveLetter Then mapped = true Next If mapped Then objNetwork.RemoveNetworkDrive strDriveLetter If mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath If Not mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath Set objShell = CreateObject("Shell.Application") objShell.NameSpace(strDriveLetter).Self.Name = strNewName WScript.Quit Сначала идет проверка, если данный диск подключен, идет отключение, потом подключение. _____________________________________________ Еще один скрипт, который облегчаеть жизнь админу: Скрипт подключает персональную папку каждого пользователя домена. Заранее ничего создавать не нужно, должна быть только рассшаренная папка и пользователи домена, должны иметь права на запись в эту папку. После того, как вы создаете нового пользователя домена и он регистрируется в сети (т.е. логинится под своим именем) у него автоматом подключается персональный сетевой диск. Доступ к нему имеет, только он, ну и админ конечно ;) Option Explicit Dim objNetwork Dim strDriveLetter, strRemotePath, strUserName strDriveLetter = "U:" strRemotePath = "\\server\users" Set objNetwork = WScript.CreateObject("WScript.Network") strUserName = objNetwork.UserName objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _ & "\" & strUserName 'WScript.Echo " Launch Explorer, check: "& strDriveLetter WScript.Quit Оба скрипта нужно скопировать в блокнот, сохранить в расширением *.vbs и запускать логон скриптом в групповых политиках. Т.е. когда юзер логинится, выполняются данные скрипты. ©перто ©нета...... вроде отсюда

Generat în 0.391 secunde.