пятница, 6 марта 2009 г.

Linux, Настройка сети через консоль

В общем возникла такая штука - пришлось мне работать с LiveCD дистрибутивами. Да и сейчас я пишу отсюда, ибо свой постоянный комп у меня временно отсутствует.

Появился интересный момент - настройка сети.
Вообще, всегда делал это через конфигураторы графические там, или в /etc/networks гвоздями прибивал настройки.
А вот тут (в LiveCD) надо каждый раз заново делать, да еще не всегда можно файлы сменить, да и конфигураторов может не быть.
И что делать?

Да ничего, как выяснилось - ввести 2 команды :)

1) Поднимаем нужный интерфейс (к примеру, eth0) с нужными адресом и сетевой маской:
ifconfig eth0 address 192.168.0.5 netmask 255.255.255.0 up

2) Добавляем шлюз (gateway):
route add default gw 192.168.0.1
(подразумевается, что 192.168.0.1 это адрес шлюза)

3) Ну и осталось добавить DNS. А вот как - фиг его знает. Кто знает какой командой это сделать - напишите в комментарии.
А вообще, эксперимента ради, стоит найти файл /etc/resolv.conf и отредактировать его, вписав в него DNS адрес(а) в конце. Причём можно попробовать вписать просто адрес. А можно вписать такую строку (так в KDE4.2 SuSeLiveCD):
nameserver *IP*
где вместо *IP* подставить имя DNS-сервера, конечно =)

4) Для счастливых обладателей ip посвящается.
Если у вас нет ifconfig и route, а есть ip (например как в KDE4.2 LiveCD), то тогда делать надо так.

4.1) ip address add dev eth0 192.168.0.1/24 up
где ip надо обязательно вводить с маской именно в этом формате; это мы получаем настройки eth0, как нетрудно догадаться
4.2) ip route add default via 192.168.0.2
ну и эта задает шлюз, причем без поднятого и настроенного eth0 не пашет, что в принципе, логично =)

Если вам помогла эта статья - оставьте комментарий! Они доступны даже не зарегистрированным пользователям.

Linux, Сетевые маски

Вротмненоги!
Кажется я более менее разобрался в сетевых масках. Осталось понять с чем их едят =)

Поэтому сейчас вас ожидает курс молодого бойца по предмету "Сетевые маски" для тех, кто еще не понял как их высчитывать.
Многабуков - запаситесь чаем ;)

Значит сетевая маска (netmask) это такая штука, которая позволяет разделить сеть на подсети для более эффективного их использования.

Начнем с простой и популярной маски для сети класса С:
Сеть \ Маска
192.168.0.0
255.255.255.0

Итак, это сеть компов с адресами от 192.168.0.0 до 192.168.0.255, как несложно догадаться. Сеть, в которой 192.168.0.0 это адрес сети (network), а 192.168.0.255 широковещательный адрес (broadcast). Пример простой, повсеместно использующийся, потому всем понятный.

Усложним задачу:
Сеть \ Маска
192.168.0.0
255.255.255.128

Ага! А вот это уже ДВЕ подсети:
от 192.168.0.0 (network1) до 192.168.0.127 (broadcast1) первая,
и от 192.168.0.128 (network2) до 192.168.0.255 (broadcast2) вторая.

При этом адреса сети и широковещательный - зарезервированы и не подлежат использованию.

Еще усложним задачу:
Сеть \ Маска
192.168.0.0
255.255.255.192

Это четыре подсети:
от 192.168.0.0 (network1) до 192.168.0.63 (broadcast1) первая,
от 192.168.0.64 (network2) до 192.168.0.127 (broadcast2) вторая.
от 192.168.0.128 (network3) до 192.168.0.191 (broadcast3) третья,
и от 192.168.0.192 (network4) до 192.168.0.255 (broadcast4) четвертая.

Как так получается и как узнать кол-во подсетей по маске? Очень просто - надо отнять размер маски от 256 и вы получите размер одной подсети (кол-во подсетей при этом надо считать в голове).

Маска \ размер подсети:
255.255.255.0 -- 256-0 = 256 компов
255.255.255.128 -- 256-128 = 128 компов
255.255.255.192 -- 256-192 = 64 компа
255.255.255.224 -- 256-224 = 32 компов
255.255.255.240 -- 256-240 = 16 компов
255.255.255.248 -- 256-248 = 8 компов
255.255.255.252 -- 256-252 = 4 компа
255.255.255.254 -- 256-254 = 2 компа
255.255.255.255 -- 256-255 = 1 комп
(вроде нигде не ошибся =/)

Маска, как видите, меньше 128 не бывает, потому что кол-во подсетей должно быть кратным 256. Т.е. маска 192.168.0.64 обозначала бы 192 компа, а 256 ровно на 192 че-то как-то не делится :)

Запишем те же маски в том же порядке, но в виде двоичной записи:
255.255.255.0 -- 11111111.11111111.11111111.00000000
255.255.255.128 -- 11111111.11111111.11111111.10000000
255.255.255.192 -- 11111111.11111111.11111111.11000000
255.255.255.224 -- 11111111.11111111.11111111.11100000
255.255.255.240 -- 11111111.11111111.11111111.11110000
255.255.255.248 -- 11111111.11111111.11111111.11111000
255.255.255.252 -- 11111111.11111111.11111111.11111100
255.255.255.254 -- 11111111.11111111.11111111.11111110
255.255.255.255 -- 11111111.11111111.11111111.11111111

Видали фишку? Единички прибавляются по одной слева-направо. А теперь самое интересное, что будет если их посчитать:
255.255.255.0 -- 24
255.255.255.128 -- 25
255.255.255.192 -- 26
255.255.255.224 -- 27
255.255.255.240 -- 28
255.255.255.248 -- 29
255.255.255.252 -- 30
255.255.255.254 -- 31
255.255.255.255 -- 32

Получатся числа, которые часто можно встретить в записях адресов. И значат эти числа простую вещь - кол-во единичек слева направо в маске.
Т.е. зная это число и умея преобразовывать в уме двоичные записи в десятичные - можно вычислить маску. Вот примеры:
8 -- 255.0.0.0
13 -- 255.248.0.0
15 -- 255.254.0.0
18 -- 255.255.192.0

т.е. самый первый пример можно записать как, сеть \ маска:
192.168.0.0 \ 24

где 24 это: 11111111.11111111.11111111.00000000 или 255.255.255.0

Вот такая арифметика ^_^

Ах, да, вот два нюанса:

1) Такие маски как 255.255.192.128 или 255.128.224.0 не допускаются. Т.е. если какое-то число в маске не равно 255., то все остальные числа в маске за ним должны быть равны 0. Т.е. касательно этих двух примеров возможны лишь маски: 255.255.192.0 и 255.128.0.0 соответственно

2) Использовать маску 255.255.255.254 смысла нет, так как это 2 компа, и оба адреса зарезервированы, один под сеть, второй как широковещательный. По крайней мере я так понял

Если вам помогла эта статья - оставьте комментарий! Они доступны даже не зарегистрированным пользователям.