дистр: 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, все без проблем. где собака порылась???
настройка сетефого интерфейса (проблема с маской подсети)
Модератор: Модераторы разделов
-
- Сообщения: 115
- ОС: RHEL 4, FreeBSD 5.x, Slackware
-
- Сообщения: 324
Re: настройка сетефого интерфейса
Боюсь, что собака порылась в понимании "маски"... Вряд ли маска может начинаться с 87...
-
- Сообщения: 1483
- Статус: Участнег
- ОС: Женько и семёрко
-
- Сообщения: 38
- ОС: Gentoo
Re: настройка сетефого интерфейса
у меня брод каст вообще 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
P4 2.8 HT 256 ram ati radeon mobility 9700 128mb 40gb Ubuntu 6.06
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: настройка сетефого интерфейса
Обычно широковещательный IP принято получать путём дизъюнкции дополнения маски с IP хоста, т.е. по-человечески, что-то типа:
broadcast = (~netmask + 1) OR IP
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: настройка сетефого интерфейса
(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
при сбоях форума см.блог
при сбоях форума см.блог
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
- Сообщения: 156
- ОС: Zenwalk Linux, Windows XP
Re: настройка сетефого интерфейса
Я, конечно с практикой этого дела знаком мало, но знаком, и насколько я знаю, маска должна при конъюнкции с 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
TOSHIBA Satellite A100
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
- Сообщения: 115
- ОС: RHEL 4, FreeBSD 5.x, Slackware
Re: настройка сетефого интерфейса
нет, просто действтельно попутал маску сети. а все остальное верно. и бродкаст тоже.

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