LINUX.ORG.RU
ФорумAdmin

проблема с network scripts


0

0

Дано: РС роутер под RH6.2 с двумя сетевухами ne2000-pci одна из которых (eth0) обязательно должна иметь определенные параметры (эта карта смотрящая в мир - далее гейтвей пропустит пакеты только с ее МАС адресом) Обе карточки находятся во время загрузки и вроде как поднимаются, но реально оказывается поднимается только одна (внешняя), хотя вторая поднимается без проблем вручную ifconfig'ом. Карточки обслуживаются модулем ne2000-pci.o, и поднимаются из conf.modules так: alias eth0 ne2000-pci irq=10 alias eth0 ne2000-pci irq=11 (для пущей уверенности irq карточек залочены за соответствующим слотами в BIOS - так что здесь вроде как проблем нет) При загрузке карточки инициализируются (по крайней мере должны) из /etc/sysconfig/network-scripts/ifcfg-eth0 (для первой) /etc/sysconfig/network-scripts/ifcfg-eth1 (для второй соответственно) #cat ./ifcfg-eth0 DEVICE=eth0 BROADCAST=10.48.0.255 IPADDR=10.48.0.18 NETMASK=255.255.255.0 NETWORK=10.48.0.0 ONBOOT=yes #cat ./ifcfg-eth1 DEVICE=eth1 BROADCAST=192.168.123.255 IPADDR=192.168.123.1 NETMASK=255.255.255.0 NETWORK=192.168.123.0 ONBOOT=yes в /etc/sysconfig/network NETWORKING=yes FORWARD_IPV4=true в итоге при загрузке поднимается eth0 со всеми параметрами прописанными для eth1 Где копать?


По твоему, conf.modules содержит:
alias eth0 ne2000-pci irq=10
alias eth0 ne2000-pci irq=11
т.е. алиас eth0 встречается 2 раза, а eth1 -- ни разу.
И не ндравится мне эта форма записи, посмотри в
/usr/doc/HOWTO/unmaintained/Module-HOWTO, там по другому
рекомендуют, а именно:
alias eth0 ne2000-pci
options ne2000-pci irq=10,11
Да, и когда выводишь сюда содержимое ascii-файла, внизу
есть такая выпадабельная менюха
{Ignore line breaks/User line breaks/...}, пользуй ее, а то
читать немножко неудобно.

anonymous
()

По твоему, conf.modules содержит:
alias eth0 ne2000-pci irq=10
alias eth0 ne2000-pci irq=11
т.е. алиас eth0 встречается 2 раза, а eth1 -- ни разу.
И не ндравится мне эта форма записи, посмотри в
/usr/doc/HOWTO/unmaintained/Module-HOWTO, там по другому
рекомендуют, а именно:
alias eth0 ne2000-pci
options ne2000-pci irq=10,11
Да, и когда выводишь сюда содержимое ascii-файла, внизу
есть такая выпадабельная менюха
{Ignore line breaks/User line breaks/...}, пользуй ее, а то
читать немножко неудобно.

anonymous
()

Это я несколько опечатался набивая -
в conf.modules все прописано правильно - eth0,eth1
кстати, пробовал и старый и новый вид задания параметров - разницы никакой, но старый способ более нагляден

BTW если я скомпилирую ядро с порддержкой ne2000-pci, то как задавать параметры ядру, чтобы устанавливать irq, port, etc... или хотя бы где это искать (FM)?

Проблема в лишь в том, что _автоматически_ поднимается только один интерфейс, и при том с неправильными параметрами

Для читабельности повторю свою мессагу

vmcs
() автор топика

Дано: РС роутер под RH6.2 с двумя сетевухами ne2000-pci
одна из которых (eth0) обязательно должна иметь определенные параметры (эта карта смотрящая в мир - далее гейтвей пропустит пакеты только с ее МАС адресом)

Обе карточки находятся во время загрузки и вроде как поднимаются, но реально оказывается поднимается только одна (внешняя), хотя вторая поднимается без проблем вручную ifconfig'ом.

Карточки обслуживаются модулем ne2000-pci.o, и поднимаются из conf.modules так:
alias eth0 ne2000-pci irq=10
alias eth0 ne2000-pci irq=11
(для пущей уверенности irq карточек залочены за соответствующим слотами в BIOS - так что здесь вроде как проблем нет)

При загрузке карточки инициализируются (по крайней мере должны) из /etc/sysconfig/network-scripts/ifcfg-eth0 (для первой)
/etc/sysconfig/network-scripts/ifcfg-eth1 (для второй соответственно)

#cat ./ifcfg-eth0

DEVICE=eth0
BROADCAST=10.48.0.255
IPADDR=10.48.0.18
NETMASK=255.255.255.0
NETWORK=10.48.0.0
ONBOOT=yes

#cat ./ifcfg-eth1

DEVICE=eth1
BROADCAST=192.168.123.255
IPADDR=192.168.123.1
NETMASK=255.255.255.0
NETWORK=192.168.123.0
ONBOOT=yes

в /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=true

в итоге при загрузке поднимается eth0 со всеми параметрами прописанными для eth1

Где копать?

vmcs
() автор топика

Извиняюсь но выкинули бы вы все эти conf.modules
и писали бы рукаами нормално insmod ... ifconfig
да и гемороя бы было меньше!!!!

Aleks_IZA
()

Открываешь /etc/lilo.conf и прописываешь в лоб (например):
append="ether=10,0xd000,0,0,eth0 ether=9,0xb800,0,0,eth1"

ssv
()

Aleks IZA и ssv -- народ, ну это же все _не совсем правильные_
решения. Надо ведь как по уму, чтобы не было привязки
к каким-то самопальным скриптам, лилу и т.д.
vmcs -- попробуй указать не irq, а io (или как там
эта переменная обзывается).

anonymous
()

указание io не влияет, достаточно в принципе irq.
Дело в том, что мне необходимо указать ip для конкретной карточки, ибо только с нее я могу выйти в инет.
Для этого мне необходимо во время загрузки ее однозначно определить (например как eth0), т.к. только в таком случае я могу привязать к ней сответствующий ip со всем вытекающим...

Тем более, я согласен, что настройка должна производиться родными скриптами OS, ибо только в таком случае сохраняется системность (или систематизированность =).

2ssv: Если скомпилировать ядро с вкомпилированным модулем (не внешним) синтаксис задания параметров для сетевух в lilo.conf останется таким же? И в каком FM описание этого синтаксиса вообще?

vmcs
() автор топика

Ядро установленное по умолчанию в принципе можно не трогать
(все и так работает, но если допекло - то собрать под себя как надо).
Если внимательно читать документацию между строк, то сказано что из
однотипных устройств гарантировано опознается только первое.
У меня стоят 4 карты 3СОМ и однозначно все определяются только:
при корректной привязке в BIOS и прописывании в lilo.conf
- это передается ядру при загрузке (особенно рекомендуется
для не стандартного оборудования)
Может еще повлиять порядок загрузки (например сначала 3С509 потом
3 штуки 3С590)

О ne2000 совместимом:
очень сильно зависит от производителя - могут определяться через раз,
2-я, 3-я карта отваливаться во время работы и т.д.
У меня были проблемы с количеством более одной.
Лучше уж 3СОМ, один раз настроил - и больше не вспоминаешь

А после того как ядро увидело железо - подключаются интерфейсы
из conf.modules:

alias eth0 3c59x
alias eth1 3c59x
alias eth2 3c59x

options eth0 -o 3c59x-0 io=0xd000 irq=10 utp=1
options eth1 -o 3c59x-1 io=0xb800 irq=9 bnc=1
options eth2 -o 3c59x-2 io=0x6300 irq=5 bnc=1

ssv
()

Рискну тем не менее настоять на совете прописать порты. Лучше вместе с irq. Ибо _достаточно_ как раз указание порта.

anonymous
()

не проще ли сделать по-человечески? в /etc/rc.d/rc.local прописать /sbin/ifconfig eth1 A.B.C.D netmask E.F.G.H echo 1 > /proc/sys/net/ipv4/ip_forward а вообще между делом, в редхете так инициализационные скрипты написаны, что и разбираться в них тяжело и долго, и загружается он из-за этого в три раза медленнее чем, скажем, слакварь, никому так не казалось?

anonymous
()
27 декабря 2000 г.

Согласен, слакварь грузиться шустрее и скрипты понятнее. Я из него когда-то мелкого сервака делал. Достаточно быстро. А вот с сетевухами у меня тоже проблема. Их две и нужно кроме того, что настроить их еще и написать сервак который будет слушать eth1, а все остальные сервисы будут работать через eth0. Как вообще в Си слушать eth1?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.