четверг, 27 марта 2014 г.

Преобразование таблицы разделов с GPT на MBR


Установка Windows 7. Преобразование таблицы разделов с GPT на MBR(скопоипастил не помню откуда)


Таблица разделов GPT на накопителях является частью UEFI и пришла на смену старой доброй MBR. Новые материнские платы, как правило, поставляются с поддержкой UEFI. Это и логично, ведь система загружается быстрей, а таблица разделов GPT обеспечивает поддержку накопителей с большим объемом. MBR же позволяет адресовать всего 2.2 Тб адресного пространства.
Но, несмотря на очевидные преимущества GPT, иногда необходимо установить операционную систему на MBR диск. При наличии диска с GPT, можно легко его переделать под MBR.
При установке системы на жесткий диск с таблицей разделов GPT может появиться ошибка:Невозможно установить Windows на диск 0 раздел 1Подробнее: Установка Windows на данный диск невозможна.Выбранный диск имеют стиль разделов GPT.
В этом случае надо перейти в Настройка диска, удалить все разделы на диске и создать заново. В этом случае диск будет создан с таблицей MBR.

Внимание! Вся информация на диске будет уничтожена после выполнения операции преобразования диска из формата GPT в MBR.

Если у вас жесткий диск имеет размер более 2.2. Тб, то данная операция опять создаст на диске таблицу GPT. Можно обходным путём решить проблему, учитывая, что система будет видеть не более 2.2 Тб. Итак, загружен установочный диск с операционной системой
- Нажать Shift + F10 — запустится командная строка.
- Запустить в командной строке консольную утилиту для работы с дисками, разделами и томами в Windows.
diskpart
- Просмотреть список дисков, чтобы найти тот, с которым надо поработать.
list disk
- Выбрать необходимый диск.
select disk 0
- Очистить накопитель от других разделов.
clean
- Преобразовать GPT диск в MBR.
convert mbr
- Выйти из Diskpart
exit
Прошу обратить внимание на картинке на команду list disk. До преобразования диска в MBR в колонке GPT у диска стояла пометка *. После преобразования такой пометки нет. Значит диск был успешно преобразован в MBR.
На этом работа с диском завершена. Можно продолжить установку Windows 7 x86 теперь уже на диск с таблицей MBR.

Дополнительная информация

На накопители с таблицей разделов GPT могут установиться и загружаться только 64-битные операционные системы — Windows Vista x64 SP1 и старше, Windows 7 x64, Windows 8 x64, Windows Server 2008 x64 SP1, Windows Server 2008 R2, Windows Server 2012.
Windows XP x64 и все x86 операционные системы Windows Vista SP1 и более новые не могут загружаться с накопителя с GPT разделами, но могут считывать и записывать данные.
Windows XP x86 не может работать с GPT дисками.
Для того, чтобы иметь возможность загружаться с GPT накопителя, необходимо загружаться  через UEFI загрузчик.

OPEVPN на FREEBSD


OPEVPN на FREEBSD

#cd /usr/ports/security/openvpn

