Я уже писал как пробросить pptp-сессию на pptp-сервер, расположенный внутри корпоративной сети. Сегодня я расскажу как установить и настроить pptp сервер в ОС CentOS 5.1.
Работать будем от имени суперпользователя root, традиционно введя в терминале su:
[root@srv2 ~]# su
В стандартной поставке CentOS pptp сервера нет. Но пакет для RHEL-клонов собирает команда разработчиков pptp сервера. Нам необходимо лишь создать конфигурацию репозитария для установки пакета pptpd:
[root@srv2 ~]# nano -w /etc/yum.repos.d/pptpd.repo
Содержимое файла будет таким:
[pptpd]
name=CentOS 5 pptpd repo
baseurl=http://poptop.sourceforge.net/yum/stable/rhel5/i386/
enabled=1
gpgcheck=0
Синтаксис очень прост:
[pptpd]
- название репозитария
name - описание репозитария
baseurl - адрес репозитария
enabled — опция отвечает за то, включен репозитарий или нет. Принимает значения 0 и 1.
gpgcheck — проверка GPG ключа.
Теперь устанавливаем пакет pptpd. Это и есть наш pptp сервер.
[root@srv2 ~]# yum install pptpd
Первым делом после установки мы сохраним конфигурационный файл pptp сервера:
[root@srv2 ~]# cp /etc/pptpd.conf /etc/pptpd.conf.default
И приступаем к редактированию конфигурационного файла:
[root@srv2 ~]# nano -w /etc/pptpd.conf
Внесем в файл мы три строки. Вам, может быть, хватит и двух:
localip 192.168.254.249
remoteip 192.168.254.241-244
listen 192.168.254.250
localip — Адрес сервера, который выдается клиенту.
remoteip — Диапазон IP-адресов из которых клиенту выдается его адрес.
listen — Адрес на котором будет висеть демон сервера. Опция не обязательная, я использовал ее для привязки pptp сервера к определенному сетевому интерфейсу.
Видно, что я выдаю адреса из диапазона своей локальной сети: 192.168.254.0/24.
Далее следует необязательный шаг — я буду изменять идентификатор сервера. Первым делом сделаю копию файла опций pptp сервера:
[root@srv2 ~]# cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.default
И приступаем к редактированию файла:
[root@srv2 ~]# nano -w /etc/ppp/options.pptpd
Идентификатор описывается параметром «name», я поменял его на remote. По умолчанию было pptpd. Запомните этот идентификатор. Он пригодится нам во время редактирования файла логин/паролей.
Теперь приступаем к редактированию файла логин/паролей, предварительно сделав его копию:
[root@srv2 ~]# cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.default
Редактируем его:
[root@srv2 ~]# nano -w /etc/ppp/chap-secrets
Синтаксис у файла очень простой:
логин идентификатор(о нем писал выше) пароль *
Сохраняем файл, выходим, стартуем сервис pptpd:
[root@srv2 ~]# /etc/init.d/pptpd start
Если все успешно разрешаем цепочку FORWARD в правилах iptables (это уж вы сами, т.к. правила индивидуальны у каждого, либо отключите iptables) и разрешаем хождение пакетов между интерфейсами:
[root@srv2 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
В заключении разрешаем сервису pptpd стартовать вместе с системой:
[root@srv2 ~]# chkconfig --level 35 pptpd on
На этом все. Как видим поднять pptp-сервер проще, чем к нему подключиться=)
среда, июля 30, 2008
понедельник, июля 28, 2008
Поддержка reiserfs для CentOS
Пришел новый ПК. На старом стояла система SUSE Linux Enterprise с файловой системой reiserfs. На новый установил ОС CentOS 5.1. Подключаю HDD со старого через внешний бокс. После некоторой паузы получаю сообщение:
Для поддержки reiserfs придется установить другое ядро, подключив репозитарий CentOS Plus.
Первым делом получаем права суперпользователя root:
[pomka@pc-32 ~]$ su
Следующим шагом отредактируем файл конфигурации репозитариев:
[root@pc-32 pomka]# nano -w /etc/yum.repos.d/CentOS-Base.repo
Необходимо поправить конфигурацию трех репозитариев: Base и Updates для исключения пакетов ядра и CentOSPlus для его активации и установки зависимостей.
Красным цветом обозначены изменения, которые необходимо внести.
Строка exclude выглядит следующим образом:
exclude=kernel kernel-devel kernel-smp-* kernel-hugemem* kernel-largesmp* kernel-PAE*
В репозитрарии CentOSPlus необходимо изменить enabled=0 на enabled=1 для его включения и добавить строку includepkgs=kernel* reiserfs-utils.
Ну и в заключении устанавливаем новое ядро и утилиты для работы с файловой системой reiserfs:
[root@pc-32 pomka]# yum install reiserfs-utils kernel
Перезагружаемся в новое ядро:
[root@pc-32 pomka]# reboot
После перезагрузки пробую подключить жесткий диск и вижу заветную иконку:
Для поддержки reiserfs придется установить другое ядро, подключив репозитарий CentOS Plus.
Первым делом получаем права суперпользователя root:
[pomka@pc-32 ~]$ su
Следующим шагом отредактируем файл конфигурации репозитариев:
[root@pc-32 pomka]# nano -w /etc/yum.repos.d/CentOS-Base.repo
Необходимо поправить конфигурацию трех репозитариев: Base и Updates для исключения пакетов ядра и CentOSPlus для его активации и установки зависимостей.
Красным цветом обозначены изменения, которые необходимо внести.
Строка exclude выглядит следующим образом:
exclude=kernel kernel-devel kernel-smp-* kernel-hugemem* kernel-largesmp* kernel-PAE*
В репозитрарии CentOSPlus необходимо изменить enabled=0 на enabled=1 для его включения и добавить строку includepkgs=kernel* reiserfs-utils.
Ну и в заключении устанавливаем новое ядро и утилиты для работы с файловой системой reiserfs:
[root@pc-32 pomka]# yum install reiserfs-utils kernel
Перезагружаемся в новое ядро:
[root@pc-32 pomka]# reboot
После перезагрузки пробую подключить жесткий диск и вижу заветную иконку:
Перенос работающей системы на програмный RAID 1
Сегодня я расскажу Вам как перенести работающую систему на RAID1, добавив схожий по характеристикам жесткий диск к тому, на котором установлена система. Все операции будут проводиться на системе с двумя IDE-HDD, операционная система CentOS 5.1.
[root@srv2 ~]# cat /etc/redhat-release
CentOS release 5 (Final)
[root@srv2 ~]# uname -r
2.6.18-53.el5
Просмотрим таблицу разделов:
[root@srv2 ~]# fdisk -l
Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 1 9663 77618016 83 Linux
/dev/hda2 9664 9728 522112+ 82 Linux своп / Solaris
Диск /dev/hdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
По полученным данным видно, что установлены два идентичных жестких диска объемом 80 Гб. На первом диске создано 2 раздела: корневая файловая система и SWAP-раздел. Второй жесткий диск абсолютно пуст. Диски определены системой как hda и hdb.
Первым делом нам необходимо создать таблицу разделов на втором диске, идентичной первому.
[root@srv2 ~]# sfdisk -d /dev/hda | sfdisk /dev/hdb
Опция -d делает дамп таблицы разделов.
Если Вы получите сообщение об ошибке используйте опцию --force.
Посмотрим теперь, что представляют диски, установленные в системе:
[root@srv2 ~]# fdisk -l
Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 1 9663 77618016 83 Linux
/dev/hda2 9664 9728 522112+ 82 Linux своп / Solaris
Диск /dev/hdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/hdb1 * 1 9663 77618016 83 Linux
/dev/hdb2 9664 9728 522112+ 82 Linux своп / Solaris
Видно, что таблица разделов на втором диске полностью соответствует таблице разделов на первом диске.
Теперь изменим тип таблицы разделов на втором диске на Linux raid autodetect:
[root@srv1 ~]# fdisk /dev/hdb
На запрос введем t. Пункт t - это изменение id системы раздела.
Выбираем номер раздела (напомню в нашем случае их 2).
Вводим шестнадцатеричный id код. Т.к. нам нужно Linux raid autodetect, то выбираем fd.
То же самое повторяем и для второго раздела:
Теперь записываем таблицу разделов на диск и выходим, выбрав опцию w.
Теперь загоним разделы нашего второго диска в массивы. Статус RAID намеренно выбран degraded.
[root@srv1 ~]# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdb1
Если все успешно, то получаем сообщение:
mdadm: array /dev/md0 started.
При попытке повторить то же самое для второго раздела:
[root@srv2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2
Получаем сообщение об ошибке:
mdadm: error opening /dev/md1: No such file or directory
Мы воспользуемся опцией --auto:
[root@srv2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2 --auto=yes
И получим сообщение, что операция прошла успешно:
mdadm: array /dev/md1 started.
Теперь выполним команду cat /proc/mdstat и убедимся, что наш деградировавший рейд работает:
[root@srv2 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb2[1]
522048 blocks [2/1] [_U]
md0 : active raid1 hdb1[1]
77617920 blocks [2/1] [_U]
unused devices:
[root@srv2 ~]#
По статусу _U видим, что с первым диском у нас проблемы, что естественно, ведь его в массиве нет, а вот со вторым все ОК.
Теперь создадим файловые системы в наших массивах: ext3 в первом массиве и swap по втором:
[root@srv2 ~]# mkfs.ext3 /dev/md0
[root@srv2 ~]# mkswap /dev/md1
Теперь создадим директорию для монтирования первого массива и смонтируем его туда:
[root@srv2 ~]# mkdir /mnt/md0
[root@srv2 ~]# mount /dev/md0 /mnt/md0/
Создаем файл конфигурации mdadm - /etc/mdadm.conf:
[root@srv2 ~]# nano -w /etc/mdadm.conf
И вносим в него такую строку: DEVICE partitions
Теперь заносим информацию о RAID массивах в файл конфигурации mdadm:
[root@srv2 ~]# mdadm --detail --scan >> /etc/mdadm.conf
Теперь правим файл /etc/fstab:
[root@srv2 ~]# nano -w /etc/fstab
И приводим в соответствие с подчеркнутыми значениями:
Теперь необходимо отредактировать конфигурационный файл загрузчика GRUB:
[root@srv2 ~]# nano -w /boot/grub/grub.conf
Делаем две копии конфигурации текущего раздела.
Значения которые подлежат изменению подчеркнуты красным.
Создаем новый образ initrd командой:
[root@srv2 ~]# mkinitrd /boot/initrd-`uname -r`-raid1.img `uname -r`
Теперь переносим данные нашей системы на массив:
[root@srv1 ~]# cp -dpRx / /mnt/md0/
Теперь настроим загрузчик на второй диск, введя команду grub:
[root@srv2 ~]# grub
Работать будем с меню GRUB:
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
Теперь перезагружаемся и выбираем для загрузки второй ядро:
Теперь изменим тип таблицы разделов на перовом диске на Linux raid autodetect:
[root@raid1 ~]# fdisk /dev/hda
На запрос введем t. Пункт t - это изменение id системы раздела.
Выбираем номер раздела (напомню в нашем случае их 2).
Вводим шестнадцатеричный id код. Т.к. нам нужно Linux raid autodetect, то выбираем fd.
То же самое повторяем и для второго раздела:
Теперь записываем таблицу разделов на диск и выходим, выбрав опцию w.
Теперь добавляем первый раздел на первом диске в наш первый массив (извините за тавтологию):
[root@raid1 ~]# mdadm --add /dev/md0 /dev/hda1
И второй:
[root@raid1 ~]# mdadm --add /dev/md1 /dev/hda2
Сейчас начался ребилдинг массива. Процесс достаточно длительный и зависит от емкости диска. За процессом можно наблюдать:
[root@raid1 ~]# watch cat /proc/mdstat
Теперь выполним команду cat /proc/mdstat и убедимся, что наш первый диск добавлен в массив:
Следующим шагом нам необходимо изменить файл конфигурации mdadm:
[root@raid1 ~]# nano -w /etc/mdadm.conf
Нам необходимо либо удалить, либо закомментировать строки с параметрами дисков:
Сохраняем изменения и выходим.
Теперь соберем новые данные о массивах:
[root@raid1 ~]# mdadm --detail --scan >> /etc/mdadm.conf
И пересоберем образ ядра. Обратите внимание на опцию -f, она позволит перезаписать существующие данные.
[root@raid1 ~]# mkinitrd -f /boot/initrd-`uname -r`-raid1.img `uname -r`
Перезагружаемся и выбираем первое ядро при загрузке.
Если система загрузилась, то продолжаем работать.
На этом все.
[root@srv2 ~]# cat /etc/redhat-release
CentOS release 5 (Final)
[root@srv2 ~]# uname -r
2.6.18-53.el5
Просмотрим таблицу разделов:
[root@srv2 ~]# fdisk -l
Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 1 9663 77618016 83 Linux
/dev/hda2 9664 9728 522112+ 82 Linux своп / Solaris
Диск /dev/hdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
По полученным данным видно, что установлены два идентичных жестких диска объемом 80 Гб. На первом диске создано 2 раздела: корневая файловая система и SWAP-раздел. Второй жесткий диск абсолютно пуст. Диски определены системой как hda и hdb.
Первым делом нам необходимо создать таблицу разделов на втором диске, идентичной первому.
[root@srv2 ~]# sfdisk -d /dev/hda | sfdisk /dev/hdb
Опция -d делает дамп таблицы разделов.
Если Вы получите сообщение об ошибке используйте опцию --force.
Посмотрим теперь, что представляют диски, установленные в системе:
[root@srv2 ~]# fdisk -l
Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 1 9663 77618016 83 Linux
/dev/hda2 9664 9728 522112+ 82 Linux своп / Solaris
Диск /dev/hdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устр-во Загр Начало Конец Блоки Id Система
/dev/hdb1 * 1 9663 77618016 83 Linux
/dev/hdb2 9664 9728 522112+ 82 Linux своп / Solaris
Видно, что таблица разделов на втором диске полностью соответствует таблице разделов на первом диске.
Теперь изменим тип таблицы разделов на втором диске на Linux raid autodetect:
[root@srv1 ~]# fdisk /dev/hdb
На запрос введем t. Пункт t - это изменение id системы раздела.
Выбираем номер раздела (напомню в нашем случае их 2).
Вводим шестнадцатеричный id код. Т.к. нам нужно Linux raid autodetect, то выбираем fd.
То же самое повторяем и для второго раздела:
Теперь записываем таблицу разделов на диск и выходим, выбрав опцию w.
Теперь загоним разделы нашего второго диска в массивы. Статус RAID намеренно выбран degraded.
[root@srv1 ~]# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdb1
Если все успешно, то получаем сообщение:
mdadm: array /dev/md0 started.
При попытке повторить то же самое для второго раздела:
[root@srv2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2
Получаем сообщение об ошибке:
mdadm: error opening /dev/md1: No such file or directory
Мы воспользуемся опцией --auto:
[root@srv2 ~]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdb2 --auto=yes
И получим сообщение, что операция прошла успешно:
mdadm: array /dev/md1 started.
Теперь выполним команду cat /proc/mdstat и убедимся, что наш деградировавший рейд работает:
[root@srv2 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb2[1]
522048 blocks [2/1] [_U]
md0 : active raid1 hdb1[1]
77617920 blocks [2/1] [_U]
unused devices:
[root@srv2 ~]#
По статусу _U видим, что с первым диском у нас проблемы, что естественно, ведь его в массиве нет, а вот со вторым все ОК.
Теперь создадим файловые системы в наших массивах: ext3 в первом массиве и swap по втором:
[root@srv2 ~]# mkswap /dev/md1
Теперь создадим директорию для монтирования первого массива и смонтируем его туда:
[root@srv2 ~]# mount /dev/md0 /mnt/md0/
Создаем файл конфигурации mdadm - /etc/mdadm.conf:
[root@srv2 ~]# nano -w /etc/mdadm.conf
И вносим в него такую строку: DEVICE partitions
Теперь заносим информацию о RAID массивах в файл конфигурации mdadm:
[root@srv2 ~]# mdadm --detail --scan >> /etc/mdadm.conf
Теперь правим файл /etc/fstab:
[root@srv2 ~]# nano -w /etc/fstab
И приводим в соответствие с подчеркнутыми значениями:
Теперь необходимо отредактировать конфигурационный файл загрузчика GRUB:
[root@srv2 ~]# nano -w /boot/grub/grub.conf
Делаем две копии конфигурации текущего раздела.
Значения которые подлежат изменению подчеркнуты красным.
Создаем новый образ initrd командой:
[root@srv2 ~]# mkinitrd /boot/initrd-`uname -r`-raid1.img `uname -r`
Теперь переносим данные нашей системы на массив:
[root@srv1 ~]# cp -dpRx / /mnt/md0/
Теперь настроим загрузчик на второй диск, введя команду grub:
[root@srv2 ~]# grub
Работать будем с меню GRUB:
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
Теперь перезагружаемся и выбираем для загрузки второй ядро:
Теперь изменим тип таблицы разделов на перовом диске на Linux raid autodetect:
[root@raid1 ~]# fdisk /dev/hda
На запрос введем t. Пункт t - это изменение id системы раздела.
Выбираем номер раздела (напомню в нашем случае их 2).
Вводим шестнадцатеричный id код. Т.к. нам нужно Linux raid autodetect, то выбираем fd.
То же самое повторяем и для второго раздела:
Теперь записываем таблицу разделов на диск и выходим, выбрав опцию w.
Теперь добавляем первый раздел на первом диске в наш первый массив (извините за тавтологию):
[root@raid1 ~]# mdadm --add /dev/md0 /dev/hda1
И второй:
[root@raid1 ~]# mdadm --add /dev/md1 /dev/hda2
Сейчас начался ребилдинг массива. Процесс достаточно длительный и зависит от емкости диска. За процессом можно наблюдать:
[root@raid1 ~]# watch cat /proc/mdstat
Теперь выполним команду cat /proc/mdstat и убедимся, что наш первый диск добавлен в массив:
Следующим шагом нам необходимо изменить файл конфигурации mdadm:
[root@raid1 ~]# nano -w /etc/mdadm.conf
Нам необходимо либо удалить, либо закомментировать строки с параметрами дисков:
Сохраняем изменения и выходим.
Теперь соберем новые данные о массивах:
[root@raid1 ~]# mdadm --detail --scan >> /etc/mdadm.conf
И пересоберем образ ядра. Обратите внимание на опцию -f, она позволит перезаписать существующие данные.
[root@raid1 ~]# mkinitrd -f /boot/initrd-`uname -r`-raid1.img `uname -r`
Перезагружаемся и выбираем первое ядро при загрузке.
Если система загрузилась, то продолжаем работать.
На этом все.
Подписаться на:
Сообщения (Atom)