Translate

середа, 8 липня 2009 р.

Монтування файлової системи. Fstab

Файл /etc/fstab є в будь-якому дистрибутиві Linux: він пов'язаний з монтуванням файлових систем. Впринципі структура файлу неважка, але поява багатьох файлових систем значно його ускладнили. Добре перевірте файл fstab, адже коли його невірно відредагувати і зберегти система може не завантажитись взагалі. Отже, спробуймо в ньому розібратись.


(для перегляду таблички натисни на неї )


Кожний рядок файлу fstab розбивається на 6 полів (див. таблицю):

>>Поле 1. Пристрій, що має файлову систему, тобто розділ, що монтується. В останніх дистрибутивах в цьому полі записані мітки томів або UUID.

>>Поле 2. Точка монтування, каталог в який буде проходити монтування. Власне, перед монтуванням потрібно створити цей каталог, інакше система при завантаженні видасть помилку монтування.

>>Поле 3. Тип файлової системи розділу. Можна вказати параметр auto, що означає самостійно визначати тип файлової системи.

>>Поле 4. Тут задаються опції монтування. Дуже часто ці параметри залежать від того, який тип файлової системи, що буде монтуватись. Тобто, якщо розділ з файловою системою ext3 нормально монтувався з певними параметрами, то це не значить, що розділ ntfs також нормально примонтується з цими параметрами, і, зазвичай, він таки нормально не примонтується. Якщо параметри вказувати не треба, напишіть тут слово "defaults"(по замовчуванні default всатновлює такі опції: async, auto, dev, exec, nouser, rw, suid)

>>Поле 5. Зараз його майже не використовують. Воно використовується dump-ом (програмою створення інкрементних резервних копій) і визначає розділи, котрі потрібно архівувати.

>>Поле 6. Це поле визначає порядок, в якому файлові системи будуть перевірятись (програмою fsck) після збою системи і т.п. Воно приймає значення '1' для кореневого розділу (тобто перевірка в першу чергу) і '2' для всіх інших розділів. Для CD/DVD в цьому полі вповинен стояти '0', думаю, зрозуміло чому.

Ну і накінець розглянемо найбільшуживаніші опції монтування:

noauto - не монтувати розділ під час завантаження ОС, заборонене автоматичне монтування.

auto - автоматичне монтування сисемою розділа, при виявлені його або виконанні команди mount -a

user - дозволити звичайним користувачам (не root) монтувати пристрій. nouser відповідно навпаки, дозволяється лише root-у.

owner - власником змонтованого диску стане користувач, котрий його змонтував.

ro - монтувати в режимі тільки для читання. Такий параметр встановлюється на монтування розділу "/" задля підвищення безпеки.

rw - монтувати в режимі читання/запис.

noatime - не оновлювати час останнього доступу о файлу. Часом це підвищує продуктивність. В Ubuntu використовується аналогічна опція "relatime".

sync - синхронізує всі операції запису (дані одразу пишуться на диск). Про значення async писати не буду, думаю, зрозуміло.

nosuld - нівелює дії атрибутів "setuid" та "setgid". Ця опція часто призначається з'ємними носіями (наприклад, usb-драйви). Вона не дозволить взломщикам отримати доступ адміністратора, наприклад, за допомогою CD з оболочкою з установленим бітом setuid, власником якого є root.

exec - дозвіл на виконання скриптім та програм на диску. noexec відповідно протилежна опція.

gid=ID - призначення ID групи.

id=ID - призначення ID користувача.

Мало не забув навести типові приклади монтування розділів різних файлових систем.
Отже, для FAT32, 16 і т.д.:

/dev/логічний_розділ_диску /media/папка_монтування vfat umask=0, utf8 0 0

для NTFS:

/dev/логічний_розділ_диску /media/папка_монтування ntfs-3g defaults, utf8, umask=007,gid=46 0 0

для EXT4 (для EXT3, EXT2, EXT рядок аналогічний, окрім значення параметру "Тип файлової системи", треба змінити його на відповідний):

/dev/логічний_розділ_диску /media/папка_монтування ext4 defaults 0 0

понеділок, 16 березня 2009 р.

Налаштування мережі KPI-IX (static IP) через консоль в Ubuntu

Буває, що іноді мережу через графіку налаштувати непросто (для мене чогось так завжди, на убунті 7.10 я шарив як то зробити, а тепер я навіть не знаю як там, в кде 4.0 в вас і можливості немає налаштувати то через графіку). Після цієї статті ви зрозумієте, що не все так важко, як могло здаватись на перший погляд. Отже,

sudo nano /etc/network/interfaces

В нього копіюємо

auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
# до цього місця нічого не міняємо, адже це параметри локальної петлі

auto eth0
iface eth0 inet static
address 10.XXX.X.XXX
netmask 255.255.255.0
gateway 10.YYY.Y.Y
dns-nameservers 10.7.1.X 10.7.1.Y

Сюди записуєте свої параметри.

Можна записати host-ім'я, відредактуйте /etc/hostname

sudo nano /etc/hostname

і туди запишемо свій хост-нейм у вигляді:

vasya

Ну ось і все. Не забуваймо перезапустити мережеву службу, що робиться так:

sudo /etc/init.d/networking restart

