понедельник, 13 июля 2009 г.

Настройка домашнего интернета (2)

Ubuntu установилась и перезагрузилась, видим черный экран с мигающим курсором... это хардкорно :)

Немного ликбеза - не считаю себя великим знатоком линукса, несмотря на то, что уже 3-й год им пользуюсь.. знаю только то, что надо знать для моих задач, не больше (но и не меньше), когда не знаю - спрашиваю или ищу (на forum.ubuntu.ru например)

Так что вот что имхо надо знать для начала: консоль; это черное окно с мигающим курсором - это консоль, сюда крутые хацкеры вводят сложные команды, чтобы удаленно заходить на сервера пентагона в поисках военного порно :) В системе ничего сделать нельзя, пока не войдешь в нее - для этого надо имя и пароль. Ввели, если все нормально - можно что-то делать

Например посмотреть - сеть/инет у нас как, есть? Самый простой способ - "попинговать": пишем в консоль
ping google.com ( понятное дело означает "нажали на большую кнопку Enter"):

Прервать вывод этой (и многих других) команд можно нажав сочетание Ctrl+C

Если непонятно, что это за фигня написана, какой-то ping - можно спросить у системы помощь по команде, например введя
man ping


Чтобы выйти из просмотра мануала, нажимаем "q"

Чтобы посмотреть состояние сети, пишем
ifconfig
(ну вообще я запарился добавлять , и так понятно думаю):

Видим странное (если не сказать большего) буквосочетание eth0; не знаю, как это расшифровывается, но обозначает сетевую карту (ethernet наверное, а цифра - номер по порядку, нумерация с нуля)
Хорошо, eth0 есть, а где вторая карта? Видимо отключена (есть еще варианты "не работает", "сгорела от удара молнии" и т.д., но будем надеятся на лучшее); пора "править конфиги" :)

Для правок конфигов я использую текстовый редактор pico; он не самый лучший, я его просто использую и другие не пробовал. Для того, чтобы отредактировать файл, достаточно ввести

pico имя_файла

Это в теории; на практике надо еще знать 2 вещи: про файловую систему и про суперпользователя.

Про файловую систему надо читать отдельно, я только скажу, что она отличается от принятой в виндовс системы именования дисков буквами - тут есть корень файловой системы "/", к которому подключается.. чего только не подключается: жесткие диски, компакт-диски, флешки, образы дисков, удаленные файловые системы.. "Выше" корня (т.е. выше "/") ничего нет - точно так же, как нет ничего выше My Computer в виндовс (хотя сравнение не совсем и правильное)

При загрузке к корню примонтируется раздел /home, где лежат файлы пользователей; для практики можно посмотреть, чего там творится:

cd ~ - cd (от Change Directory) - команда изменения каталога, ~ - ссылка на домашний каталог текущего пользователя
cd .. - перейти на один уровень вверх по дереву каталогов
ls - показать (list) список файлов в каталоге; пока файлов немного

pico new_file - создали новый файл, попишем чего-нибудь в него, чтобы закончить - Ctrl-X, соглашаемся, что хотим сохранить изменения - Yes - не сохраняет? Permission denied?


Это вторая вещь - права; сейчас мы находимся в папке /home и писать просто так сюда текущему пользователю нельзя - не его это папка :)

В свою - пожалуйста, а сюда - нельзя; а как быть, если надо (ну ладно, в /home вряд ли надо кому-то что-то писать, но в папку с системными настройками например)? Для случаев, когда пользователю нужны права "выше среднего", в линухе есть команда sudo - выполнить команду от имени администратора (в виндовс UAC - это что-то типа этого); так что если написать
sudo pico new_file,
в поредактировать что-то и попытаться сохранить - система послушно согласится, что да, имеешь право. Только перед выполнением она спросит пароль текущего пользователя, и если ввести его правильно - все, следующая команда выполнится от имени администратора

Зная это можно покопаться в конфигах наконец.. много конфигов хранится в каталоге /etc:
cd /etc
ls

Что, вылетело много букв и не успели прочитать? Нажимаем одновременно Shift+PgUp/PgDown и просматриваем длинный листинг; можно по другому, с использованием команд less/more:
ls | less - значек "|" перенаправляет вывод одной команды на вход другой; less показывает вывод постранично, по пробелу перелистывает страницу, по q прекращает работу
Вот среди этого разнотравья в папке network лежат настройки сети, посмотрим, чего там написано:
sudo (потому что папка системная, кому попало в нее писать нельзя) /etc/network/interfaces

Чтобы не надрываться вводом длинных имен файлов/папок в командной строке есть фишка для ускоренного ввода - набираем неск. начальных букв, потом нажимаем - система сама попробует подставить нужное имя; если есть конфликты (например в папке лежат file1 и file2), то система подставит только общую часть и покажет варианты, а пользователь решит, что ему надо; так что предыдущую команду можно вводить так:
sudo pico /etc/network/interfaces
Видим, что система настроила только одну сетевую карту.. настроила - громко сказано, все настройки получать от dhcp-сервера; но если сетевая карта подключена к adsl модему, у которого включен dhcp - то зачем все усложнять?..
Настройки второй сетевой карты надо ввести руками; допустим, что внутренняя сеть имеет адреса 192.168.5.*, а именно наш конкретный компьютер как самый главный традиционно получит первый адрес; дописываем (для того и sudo нужно было) в /etc/network/interfaces след. строки:

auto eth1
iface eth1 inet static
address 192.168.5.1
netmask 255.255.255.0

и сохраняем файл; чтобы изменения вступили в силу, надо перезагрузить сетевую подсистему; программы и скрипты часто (может и всегда, не знаю) лежат в /etc/init.d, надо запустить службу networking, для запуска надо иметь права администратора, так что пишем
sudo /etc/init.d networking restart

Проверим (ifconfig) - в выводе должны присутствовать оба сетевых адаптера, второй (eth1) - c заданным нами статическим ip-адресом

Самое время отвернуться от убунту и настроить остальные компьютеры локальной сети; собственно настройка сводится к тому, что в свойствах сетевых карт надо указать:

IP адрес - любой из диапазона 192.168.5.2 - 192.168.5.254
маска подсети - 255.255.255.0
шлюз по умолчанию - 192.168.5.1
адрес dns сервера - 192.168.5.1

Если компьютеров 1-2, то проще один раз дать им статические адреса; а если их больше и не хочется помнить - тогда можно и свой dhcp-сервер поднимать - но не все же сразу
Итак, настроили сетевую карту windows-компьютера, нажали Старт-Выполнить-cmd, ввели

ping 192.168.5.1

и если все нормально - наш интернет-шлюз должен пинговаться! пол-дела уже практически сделано :)

Комментариев нет:

Отправить комментарий