понедельник, 31 марта 2014 г.

Oracle Enterprise Linux - сбой в процессе установки: hardware initialization

В процессе установки дистрибутивов RHEL, Centos и Oracle Enterprise Linux на некоторых железяках старт системы зависает  при hardware initialization

Необходимо в BIOS выключить поддержку IDE и 1394, установщик запуститься.

вторник, 4 марта 2014 г.

OpenVPN+quagga на Centos

Я тут поэкспериментировал, и надо быстренько записать, чтобы запомнилось, да, может, и пригодится кому-нибудь...

В "прошлый раз" в процессе настройки OSPF в нашей сети выяснилось, что L3-OpenVPN (т.е. с tun-интерфейсами) должен работать только в P-to-P. При работе L3-VPN в режиме server mode OSPF ни в какую не хотел видеть соседей.

Сегодня построил L2-VPN на tap-интерфейсах, OpenVPN в режиме server mode. ОSPF - работает, все ок, НО оказалось, что в полносвязной топологии L2-VPN использовать хуже, чем L3-VPN т.к. полносвязная топология образуется с помощью линков с метрикой 0 (tap-интерфейс симулирует сетевую карту) и OSPF начинает все удаленные сети (сети разных удаленных офисов) маршрутизировать через ОДИН ЛЮБОЙ ПЕРВЫЙ ПОДНЯВШИЙСЯ TAP-ИНТЕРФЕЙС.
Т.е., допустим, у нас есть офис в Солнечногорске, который по VPN связан и с Москвой, и с Барнаулом. При использовании tap-интерфейсов весь трафик и в Москву, и в Барнаул начинает ходить через первый поднявшийся tap при старте OpenVPN. Т.е., если первым поднялся tap0 на Москву, то и в Барнаул трафик пойдет через него, а если первым поднялся tap1 - на Барнаул, то и в Москву трафик пойдет через tap1.
В итоге получаем просадку по каналам связи и т.д...
А нужно, чтобы в разные удаленные сети трафик ходил через разные tap-ы. С tun-ами в данном случае для OSPF, все оказалось логичнее, но цена использования tun-ов - это использование OpenVPN только в режиме P-t-P.
Вот такие наблюдения..)

среда, 26 февраля 2014 г.

Настройка Samba для работы с Active Directory


1. Установка и настройка kerberos
Устанавливаем необходимы пакеты:
fs1-sun->/home/it3# yum install krb5-workstation ntp

Для правильной работы kerberos необходима точная синхронизация времени с контроллером домена. Открываем файл /etc/ntp.conf, комментируем все теги server и добавляем наш контроллер домена:

server dc1.tb22.ru

Добавляем в автозапуск и запускаем сервис ntpd:

fs1-sun->/home/it3# chkconfig ntpd on
fs1-sun->/home/it3# service ntpd start
Starting ntpd:                                             [  OK  ]

Открываем файл /etc/hosts и проверяем соответствие IP-адресов и имен, не правильно заполненный /etc/hosts может стать причиной множества ошибок:
fs1-sun->/home/it3# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.26.53 fs1-sun fs1-sun.tb22.ru
192.168.0.51 dc1 dc1.tb22.ru
192.168.0.52 dc2 dc2.tb22.ru
192.168.21.51 dc3 dc3.tb22.ru

Приводим файл /etc/krb5.conf к следующему виду:
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = TB22.RU
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 TB22.RU = {
    kdc = dc1.tb22.ru
    admin_server = dc1.tb22.ru
    default_domain = tb22.ru
 }

[domain_realm]
 .tb22.ru = TB22.RU
 tb22.ru = TB22.RU

Приводим файл /etc/resolv.conf к следующему виду (в данном случае важно, чтобы в качестве dns-сервер был указан контр):
search tb22.ru
nameserver 192.168.0.51
nameserver 192.168.21.51
nameserver 8.8.8.8

Добавляем правила в iptables
nano /etc/sysconfig/iptables

-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 137 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 138 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 139 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 445 -j ACCEPT

Получаем тикет от контроллера домена:

fs1-sun->/home/it3# kinit root
Password for administrator@TB22.RU:

Проверяем полученный тикет:
fs1-sun->/home/it3# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: root@TB22.RU

Valid starting     Expires            Service principal
02/27/14 09:06:27  02/27/14 19:06:26  krbtgt/TB22.RU@TB22.RU
        renew until 03/06/14 09:06:27
02/27/14 09:54:09  02/27/14 19:06:26  ldap/dc3.tb22.ru@TB22.RU
        renew until 03/06/14 09:06:27

2. Установка и настройка samba
Устанавливаем необходимые пакеты:
fs1-sun->/home/it3# yum install samba

Приводим файл /etc/samba/smb.conf к следующему виду:
[global]
dos charset = cp866
unix charset = utf-8
display charset = utf-8
workgroup = TB22
realm = TB22.RU
netbios name = FS1-SUN
server string = File Server
security = ADS
auth methods = winbind
allow trusted domains = No
log file = /var/log/samba/log.%m
max log size = 50
time server = No
domain master = No
dns proxy = Yes
ldap ssl = no
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind refresh tickets = Yes
case sensitive = No
store dos attributes = yes

[data]
    path = /mnt/data
    valid users = "@TB22.RU\Пользователи домена"
    read list = "@TB22.RU\Пользователи домена"
#    write list = "@TB22.RU\Администраторы домена"
    write list = "@TB22.RU\Пользователи домена"
    read only = No
    create mask = 0644
    guest ok = No