У випадку з DHCP , тобто коли вам айпі присвоюється автоматично, маємо записати в /etc/network/interfaces таке :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp


Знову ж таки, не забувайте після змін перевантажити мережу. І уважно дивіться, що на те відповідає команда перезапуску.

неділя, 15 березня 2009 р.

Налаштування VPN (PPTP) для операційної системи Ubuntu Linux

Власне, розглядаємо підключення до провайдера КПІ-телеком (http://kpitelecom.ntu-kpi.kiev.ua), маючи підключення до мережі KPI-IX.

1) В консолі виконумо команду від суперкористувача:

sudo aptitude install pptp-linux

PPTP - це протокол, за допомогою якого буде проходити підключення до провайдера. В вас перед цим повинна бути налаштована мережа та мережеві репозиторії, адже саме з них і буде встановлюватись вищезгаданий програмний пакет.

Слід зауважити, що в Убунту 10.04 і в 10.10 програмний пакет pptp-linux є по замовчуванню.

2) Cтворюємо файл за таким зразком:

sudo nano /etc/ppp/peers/kpitelecom

Туди копіюємо:

name ваш_логін (це не ваш номер до веб інтерфейсу, а логін типу vasya чи як там у вас )
remotename PPTP
lock
deflate 0
defaultroute
lcp-echo-interval 60
lcp-echo-failure 4
lcp-echo-interval 15
pty "/usr/sbin/pptp vpn2.ntu-kpi.kiev.ua --nolaunchpppd"


Зберігаємо написане - ctrl+O, виходимо - ctrl+X . Аналогічно зберігаємось далі.
3) Додаємо до файлу /etc/ppp/chap-secrets запис з вашим логіном та паролем:

ваш_логін(вищезгаданий) PPTP ваш_пароль

Не забуваймо зберегти написане.

4) Для налаштування маршрутизації потрібно виконати:

sudo route add -net 10.0.0.0/8 gw 10.xxx.yyy.zzz

Де 10.xxx.yyy.zzz – IP-адреса шлюзу у Вашій підмережі.

Маршрутизація потрібна для правильного розпізнавання системою понятть мережа Політеха та Інтернет.

Якщо є дефолтний шлюз – видаляємо його (а він таки є):

sudo route del default

Отже, до конекту до кпі-телекому таблиця роутів має виглядати приблизно так:


Звертаю увагу на відсутність дефолтного роуту, котрий мав би бути на початку (до налаштування впн-у) та на роут 10.0.0.0, гейтвей якого в моєму випадку floor3-gw.top7 (тобто 10.107.3.1). Коли ж вони до контакту з впн-ом відсутні, зрозуміло, що конекту не буде. Це по-суті, одна з найголовніших речей...

5) І нарешті:

sudo pon kpitelecom - підключення до свого аккаунту провайдера.

Для відконекчування використовуйте:

sudo poff

Часом говорять, що такі команди працюють не всіх лінуксових дистрах, тож можна конектитись ще так:

sudo pppd call kpitelecom

sudo killall pppd - ну це зрозуміло, я думаю.

6) Перевіримо чи з'явився інтерфейс підключення:

ifconfig ppp0

Реакція командного рядка:

ppp0 Link encap:Point-to-Point Protocol
inet addr:172.16.9.51 P-t-P:172.16.0.0 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1450 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:55 (55.0 b) TX bytes:61 (61.0 b)


Це дуже добре, коли в Вас вийшло аналогічне.

7) А ну ж бо, спробуємо чи пінгуються сервери:

ping ukr.net

PING ukr.net (212.42.64.8) 56(84) bytes of data.
64 bytes from kaena.ukr.net (212.42.64.8): icmp_seq=1 ttl=60 time=1.64 ms
64 bytes from kaena.ukr.net (212.42.64.8): icmp_seq=2 ttl=60 time=2.31 ms
64 bytes from kaena.ukr.net (212.42.64.8): icmp_seq=3 ttl=60 time=2.05 ms

Невже....невже воно обмінюється пакетами??? :) Яке щастя...Нарешті, нарешті...!!!

8) Так як Убунта перезаписує роути при кожному перевантаженні, то буде корисно додати route add -net 10.0.0.0/8 gw 10.xxx.yyy.zzz та route del default в /etc/rc.local. Отже файл /etc/rc.local буде виглядати наступним чином:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
route add -net 10.0.0.0/8 gw 10.xxx.yyy.zzz
route del default
exit 0

Останнім часом, після появи dhcp-сервера адрес, скрипт /etc/rc.local виконується раніше, ніж серевер присвоїть вам айпі (він в мене присвоються через 30-60 сек після ввімкнення), тобто запрацює мережа. Тож виходить що видаляються роути, яких ще не існує , бо /etc/rc.local не чекає увімкнення мережі і запускається одразу.  Тож , як непоганий варіант вирішення проблеми - додати в  /etc/network/interfaces команду що виконає одразу скрипт при підключенні:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
up sh /etc/inet.sh


Скрипт /etc/inet.sh має виглядати так:

#! /bin/bash
route del default
route add -net 10.0.0.0/8 gw 10.XXX.X.X

Можна трохи про конект до кпітелекому прочитати тут

Ну це все.) Па-па.