 |
Вітаю Вас, Гість · RSS |
 |
Піднімаємо локальну мережу з Ubuntu-сервером
| |
miroslaw |
Дата: Пн, 08.08.2011, 16:59 | Повідомлення № 1 |
Новий користувач
Повідомлень: 5
| Створюємо локальну мережу під Linux Ubuntu Server для імітації Internet в школі із-за відстутності нормального доступу в глобальну мережу. На перший погляд - безглуздість і не актуальна тема, та все ж досить популярним є створення локальної мережі на підприємствах різних галузей з можливістю відвідувати локальні сайти та вести email-переписку між користувачами (то ж знання по створенню такої мережі можуть знадобитись). Річ в тім, що в нашій школі кам'яний інтернет: Dial-Up 56K (56-кілобітний нет через 2-жильний телефонний дріт за 60 грн в місяць від Ukrtelecom) - Фактично він є, та толку з нього 0. Оскільки я себе вважаю web-дизайнером, то вирішив, що мені під силу написати кілька сайтів для локальної мережі, щоб учні хоча б розуміли як користуватись сайтами. Зрештою, задача посильна! Що нам дано: Благо 1 - сервер (мамка FoxconnG31MX-K, 2Gb оперативи, проц. Intel 4пень, 250Gb вінчстер Samsung, мережева карта Realtek RTL8139D, DVD-RAM LG, відео - інтегроване); Благо 2 - 17 ПК під WindowsXP Благо 3 - голова Благо 4 - Internet Kyivstar вдома (>256 Kb/s)
Після довгих пошуків та апробацій зупинився на Ubuntu Server 9.1 Викачати його можна звідси: http://old-releases.ubuntu.com/release....386.iso В наступній статті - встановлення.
Додано (08.08.2011, 15:20) --------------------------------------------- Встановлення Linux Ubuntu Server Що ж, скачану iso-шку ми пропалили на диск і запустили сервер. В BIOS першим завантажуваним пристроєм поставили DVD, в DVD вставили диск. Зберегли параметри і перезавантажили с-му (F10) 1. Спочатку вам запропонують вибрати мову (я користав рус., бо укр. переклад виявився неповним) (переключаємось Tab-ом, вибираємо Enter-ом) 2. Установить сервер Ubuntu 3. Вибір країни (Україна) 4. Відмовляємось від визначення розкладки (самі справимось) 5. Вибираємо Ukraine в списку "Для кого предназначена клавиатура" 6. "Раскладка клавиатуры" - Ukraine 7. Зручний для Вас спосіб переключення розкладки 8. Вибираємо мережевий інтерфейс (у мене "eth0: Realtek ... bla bla bla")- запам'ятали тільки що eth0 9. Зупиняємо пошук автоматичного налаштуваня мережі (протокол DHCP не використ. у нашій мережі) 10. Продовжити 11. "настроить сеть вручную" 12. IP: 192.168.0.0 (хтось може порадити не починати з 0, та все ж таки мені так зручніше, бо в локал. мережі 1-й комп матиме IP-ішку 192.168.0.1 і т.д. до 192.168.0.17 - так бузе зрозуміло з якої машини юзер) + "Продолжить" 13. "Маска подсети" - красиво 255.255.255.0 + "Продолжить" 14. "Шлюз" - 192.168.0.0 + "Продолжить" 15. "Адреса DNS-серверов" - 192.168.0.0 (на цьому ж серваку себто) 16. "Имя компютера" - server + "Продолжить" 17. "Имя домена" - lan + "Продолжить" 18. Нарешті інсталятор дібрався до жостокого диску: "Метод разметки" - "Авто - использовать весь диск" + Enter 19. "виберите диск для разметки" - беремо той, на котрий і збирались + Enter 20. "Записать изменения на диск?" - "Да" 21. "Введите новое имя пользователя" - (користувач котрий керуватиме сервером з домомогою команди "sudo" ) я пишу якийсь свій нік - miro, наприклад. 22. "Ваше имя учетной записи" - miro (вигадуйте своє) 23. Пароль - не заморочуємось довго, ставимо 1111 24. Повтор 25. Погоджуємось що наш пароль блабкий і все таке інше. 26. "Зашифрувать домашний каталог" - "Нет" 27. Проксі лишаємо порожніми + "Продолжить" 28. "Регулярное обновление" - "Без автомат. обновления" 29. "Выбор програмного обеспечения" - все, крім перших 2 (Cloud нам не потрібен, толку з нього мало) + "Продолжить" 30. Тиснемо "q" та вибираємо "[Yes]" - починає ставитись 31. "настраивается пакет mysql-server-5.1" - пароль для адміністративного користувача root бази даних MySQL - ставимо простий "1111" 32. повтор 33. Postfix Configuration - "Продолжить" 34. "Только локально" 35. "Системное почтовое имя" - "mail.lan" + "Продолжить" 36. "Завершение установки" - забираємо диск з DVD + "Продолжить"
Після рестарту стартують всі потрібні служби і пропонується ввійті для адсіністрування: "server login :" -вводимо ваш придуманий логін (у мене miro) "Password" - пригадуєте? 1111 (не показується пароль при введені, тому не помиліться) "Added user miro" і кілька стрічок Внизу привітливо миготить курсор вводу консолі: "miro@server:~$" Вводимо "sudo bash", а він нам:"[sudo] password for miro:" - 1111 - ковтає і ми стаєм суперкористувачем сервера (root - себто): "root@server:~#" - тепер всі команди виконуватимуться від імені root. В наступних статтях я не описуватиму перехід на root - дивіться в цій. Тепер, вбивши в адресну стрічку бравзера http://192.168.0.0/ отримаємо тестову сторінку "It works!" (це, звичайно, якщо у Вас на користувацькій машині налаштований протокол Інтернету 4 версії TCP/IPv4 наступним чином: IP-192.168.0.1 і вище, Маска-255.255.255.0, Шлюз-192.168.0.0, DNS-сервер-192.168.0.0) Покищо все! - з інсталяцією справились.
Додано (08.08.2011, 16:59) --------------------------------------------- Налаштуваня Samba - файлового сервера. Поскільки мені не вдалось підняти ftp на Ubuntu, то питання завантаження сайтів на сервер вирішив з домомогою Samba. Мені неймовірно поталанило натрапити на книжку "LINUX- СЕРВЕР: ПОШАГОВЫЕ ИНСТРУКЦИИ ИНСТАЛЛЯЦИИ И НАСТРОЙКИ" під авторством В. В. Бруя та С. В. Карлова, де детально описано налаштування Samba. То ж у цій статті буду на неї опиратись.
1. Комадою "cd /etc/samba" від імені root переміщаємось в консолі в каталог з конфігураційними файлами Samba 2. "ls" - виводить на екран вміст каталогу, бачимо присутній smb.conf, якщо помилились з каталогом, то попросіть у сервера: "cd /" - поміститесь у кореневий каталог сервера, а звідти - крок 1 3. Виконаємо команду "nano smb.conf" - відкриємо головний конфігурційний файл Samba в текстовому редакторі nano 4. В редакторі виконаємо "Ctrl+O" (затиснемо одночасно Ctrl і літеру O) - на що нам редактор запропонує ввести назву файлу, напишемо: "smb.conf.original" -далі запитає чи справді ми бажаємо зберегти файл під іншим ім'ям - тиснемо "Y" на клаві - так ми створили back-up версію файлу (якщо щось піде не так, то відновіити файли можна буде з *.original-файлу). Надалі я не буду описувати кожне створення back-up-файлу. 5. Виходимо з редактора "Ctrl+X" 6. Виконуємо команду "rm smb.conf" - видаляємо конфігураційний файл (back-up же у нас є). 7. Створимо новий файл smb.conf "nano smb.conf" - внизу редактора пишеть ся "new file" 8. Заповніьт вручну конфігураційний файл наступним вмістом: Code [global] workgroup = SCHOOLLOCAL server string = School Local Server encrypt passwords = Yes security = user smb passwd file = /etc/samba/smbpasswd log file = /var/log/samba/log.%m max log size = 0 socket options = IPTOS_LOWDELAY TCP_NODELAY deadtime = 15 getwd cache = Yes lpq cache time = 45 name resolve order = wins lmhosts host bcast bind interfaces only = True interfaces = eth0 192.168.0.0/24 127.0.0.1 hosts deny = ALL hosts allow = 192.168.0. 127.0.0.1 debug level = 1 create mask = 0644 directory mask = 0755 unix charset = koi8-r display charset = koi8-r dos charset = cp866 [teacher] comment = Teacher Directory path = /home/teacher browseable = Yes read only = No valid users = miro(а ви вкажете свій) teacher user1(так я називаю користувачів) user2 user3 user4 user5 user6 user7 user8 user9 user10 user11 user12 user13 user14 user15 user16 user17 invalid users = root bin daemon sync nobody sys tty disk mem kmem [user1] path = /home/user1 browseable = Yes read only = No valid users = miro(а ви вкажете свій) teacher user1(так я називаю користувачів) invalid users = user2 user3 user4 user5 user6 user7 user8 user9 user10 user11 user12 user13 user14 user15 user16 user17(в каталог користувача може заходити користувач і Teacher) ...i т.д. до 17 юзера .. [www] path = /var/www browseable = Yes read only = No valid users = miro(а ви вкажете свій) teacher invalid users=user1 user2 user3 user4 user5 user6 user7 user8 user9 user10 user11 user12 user13 user14 user15 user16 user17(це ми заборонимо користувачам, крім Teacher відкривати гаталог www) [printers] comment = Remote Printers path = /var/spool/samba browseable = No printable = Yes valid users = miro(а ви вкажете свій) teacher user1(так я називаю користувачів) user2 user3 user4 user5 user6 user7 user8 user9 user10 user11 user12 user13 user14 user15 user16 user17 invalid users = root bin daemon sync nobody sys tty disk mem kmem 9. Зберігаємо: "Ctrl+O" +"y" + Enter 10. Створіть в цій же директорії файл "lmhosts" з наступним вмістом: Code 127.0.0.1 localhost 192.168.0.0 schoollocal 11. Створіть нового користувача teacher з використанням наступної команди: "useradd –s /bin/false teacher" та додайте стрічку "/bin/false" у файл /etc/shells 12. Створюємо пароль для teacher (вводимо в консолі): Code passwd teacher Changing password for user teacher New UNIX password: secretn()e_sL0v() Retype new UNIX password: secretn()e_sL0v() passwd: all authentication tokens updated successfully де secretn()e_sL0v() - ваш пароль 13. Тепер додамо samba-користувача: Code smbpasswd -a teacher New SMB password: secretn()e_sL0v() Retype new SMB password: secretn()e_sL0v() 14. Наявність помилок в конфігураційному файлі можна перевірити з допомогою команди: "testparm –v" 15. Перезапускаємо сервер Samba: "/etc/init.d/samba restart" Аналогічно додаємо користувачів user1-user17 Тепер, якщо користувацькі машини в групі SCHOOLLOCAL, і налаштування протоколу TCP/IPv4 зпопереднього кроку виконані, ми через мережне оточення можемо отримати доступ до папок. Та біда! Записати нічого не можлливо. Рятує команда в консолі серверва: "chmod 777 www", де 777 - права доступу до каталогу(по-дурному, та все ж дозволяємо цією командою "писати всім", а samba вибере котрим користувачам давати доступ, а котрим -ні), а www - це назва каталогу в папці, де ми знаходимось(відносно себто). Змінили права доступу до каталогу www - тепер можемо редагувати файл index.html - та толку! Адреса головного сайту 192.168.0.0 - не красиво якось! В 2 наступних статтях опишу створення зони .lan (bind9) та налаштування VirtualHosts(apache2) для того, щоб сторінку "It works" можна було викликати за адресою sever.lan
Відредаговано: miroslaw - Пн, 08.08.2011, 18:59 |
|
| |
mul44 |
Дата: Пн, 08.08.2011, 17:47 | Повідомлення № 2 |
Досвідчений учасник
Повідомлень: 1137
| Дуже дякую за матеріал, але радив би замінити в наступному все ж таки всі слова "папка" на "каталог", більш правильно якщо ви вже говорити про лінукс.
|
|
| |
miroslaw |
Дата: Пн, 08.08.2011, 20:11 | Повідомлення № 3 |
Новий користувач
Повідомлень: 5
| Налаштовуємо bind9 - створюємо зону .lan в локальній мережі без дступу до Internet
1. Користувачем root переходимо в каталог /etc/bind 2. Вопіюємо файл named.conf.options в файл named.conf.options.original наступною командою: Code cp named.conf.options named.conf.original 3. Відкриваємо named.conf.options: Code nano named.conf.options 4. Доводимо файл до наступного вигляду: Code acl "mynetwork" {192.168.0.0/24; 127.0.0.1;};
options { directory "/var/cache/bind";
#forwarders { # 1.1.1.1; # 2.2.2.2; #};
listen-on port 53 { 127.0.0.0; 192.168.0.0; }; auth-nxdomain no; listen-on-v6 { none; }; allow-query {"mynetwork";}; }; Будьте уважні, на пропускайте ";" !
5. Копіюємо named.conf.default-zones в named.conf.default-zones.original : Code cp named.conf.default-zones named.conf.default-zones.original
6. Добавляємо вкінець файлу named.conf.default-zones наступне: Code zone "lan" { type master; file "/etc/bind/db.lan"; };
zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.lan.rev"; }; Зрозуміло, що сейвим !
7. Далі я рекомендую відкрити файл db.local і зберегти його під назвою db.lan. Останній доводимо до такого вигляду: Code $TTL 604800 @ IN SOA lan. root.lan. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.lan. ns A 127.0.0.1 server A 192.168.0.0 school A 192.168.0.0 Ми зробили запис про існування в зоні .lan 2 доменів: server i school. Та вони ще не відкликатимуться за цими іменами.
8. Аналогічним способом створюємо файл db.lan.rev і доводимо його до вигляду: Code $TTL 604800 @ IN SOA lan. root.lan. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. 1 PTR server.lan 1 PTR school.lan Сейвим.
9. Підточуємо напильничком файл /etc/resolv.conf : Code search lan nameserver 127.0.0.1
10. Перезапускаємо bind9 : Code service bind9 restart
11. Питаємо в bind-а про server: а він нам: Code server.lan has address 192.168.0.0 Аналогічно буде і зі school Якщо від сервера отримуємо таке, то цей крок можна вважати завершеним - ми навчились створювати зону та доменні імена в ній. Покищо сайти не відповідатимуть на запити з користувацьких ПК. Для цього ми налаштуємо в наступній статті apache.
Додано (08.08.2011, 20:11) --------------------------------------------- Налаштовуємо VirtualHost з apache2 Ubuntu Server використовує apache2 - http web-сервер.
Для того, щоб сайти відкликались в бравзері за URL-запитом слід дещо модифікувати apache2 1. Поміщаємось root-ом в каталог /etc/apache2/sites-available 2. Видаляємо файл default: 3. Переміщаємось: 4. Видаляємо симлінк 000-default 5. Повертаємось до sites-available: Code cd ../sites-available 6. Створюємо файл server з наступним вмістом: Code <VirtualHost *:80> ServerAdmin admin@server.lan ServerName server ServerAlias www.server DocumentRoot /var/www <Directory /var/www> Order Allow,Deny Allow from 192.168.0.0/24 </Directory> </VirtualHost> 7. Створюємо його симлінк: Після чого апач або говорить, що все ок і просить перезавантажити службу, або свариться і говорить в чому помилка. 8. Копіюємо в тому ж каталозі файл server в server.lan, доводячи останній до вигляду: Code [size=10]<VirtualHost *:80> ServerAdmin admin@server.lan ServerName server.lan ServerAlias www.server.lan DocumentRoot /var/www/server.lan <Directory /var/www/server.lan> Order Allow,Deny Allow from 192.168.0.0/24 </Directory> </VirtualHost>[/size] 9. Файл зберігаємо, та не закриваємо. Збережемо його під іменем school.lan (так швидше ніж створювати заново). В school.lan творимо наступне : Code [size=10]<VirtualHost *:80> ServerAdmin admin@server.lan ServerName school.lan ServerAlias www.school.lan DocumentRoot /var/www/school.lan <Directory /var/www/school.lan> Order Allow,Deny Allow from 192.168.0.0/24 </Directory> </VirtualHost>[/size] 10. Творимо 2 симлінки на server.lan та school.lan : Code a2ensite server.lan a2ensite school.lan
11. Якщо ви були уважні та за попередньою статтею в файлах db.lan та db.lan.rev робили відмітки про 2 сервери: server.lan та school.lan, то час перезавантажити apache-сервер: Code etc/init.d/apache2 restart
12. Знову дістаємо напильник і відкриємо файл hosts: Інформація про localhost, server, server.lan та school.lan мусить бути такою: Code 127.0.0.1 localhost 127.0.0.1 server 127.0.0.1 server.lan 127.0.0.1 school.lan
І так, що ми наробили ? Завдяки останній модифікації відмітки про доменні імена шукатимуться на нашому сервері (сам в собі - за 127.0.0.1 localhost), а попередні файли з налаштуваннями VirtualHosts з каталогів sites-available та sites-enabled розкажуть де лежать самі сайти. Навіщо був видалений default та створений server в каталозі sites-available? - для того, щоб сторінка "It works" відкликалась на "http://server/" - рекомендую видалити сторінку index.html з каталогу "/var/www" та створити замість неї файл index.php з наступним вмістом: це дозволить отримати повну інформацію про налаштування php при зверненні за "http://server/"
13. Обов'язково виконуємо наступний крок: йдемо в директорію www: 14. Творимо новий каталог : В його назві я вжив .lan - а що як захочеться ще кілька зон? Так називати каталоги сайтів буде зручніше. 15. Задаємо права для запису в каталог: Писати зможуть всі, та налаштування Samba не дозволить юзерам працювати з цими каталогами (пригадуєте invalid users ?), тому з-зовні запис під силу лише Teacher. 16. Повторюємо для school.lan : 17. Перезавантажуємо bind9: Code service bind9 restart 18. Перезавантажуємо apache2: Code /etc/init.d/apache2 restart
Пробуємо через мережне оточення занести якийсь сайт в каталог server.lan та викликати його в бравзері. В мене 100% працює! Висловлюйте питання якщо щось пішло не так. Не бійтесь відкрити файл var/log/syslog та почитати що в нього вкінці за помилки. Відповідати на питання без Вашого вміння прочитати syslog не буду! Бажай вдачі! А в наступній статті відпишусь про роботу з MySQL.
Відредаговано: miroslaw - Пн, 08.08.2011, 20:14 |
|
| |
mul44 |
Дата: Вт, 09.08.2011, 13:58 | Повідомлення № 4 |
Досвідчений учасник
Повідомлень: 1137
| Буду дуже вдячний за метеріал стосовно розподілення інету на користувачів, обмеження швидкості, або трафіку, якщо він у вас є то буде дуже добре. Я в себе поставив (знайомий викидав на смітник IBM справжній) системник, в мене на жорсткому був Дебіан 5 сервер, спробую можливо в себе його використати. Бо зараз інет роздається через модем в режимі роутера (укртелеком інет).
Відредаговано: mul44 - Вт, 09.08.2011, 14:00 |
|
| |
miroslaw |
Дата: Вт, 09.08.2011, 18:03 | Повідомлення № 5 |
Новий користувач
Повідомлень: 5
| mul44, стосовно розподілення інету на користувачів, обмеження швидкості, або трафіку - покишо нічого не нарив, особистого досвіду в цьому напрямку не маю, якщо щось конкретне дізнаюсь - обов'язково поділюсь!
|
|
| |
Andrey123q |
Дата: Ср, 10.08.2011, 13:21 | Повідомлення № 6 |
Досвідчений учасник
Повідомлень: 1236
| Quote (miroslaw) mul44, стосовно розподілення інету на користувачів, обмеження швидкості, або трафіку Squid.
|
|
| |
mouse |
Дата: Ср, 10.08.2011, 18:19 | Повідомлення № 7 |
Ветеран спілкування
Повідомлень: 2026
| Вражає інструкція. Гадаю, що користувачам форуму стане в нагоді
|
|
| |
miroslaw |
Дата: Пн, 15.08.2011, 12:56 | Повідомлення № 8 |
Новий користувач
Повідомлень: 5
| Andrey123q, Дякую за підказку! Реально знайоме слово! (здається в /etc такий каталог є, тож можна покопать там) Нічого толковішого порадити не можу, оскільки юзаю локальний сервер, то розподіляти нічого. Далі буду відписуватись, дотримуючись чіткого локального регламенту.Додано (15.08.2011, 12:56) --------------------------------------------- Щойно в кабінеті інформатики школи намагався реалізувати нетворк на наступному IP: 192.168.0.0 Нажаль на цьому айпі нічого не вдалось. Виконав ряд маніпуляцій: В /etc/network/interfaces змінив наступні дані: iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.1 ... gateway 192.168.0.1 ... dns-nameservers 192.168.0.1
В решті конфігураційних файлів, описаних вище, де фігурував IP 192.168.0.0 замінюємо його на 192.168.0.1.
Вибачаюсь за неправильність поданої раніше інформації, та XP-юша не хоче пінгувати айпі 192.168.0.0 (через cmd.exe), а от Seven - активно ковтає. Поскільки тестував все вдома під Win7, то вважаю, що вибачення мають місце.
Створюйте локальну мережу на IP 192.168.0.1 ! - 100% працює
|
|
| |
Andrey123q |
Дата: Пн, 15.08.2011, 18:12 | Повідомлення № 9 |
Досвідчений учасник
Повідомлень: 1236
| miroslaw, непонятно немного с терминлогией.. Если говорить о 192.168.0.0, то с учетом маски - это адрес подсети, например, 192.168.0.0/24, для адресов хостов отводятся адреса 192.168.0.1-192.168.0.254, а 192.168.0.255 - широковещательный. Вообщем, вы ошибку поняли
|
|
| |
miroslaw |
Дата: Вт, 16.08.2011, 13:14 | Повідомлення № 10 |
Новий користувач
Повідомлень: 5
| Шановний, Andrey123q, дякую за пояснення! Річ в тім, шо на 12 кроці інсталяції (описаної мною вище) я вбив IP : 192.168.0.0, де слід було б: 192.168.0.1, що й прописується у файлі /etc/network/interfaces в параметрах address, network, gateway та dns-nameservers Цікавенні тонкощі!
|
|
| |
Nicola |
Дата: Сб, 27.08.2011, 23:50 | Повідомлення № 11 |
Прописаний назавжди
Повідомлень: 475
| Клас! Треба попробувати. У мене в локалці Денвер під ХР. Раніше Топ Сервер 2 стояв. Але денвер простіше і більше функцій.
|
|
| |
© Форум інформатиків України, 2007-2023.  |