#make config-recursive
#make install
Необходимо создать сертефикаты и ключи
# cd /usr/local/share/easy-rsa/
изменяем файл vars
#ee ./vars
меняем строку KEY_DIR=$D/keys на KEY_DIR=$D/keys/server и параметры для генерации сертификатов (KEY_EXPIRE, KEY_COUNTRY etc) Так же переопределил следующие строки (под себя), чтобы руками не вводить каждый раз при создании сертификатов для клиентов:
set KEY_COUNTRY=RU
set KEY_PROVINCE=ns-kaya obl.
set KEY_CITY=Dubovka                              
set KEY_ORG=bobr
set KEY_EMAIL=men@gmail.com
перед следующими операциями нужно набрать в консоли "sh"
#sh
Загружаем переменные в оболочку:
#. ./vars
Очищаем от старых сертификатов и ключей папку keys/server и создаем серийный и индексные файлы для новых ключей
# ./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) [UA]:RU
#Провинция
State or Province Name (full name) []: ns-kaya obl.
#Город
Locality Name (eg, city) []: Dubovka
#Название компании(!)
Organization Name (eg, company) [x]: bobr
#Отделение компании
Organizational Unit Name (eg, section) []:bobr
#ВОТ ТУТ ВНИМАТЕЛЬНО - ЭТО ИМЯ МАШИНЫ ДЛЯ КОТОРОЙ
# ГЕНЕРИРУЕМ СЕРТИФИКАТ (имя не в полном смысле имя как идентификатор)
Common Name (eg, your name or your server's hostname) []:nashVPNserver
#Почт адрес
Email Address [root@localhost]: men@gmail.com
в директорию, определяемой переменной KEY_DIR, должны добавиться файлы:
ca.crt
ca.key
Создаем ключ и сертификат X.509 сервера:
#./build-key-server nashVPNserver
Всё заполняем  аналогично .
в директорию, определяемой переменной KEY_DIR, должны добавиться файлы:
nashVPNserver.crt
nashVPNserver.key
Генерируем 1024 битный ключ с помощью алгоритма Диффи Хеллмана :
# ./build-dh
в директорию, определяемой переменной KEY_DIR, должен добавиться файл:
dh1024.pem
Создаём ключ для клиента:
#./build-key client
в директории, определяемой переменной KEY_DIR, должены появиться файлы:
client.crt
client.key
Если понадобится добавить еще одного пользователя, то сделайте тоже самое, только меняйте "someclient" на что-то другое.
в папке keys/server получается много файлов:
  ca.crt - Главный CA сертификат, этот файл нужен и клиенту и серверу
  dh1024.pem - ключ Диффи Хельман, этот файл нужен только серверу
  nashVPNserver.crt - Сертификат сервера, нужен только серверу
  nashVPNserver.key - Ключ сервера, нужен только серверу (СЕКРЕТНЫЙ файл)
  client.crt - Сертификат клиента, нужен только клиенту
  client.key - Ключ клиента, нужен только клиенту (СЕКРЕТНЫЙ файл)
  ta.key - TLS-ключ, нужен и клиенту и серверу

Создаим  директории
/usr/local/etc/openvpn
/usr/local/etc/openvpn/keys
/usr/local/etc/openvpn/ccd
Скопируем все ключи в /usr/local/etc/openvpn/keys.
Создаем конфигурационный файл server.conf:
#порт на котором работает сервер
port 2000
# протокол - советую udp
proto udp
# - используемый тип устройства и номер
dev tun0
#указываем файл CA
ca /usr/local/etc/openvpn/keys/ca.crt
#указываем файл с сертификатом сервера
cert /usr/local/etc/openvpn/keys/server.crt
#указываем файл с ключем сервера
key /usr/local/etc/openvpn/keys/server.key
#указываем файл Диффи Хельман
dh /usr/local/etc/openvpn/keys/dh1024.pem
#задаем IP-адрес сервера и маску подсети
# (виртуальной сети) - можно произвольную, (я выбрал такую)
server 10.10.200.0 255.255.255.0
#задаем МАРШРУТ который передаём клиентту
# и маску подсети для того чтобы он "видел" сеть за опенвпн сервером (сеть 192.168.1.0/24)
push "route 192.168.1.0 255.255.255.0"
# указываем где хранятся файлы с настройками IP-адресов клиентов
client-config-dir ccd
# добавляем маршрут сервер-клиент
route 10.10.200.0 255.255.255.252
# включаем TLS аутификацию
tls-server
# указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
tls-auth keys/ta.key 0
# таймаут до реконекта
tls-timeout 120
auth MD5 #
# включаем шифрацию пакетов
cipher BF-CBC
keepalive 10 120
# сжатие трафика
comp-lzo
# максимум клиентов
max-clients 100
user nobody
group nobody
# Не перечитывать ключи после получения  SIGUSR1 или ping-restart
persist-key
# Не закрывать и переоткрывать TUN\TAP устройство, после получения  SIGUSR1 или ping-restart
persist-tun
# логгирование (не забудьте создать эту дирректорию /var/log/openvpn/)
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
# Уровень информации для отладки
verb 3
Создаем директорию /var/log/openvpn/ и  файл где будут храниться логи
#mkdir /var/log/openvpn/
#touch /var/log/openvpn/openvpn.log


Заворачиваем весь трафик на VPN-сервер
Тут требуется заменить конфигурационный файл только на сервере. Добавляем строки:
push "redirect-gateway def1"
 push "dhcp-option DNS 8.8.8.8"
Первая строка меняет шлюз по умолчанию на заданный на VPN-сервере. После отключения будет возвращён шлюз, который был задан на клиенте ранее.
Вторая строка задает DNS-сервер, который будет использоваться после подключения к VPN-серверу.
Дополнительные параметры
client-to-client - позволяет клиентам VPN-сервера связываться друг с другом.
duplicate-cn - параметр нужно добавить если вы для всех клиентов создали одинаковые ключи, но клиенты при этом представляются различными common name.
В дирректории /usr/local/etc/openvpn/ccd создаем файл client (имя файла - имя которому выдан сертификат) следующего содержания:
ifconfig-push 10.10.200.2 10.10.200.1

-внесём в /etc/rc.conf
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
 openvpn_dir="/usr/local/etc/openvpn"

Настраиваем клиента под Windows
Создадим конфигурационный файл openvpn.ovpn в папке config (Например C:\Program Files\OpenVPN\config)
И скопируем туда же все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
Содержимое файла openvpn.ovpn:
dev tun
proto udp
remote 22.22.22.22#(реальный айпи вашего сервера)
port 2000 #(порт к которому устанавливать соединение
client
resolv-retry infinite
ca ca.crt
cert client.crt
key client.key
tls-client
tls-auth ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun

verb 3