Для проверки правильности конфигурационного файла у самбы есть замечательная утилита testparm:
fs1-sun->/home/it3# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "idmap uid" option is deprecated
WARNING: The "idmap gid" option is deprecated
Processing section "[data]"
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

Вводим сервер в домен:
fs1-sun->/home/it3# net ads join -U root
Enter root's password:
Using short domain name -- TB22
Joined 'FS1-SUN' to realm 'tb22.ru'

Включаем в автозапуск и запускаем сервисы smb и winbind:
[fs1-sun->/home/it3# chkconfig winbind on
fs1-sun->/home/it3# service winbind start
Starting Winbind services:                                 [  OK  ]
fs1-sun->/home/it3# chkconfig smb on
fs1-sun->/home/it3# service smb start
Starting SMB services:                                     [  OK  ]

Редактируем файлик /etc/nsswitch.conf и добавляем после следующих строчек слово winbind. Этим действием мы указываем в каком порядке и где системе искать имена-пароли пользователей и групп.
passwd:     files winbind
shadow:     files winbind
group:      files winbind


Оригинал

среда, 12 февраля 2014 г.

Автостарт виртуальных машин в Citrix XenServer 6.0.

Многие пользователи платформы Citrix XenServer были несколько удивлены, когда в шестой версии этого продукта заметили, что возможности Auto Start для виртуальных машин были убраны из графического интерфейса консоли управления XenCenter, хотя присутствовали в более ранних версиях.
Сделано это было потому, что механизм автоматического старта виртуальных машин в XenServer конфликтуют с функциями высокой доступности (HA). Однако тем пользователям, которые применяют бесплатное издание XenServer 6 Free Edition, эти возможности, все-таки, нужны.
Поэтому опишем здесь, каким образом можно включить автостарт ВМ в XenServer.
Сначала нужно включить его на уровне XenServer и пула, для чего нужно выполнить следующее:
1. Определеяем UUID пула, для которого мы хотим включить Auto Start. Для этого выполняем консольную команду на сервере XenServer:
xe pool-list
Нам нужен параметр [uuid-pool]
2. Разрешаем автостарт виртуальных машин на уровне пула с найденным UUID командой:
xe pool-param-set uuid=UUID other-config:auto_poweron=true
Теперь включаем автостарт на уровне виртуальных машин, для чего:
1. Выполняем команду для получения UUID виртуальной машины:
xe vm-list
2. И для найденного UUID включаем автостарт:
xe vm-param-set uuid=[uuid-vm] other-config:auto_poweron=true
Есть также способ попроще - для этого можно использовать скрипт, выложенный вот в этой ветке форумов Citrix. Там вы можете добавить тэг "autostart" к виртуальной машине прямо в XenCenter, после чего она будет автоматически запускаться при старте хоста.

среда, 5 февраля 2014 г.

Install Xenserver Tools on Centos 6

Запускаем Xen-Centr и нужную нам виртуалку.
Загружаем в виртуальный CD-ROM образ xs-tools.iso
Далее переходим в консоль выбранной виртуалки и проделываем следующие манипуляции...


$ ssh 10.17.37.243
root@10.17.37.243's password:
Last login: Thu Sep 11 12:57:31 2008 from 10.0.80.84
[root@ns0 ~]# cd /mnt
[root@ns0 mnt]# ls
[root@ns0 mnt]# mkdir xs-tools
[root@ns0 mnt]# mount /dev/xvdd /mnt/xs-tools/
mount: block device /dev/xvdd is write-protected, mounting read-only
[root@ns0 mnt]# cd /mnt/xs-tools/Linux/
[root@ns0 Linux]# bash install.sh
Detected `CentOS release 5.2 (Final)' (centos version 5).

The following changes will be made to this Virtual Machine:
* packages to be installed/upgraded:
- kernel-xen-2.6.18-53.1.13.el5.xs4.1.0.24.x86_64.rpm
- xe-guest-utilities-4.1.0-257.x86_64.rpm

Continue? [y/n] y

Preparing...########################################### [100%]
1:xe-guest-utilities########################################### [100%]
Preparing...########################################### [100%]
package kernel-xen-2.6.18-92.el5 (which is newer than kernel-xen-2.6.18-53.1.13.el5.xs4.1.0.24) is
already installed

You should now reboot this Virtual Machine.
[root@ns0 Linux]#

вторник, 4 февраля 2014 г.

Для отключения SELinux в CentOS 6 откройте файл /etc/selinux/config, например, редактором vi:

vi /etc/selinux/config
И замените значение переменной SELINUX c enforcing на disabled:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
После изменения настроек перезагрузите систему:

reboot
Следует обратить внимание на то, при отключенной SELinux у пользователей есть возможность некорректно маркировать файлы, поэтому если вы позже решите перевести SElinux обратно в режим enforcing при перезагрузке файловая система будет автоматически перемаркирована, что может занять некоторое время.

Ссылка на оригинал

среда, 29 января 2014 г.

Как вывести список пользователей AD и дату их создания?

Данный командный файл необходимо запустить на контроллере домена.

В первом цикле формируется не очень информативный файл (users.txt), поэтому обрабатываем этот файл вторым проходом и формируем новый users.xls с двумя колонками (SamAccountName и whenCreated), и исключая лишние строки:



@echo off

for /f "tokens=*" %%x in ('"dsquery user"') do (
dsquery * %%x -scope base -attr SamAccountName whenCreated >> users.txt
)

chcp 1251 > nul

for /f "eol=S tokens=1,2" %%i in (users.txt) do (
@echo %%i %%j >> users.xls
)