настройка сетефого интерфейса (проблема с маской подсети)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Lazy
Сообщения: 115
ОС: RHEL 4, FreeBSD 5.x, Slackware

настройка сетефого интерфейса

Сообщение Lazy »

дистр: Slackware 10.2, ядро 2.6.16, воткнуты 3 сетевухи.

в /etc/rc.d/rc.inet1.conf все прописано правильно, т.е. такие параметры, какие должны быть. ip адрес 87.x.y.z, маска 87.x.y.c. но в реале по ifconfig'у маска присваивается как сети класса А, т.е. 255.0.0.0.

пробовал вручную: ifconfig eth0 87.x.y.z broadcast 87.x.y.127 netmask 87.x.y.c up

ругается "SIOCSIFNETMASK: Invalid argument". где трабла??? только что поробовал поднять интерфейс с такими же параметрами на rhel4, все без проблем. где собака порылась???
Спасибо сказали:
Igor B.
Сообщения: 324

Re: настройка сетефого интерфейса

Сообщение Igor B. »

Боюсь, что собака порылась в понимании "маски"... Вряд ли маска может начинаться с 87...
Спасибо сказали:
Аватара пользователя
Nightwolf_ng
Сообщения: 1483
Статус: Участнег
ОС: Женько и семёрко

Re: настройка сетефого интерфейса

Сообщение Nightwolf_ng »

Igor B. писал(а):
17.07.2006 15:56
Боюсь, что собака порылась в понимании "маски"... Вряд ли маска может начинаться с 87...

Угу... Маска интересная какая-то... Да и бродкаст тоже... Я б его на 255 закончил... Откуда вообще такие параметры?
Спасибо сказали:
Аватара пользователя
isr.kar
Сообщения: 38
ОС: Gentoo

Re: настройка сетефого интерфейса

Сообщение isr.kar »

у меня брод каст вообще 63 заканчивается=)) на внешнем ип.. такие ип провайдер внешние разрешил... в локалке всё по людски=)
P4 3.2 HT 1024 ram nVidia Geforce 5700 128mb 120 gb Gentoo Linux 2.6.18
P4 2.8 HT 256 ram ati radeon mobility 9700 128mb 40gb Ubuntu 6.06
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: настройка сетефого интерфейса

Сообщение serzh-z »

isr.kar писал(а):
17.07.2006 17:37
у меня брод каст вообще 63 заканчивается=)) на внешнем ип.. такие ип провайдер внешние разрешил... в локалке всё по людски=)
Обычно широковещательный IP принято получать путём дизъюнкции дополнения маски с IP хоста, т.е. по-человечески, что-то типа:

broadcast = (~netmask + 1) OR IP
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: настройка сетефого интерфейса

Сообщение sash-kan »

(serzh-z @ Jul 17 2006, в 17:03) писал(а):broadcast = (~netmask + 1) OR IP

интересный способ.
допустим, у меня ip-адрес 192.168.0.1/255.255.255.0.
в двоичной системе счисления: 11000000.10101000.00000000.00000001/11111111.11111111.11111111.00000000
~netmask = 00000000.00000000.00000000.11111111
~netmask+1 = 00000000.00000000.00000001.00000000
(~netmask+1) or ip = 11000000.10101000.00000001.00000001

или, в традицонной десятично/октетной записи, 192.168.1.1
или я неправильно считаю?
тогда прошу прощения - институтов не кончал (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: настройка сетефого интерфейса

Сообщение serzh-z »

sash-kan писал(а):
17.07.2006 21:03
интересный способ.
Единицу нафиг, сорри за неё. :) Спутал с дополнительным кодом. А так всё, вроде, верно должно быть.
Спасибо сказали:
Аватара пользователя
fatboy
Сообщения: 156
ОС: Zenwalk Linux, Windows XP

Re: настройка сетефого интерфейса

Сообщение fatboy »

isr.kar писал(а):
17.07.2006 17:37
у меня брод каст вообще 63 заканчивается=)) на внешнем ип.. такие ип провайдер внешние разрешил... в локалке всё по людски=)

Я, конечно с практикой этого дела знаком мало, но знаком, и насколько я знаю, маска должна при конъюнкции с IP давать адрес сети. В принципе, 87 AND 87 тоже даст 87 но на сеть даже класса А выделяется весь старший байт, так что чтобы выделить сетевой адрес из IP в этом случае, маска все равно должна начинаться на 255. Если указать в старшем байте меньшее число то это будет значить что Вы собираетесь сделать сеть еще шире чем класса А. Не знаю насколько это возможно, но вполне может быть что ifconfig эту ситуацию и обрабатывает и сообщает что такую сеть привязать к устройству невозможно.

И вот только-что в голову пришло:
Чтобы расширить сеть класса С маску можно установить, например, такой:
255 . 255 . 240 . 0
т.е. в двоичной
--------(1-й)---------(0-й)
[...] . 11110000 . 00000000
Таким образом младшие четыре бита первого байта маски отдаются под номер хоста. При конъюнкции с первым байтом IP они будут занулять его младшие четыре бита и адрес сети в нем будет начинаться только с четвертого.
Для дальнейшего расширения маску можно ставить в:
[...] . 11000000 . 00000000
[...] . 10000000 . 00000000
Арифметика аналогичная.
Но стоит заметить что биты под номер хоста отдаются последовательно, начиная с самого младшего. И это вполне логично так как в IP идет сначала адрес сети а после него номер хоста. Следовательно нельзя отдать под номер хоста несколько бит из середины адреса сети. Устанавливая маску в 87 [01010111] Вы тем самым отдаете под номер хоста биты 7, 5, 3 но за номером сети оставляете биты 0, 1, 2, 4, 6. т.е. младшие за сетью а старшие за хостом. Так, судя по всему, нельзя.
Насчет rhel4 не знаю. ^_^

Все выше написанное - только имхо. Если что-то не так, ногами не пинать.
Zenwalk 4.0
TOSHIBA Satellite A100
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: настройка сетефого интерфейса

Сообщение serzh-z »

fatboy писал(а):
18.07.2006 04:05
И вот только-что в голову пришло:
Зря писали - надо полагать, что автор темы уже забыл про свой вопрос и, как полагается, убежал спрашивать то же самое в другой форум. ;)
Спасибо сказали:
Lazy
Сообщения: 115
ОС: RHEL 4, FreeBSD 5.x, Slackware

Re: настройка сетефого интерфейса

Сообщение Lazy »

serzh-z писал(а):
18.07.2006 13:03
fatboy писал(а):
18.07.2006 04:05

И вот только-что в голову пришло:
Зря писали - надо полагать, что автор темы уже забыл про свой вопрос и, как полагается, убежал спрашивать то же самое в другой форум. ;)


нет, просто действтельно попутал маску сети. а все остальное верно. и бродкаст тоже. :)

p.s. интересно, как тут можно закрыть тему ^_^
p.p.s. по поводу вычисления бродкаство и сете, то в слаке (в rhel4 не нашел) есть /bin/ipmask. B)
Спасибо сказали:
Аватара пользователя
Nightwolf_ng
Сообщения: 1483
Статус: Участнег
ОС: Женько и семёрко

Re: настройка сетефого интерфейса

Сообщение Nightwolf_ng »

Lazy писал(а):
18.07.2006 16:33
p.s. интересно, как тут можно закрыть тему ^_^

[offtop]Попросить модератора или ткнуть кнопочку "Жалоба"...[offtop]
Спасибо сказали: