Форум русской поддержки ОС Fedora linux
Всем привет!
Помогите пожалуйста с такой ситуацией:
Установил Fedora 12
Снес NetworkManager
настроил eth0
включил сервис network
сеть нормально работает и нормально подключается при перезагрузке.
Но возникла такая проблема: если отключить и подключить сетевой кабель — сеть отключается и не подключается заново без дополнительных телодвижений. Что делать? На ранних версиях с такой проблемой не сталкивался — все как-то само работало...
Неактивен
Medvedus написал:
Установил Fedora 12
Снес NetworkManager
настроил eth0
включил сервис network
сеть нормально работает и нормально подключается при перезагрузке.
Но возникла такая проблема: если отключить и подключить сетевой кабель — сеть отключается и не подключается заново без дополнительных телодвижений.
У меня возникло два вопроса. Первый по теме — какими телодвижениями сеть удается оживить? А второй не совсем по теме (мне просто интересно) — чем не устраивает NetworkManager?
Неактивен
Mak_s написал:
У меня возникло два вопроса. Первый по теме — какими телодвижениями сеть удается оживить? А второй не совсем по теме (мне просто интересно) — чем не устраивает NetworkManager?
Компьютер без монитора и клавиатуры, поэтому когда сеть пропадает — пропадает полностью контакт с ним
Поэтому из телодвижений пробовал пока только перезагрузку кнопкой питания. Наверно, если передернуть network, то сеть поднимется, но проверить это без клавиатуры не получается. Хотелось бы понять по логам, но даже не знаю, где что искать. в /var/log/messages вроде ничего нового при отключении сети.
NetworkManager не устраивает по той же причине — он для gui в основном, которого по сути нету...
Неактивен
Ух ты, совсем интересно
А если все-таки сделать grep eth0 /var/log/messages
? Может что-то интересное всплывет ?
Еще можно попробовать добавить логов. В /etc/rsyslog.conf есть строчка с kern.*, можно ее раскомментировать, но вместо /dev/console направить в какой-нибудь дополнительный лог.
А еще на всякий случай хотелось бы взглянуть на /etc/sysconfig/network и /etc/sysconfig/network-scripts/ifcfg-eth0
Неактивен
Mak_s написал:
Ух ты, совсем интересно
А если все-таки сделатьgrep eth0 /var/log/messages
? Может что-то интересное всплывет ?
Да что-то не очень...
Вот отключил кабель на 5 секунд:
Jan 26 21:24:27 localhost kernel: atl1c 0000:02:00.0: atl1c: eth0 NIC Link is Down
Jan 26 21:24:33 localhost kernel: atl1c 0000:02:00.0: atl1c: eth0 NIC Link is Up<100 Mbps Full Duplex>
При этом все вернулось в норму, даже соединение ssh не отвалилось.
А вот отключил на минуту примерно:
Jan 26 21:26:11 localhost kernel: atl1c 0000:02:00.0: atl1c: eth0 NIC Link is Down
собственно и все
Mak_s написал:
Еще можно попробовать добавить логов. В /etc/rsyslog.conf есть строчка с kern.*, можно ее раскомментировать, но вместо /dev/console направить в какой-нибудь дополнительный лог.
Это пока не пробовал.
Mak_s написал:
А еще на всякий случай хотелось бы взглянуть на /etc/sysconfig/network и /etc/sysconfig/network-scripts/ifcfg-eth0
Это пожалуйста — очень надеюсь, что дело в них.
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=devserv
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:24:1D:C3:39:24
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.249.199
PREFIX=24
GATEWAY=192.168.249.1
DNS1=192.168.249.1
DEFROUTE=yes
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e23
Сами файлы руками вроде даже не ковырял. Остались сначла от network-managera, а потом system-config-network'ом пересохранил на всякий случай, когда проблема обнаружилась.
Неактивен
Проще пареной репы. Ставишь в cron выполнение каждые пять минут service network start. Если соединение при запуске этого скрипта не восстанавливается. Тогда можно написать что-то посложнее. Скрипт, который запустит ifconfig, грепнет по eth0 и его состоянию и в зависимости от того, чему равна строка со статусом сделает перезапуск соединения (ifdown et0, ifup eth0).
Вобщем разберитесь с кроном и скриптами — полезно.
Неактивен
cepreu написал:
Проще пареной репы. Ставишь в cron выполнение каждые пять минут service network start. Если соединение при запуске этого скрипта не восстанавливается. Тогда можно написать что-то посложнее. Скрипт, который запустит ifconfig, грепнет по eth0 и его состоянию и в зависимости от того, чему равна строка со статусом сделает перезапуск соединения (ifdown et0, ifup eth0).
Вобщем разберитесь с кроном и скриптами — полезно.
Ну это вариант конечно, но это получается заплатка для проблемы, вместо искореннения источника проблемы. Ведь на предыдущем компьютере с федорой8 все как-то работало "изкоробки" без какого-либо дополнительного шаманства и передергивания сервисов из крона. Значит и тут должно работать по идее. Значит просто где-то что-то неправильно настроено. Вопрос — что и где?
Неактивен
Посмотри на предмет наличия у тебя сервиса ifplugd. В описании написано, что именно он отвечает за возобновление соединений после обрыва.
Неактивен
Сервиса такого действительно не было...
Но и установка его не помогла...
Неактивен
С подобной проблемой столкнулся в FC-9. Оказалось, что проблема решается не просто, а очень просто!
В файле описания интерфейса eth0 достаточно дописать строку:
ETHTOOL_OPTS="autoneg on"
Подробное описание подобных переменных дается в документации к пакету initscripts, в файле /usr/share/doc/initscripts-X.X.X/sysconfig.txt
.
Неактивен
fsu написал:
С подобной проблемой столкнулся в FC-9. Оказалось, что проблема решается не просто, а очень просто!
В файле описания интерфейса eth0 достаточно дописать строку:
ETHTOOL_OPTS="autoneg on"
Подробное описание подобных переменных дается в документации к пакету initscripts, в файле/usr/share/doc/initscripts-X.X.X/sysconfig.txt
.
Вот спасибо тебе добрый человек!
Прописывание указанной строчки действительно помогло. Но, как оказалось — проблема решается даже еще проще
В файле /usr/share/doc/initscripts-X.X.X/sysconfig.txt
про опцию ETHTOOL_OPTS="autoneg on"
написано, что она "Deprecated, but still supported". И что подобного типа настройки лучще вообще делать udev-скриптами. Это и навело меня на мысль сравнить директорию udev старого компа и нового. И оказалось, что действительно, в новом по умолчанию почему-то отсутствует скрипт 60-net.rules который этим и занимается.
Так что для решения проблемы, оказывается, нужно было:
cp /lib/udev/rules.d/60-net.rules /etc/udev/rules.d/
Неактивен
Medvedus написал:
fsu написал:
С подобной проблемой столкнулся в FC-9. Оказалось, что проблема решается не просто, а очень просто!
В файле описания интерфейса eth0 достаточно дописать строку:
ETHTOOL_OPTS="autoneg on"
Подробное описание подобных переменных дается в документации к пакету initscripts, в файле/usr/share/doc/initscripts-X.X.X/sysconfig.txt
.Вот спасибо тебе добрый человек!
Прописывание указанной строчки действительно помогло. Но, как оказалось — проблема решается даже еще проще
В файле/usr/share/doc/initscripts-X.X.X/sysconfig.txt
про опциюETHTOOL_OPTS="autoneg on"
написано, что она "Deprecated, but still supported". И что подобного типа настройки лучще вообще делать udev-скриптами. Это и навело меня на мысль сравнить директорию udev старого компа и нового. И оказалось, что действительно, в новом по умолчанию почему-то отсутствует скрипт 60-net.rules который этим и занимается.
Так что для решения проблемы, оказывается, нужно было:
cp /lib/udev/rules.d/60-net.rules /etc/udev/rules.d/
udev-скрипты — это, конечно, здорово, НО...
1) В FC-9 файлик 60-net.rules
изначально расположен в каталоге /etc/udev/rules.d/
, но без опции ETHTOOL_OPTS="autoneg on"
проблема присутствует.
2) Содержимое 60-net.rules
, а также вызываемого из него /etc/sysconfig/network-scripts/net.hotplug
в FC-9 и FC-12 — одинаковое
3) Опции из переменной ETHTOOL_OPTS
используются в скрипте /etc/sysconfig/network-scripts/ifup-eth
при запуске утилиты ethtool
(подробнее — man ethtool
)
Выводы:
Само по себе cp /lib/udev/rules.d/60-net.rules /etc/udev/rules.d/
, ничего не даст, надо будет либо дополнительно редактировать /etc/sysconfig/network-scripts/net.hotplug
в рассчете на применение ethtool
, либо запускать сервис netplugd
, который, собс-но, под эти события udev и заточен.
imho, со скриптами udev слишком много возни, посему проще пользовать ETHTOOL_OPTS
, хоть оно и "Deprecated"
Неактивен