Проблемы с сетью [SOLVED]
fame 31 марта, 2013 - 22:45
Доброго времени суток всем.
Есть мать и 2 порта(eth0 и eth1). Когда устанавливал gentoo в chroot по хендубку настроил сеть.
nano -w /etc/conf.d/net
config_eth0="dhcp"
# cd /etc/init.d
# ln -s net.lo net.eth0
# rc-update add net.eth0 default
После всей настройки я делаю ребут. И мой ifconfig изменился с eth0 и eth1 на enp11s0 и enp13s0.
Это нормально? сеть то поднял dhcpcd enp11s0. Но теперь править /net и вместо eth0 ставить enp11s0?
Не будет ли потом проблемы?
»
- Для комментирования войдите или зарегистрируйтесь
выполни rm
выполни
буду честен, я не знаю, почему у меня все работает
что это мне даст?
что это мне даст?
это удалит правила сетевых
это удалит правила сетевых интерфейсов, согласно которых udev их именует, после перезагрузки системы udev создаст новые.
буду честен, я не знаю, почему у меня все работает
Папка полностью пуста.
Папка rules.d полностью пуста.
Вы читали эту
Вы читали эту /usr/portage/metadata/news/2013-03-29-udev-upgrade/2013-03-29-udev-upgrade.en.txt новость ?
нет.
нет.
А почему? Вам было выведено
А почему? Вам было выведено сообщение о том, что у вас не прочитано некоторое количество новостей с предложением воспользоваться
Если не будете читать новости и уж тем более сообщения portage, выводимые после установки пакета с рекомендациями о действиях, которые нужно выполнить или особенностях какого-то пакета то дело будет плохо, вам будет тяжело управляться с системой.
Та уж подскажите как
Та уж подскажите как поправить, или ссылку для настройки udev.
Пробовал добавить enp11s0 в автозагрузку, но все равно есть проблемы..
Цитата: Та уж подскажите как
Что поправить то? В начале уж определитесь что вы хотите изменить.
Что вы хотите настроить в udev, в указанном файле содержится текст новости по переходу на udev-200 (systemd-200), в котором указаны особенности перехода и как переключить udev на создания имён сетевых устройств в старом формате, а не предсказуемыми именами. Прочитайте, если вам это нужно, тогда делайте то, что указано в новости.
Как добавляли ?
Какие ? Как помогать решать ваши проблемы с настройкой сети, не зная о них ?
Добовлял через
Добовлял через rc-update
rc-update add net.enp11s0 default
Но инет не работал. Убрал и инет сам поднимается. Хм, ладно если работает не трогаю. Еще вопрос нечего страшного что сеть сменилась с eth на enp?
Цитата: Но инет не работал.
А вот это странно. Подробнее что происходит, когда ссылка net.enp11s0 добавлена на уровень запуска ?
А я для кого давал указание где лежит файл с новостью и почему всё это происходит. Нет, ну если вам трудно прочитать что там написано, то вы так и скажите.
cd /etc/init.d ln -s net.lo
cd /etc/init.d
ln -s net.lo net.eth0
rc-update add net.enp11s0 default
После ребут, но хочу немного поправить инет то работал, не работал ssh, т.е. не поднимался.
P.S.Трудно прочитать. Я так понял что нужно какой-то еще пакет добавить?
А вас здесь ln -s net.lo
А вас здесь
ln -s net.lo net.eth0
И здесь
rc-update add net.enp11s0 default
ничего не смущает ?
Чем трудно-то ? Открывайте файл в текстовом редакторе или просто с помощью 'less' и читайте. Либо с помощью
Плохо поняли, читайте ещё раз. Но в начале что вы хотите сделать-то вернуть старые имена сетевых устройств ?
Не правильно инфу суда
Не правильно инфу суда вставил, выполнялось:
ln -s net.lo net.enp11s0
rc-update add net.enp11s0 default
Вот так.
На счет обновление udev. У всех такая херня что переименовалось название сети. Вопрос нахера? У всех дистрибютивов как у нормальных людей - eth. А генту, просто одной картинкой: gentoo
Цитата: Не правильно инфу
Как бы если вы внимательно прочитаете документацию по настройке сети в Gentoo, то увидите, что добавлять на уровень запуска net.enp11s0 не нужно, net.lo и так уже добавлен на уровень запуска, а ссылка на net.lo и является указанием на то, что нужно инициализировать какой-то интерфейс.
Ну т.е. вы не в курсе, что разработчика udev, а по совместительству и разработчики systemd, а кодовые базы udev и systemd объединены решили сделать, что бы имена сетевых устройств именовались по новому. Новый формат имён сетевых устройств был добавлен начиная примерно с udev-197. Во всех остальных дистрибутивах используются более старые версии udev, в Debian вообще стабильной ветке udev-164, а в тестовой udev-175. К примеру в Arch Linux уже используется новый формат имён сетевых устройств.
В Gentoo же вам предоставляется выбор, но что бы его сделать вам нужно читать документацию и новости в частности. Так что, если вам нужен старый формат имён сетевых устройств, то читайте новость и используйте, к примеру, способ указанный в новости, либо можете поступить по другому, удалить правила именования сетевых устройств.
Но если вам сложно читать документацию и разбираться подумайте стоит ли вам использовать Gentoo.
.
Безапелляционность твоих заявлений порой поражает.
Видимо начинают сдавать
Видимо начинают сдавать нервишки...
Вы хотите об этом поговорить
Вы хотите об этом поговорить ?
По сути, да ошибся, попутал малёк.
kostik87 написал(а): Вы
Нет, я ещё подожду...
Ошибаются все. Просто некоторые, помня об этом, не говорят с апломбом истины последней инстанции.
Цитата:не говорят с
Вы что недавно выучили новое для вас слово и / или словосочетание ? Что-то вы часто его стали употреблять, выучите что-либо ещё.
Говоря о чём-либо, если я считаю, что мои слова верны, я, естественно, говорю об этом в определённой форме, но уж чего в моих словах нет, так это уж точно апломба. А вот свои слова вы уж потрудитесь перечитать.
kostik87
Уважаемый kostik87, вы, я смотрю, гений Генту. Неужели тяжело объяснить так, чтобы вас поняли? Или это ваш принцип, корчить из себя умного?
What precisely has changed in v197?
With systemd 197 we have added native support for a number of different naming policies into systemd/udevd proper and made a scheme similar to biosdevname's (but generally more powerful, and closer to kernel-internal device identification schemes) the default. The following different naming schemes for network interfaces are now supported by udev natively:
Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1)
Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)
Names incorporating the interfaces's MAC address (example: enx78e7d1ea46da)
Classic, unpredictable kernel-native ethX naming (example: eth0)
Грубый перевод гласит о том, что имена устройств будут опираться на основании данных БИОС, физического/географического положения, МАС-адреса.
Тем не менее, я столкнулся с фактом, что такое именование (по крайней мере в ядре 3.8.13) не настолько нативное. Интерфейс создается как eth, а затем переименовывается в процессе загрузки (если правильно помню - ядра, это видно в DMESG). Если загружать что-либо более низкого уровня, возникает неприятный конфликт. У меня такое возникло при попытке настройки netconsole, которая загружается на низком уровне и в момент загрузки видит сетевой интерфейс именно как eth а не enp:
1. Если в конфигурации netconsole использовать имя интерфейса как enp, то возникает ошибка несуществующего интерфейса;
2. Если же использовать имя eth, то netconsole преспокойно поднимает этот интерфейс, но блокирует его имя и при дальнейшей загрузке все сервисы, завязанные на имя enp, не поднимаются.
Предлагается следующее решение для сохранения/изменения имен интерфейсов:
You basically have four options:
You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev's rule file for the default policy: ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own udev rules file and set the NAME property for the devices. Make sure to order it before the default policy file, for example by naming it /etc/udev/rules.d/70-my-net-names.rules
You alter the default policy file, for picking a different naming scheme, for example for naming all interface names after their MAC address by default: cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-slot.rules, then edit the file there and change the lines as necessary.
You pass the net.ifnames=0 on the kernel command line (since v199)
Ссылка на статью: http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
Не знаю пока на каком уровне это работает. В общем то, пока колеблюсь, либо переделать все конфигурационные файлы под eth, либо менять настройки согласно приложенному выше.
Цитата: Уважаемый kostik87,
Оратор, я и написал довольно развёрнуто, с указанием причин и следствий сложившейся ситуации, даже указал версии компонентов, в которых произошли изменения. Более подробно описывать смысла не вижу, т.к. найти информацию, а именно изменения, которые произошли в версиях, udev (systemd) в частности не составляет труда. К тому же на любом ресурсе, посвящённом Linux были новости, освещавшие слияние кодовых баз udev и systemd и переход на новый способ именования сетевых устройств. Даже если вопрошающий эти ресурсы не посещал, то сможет с лёгкостью их найти. К тому же, если вы прочитаете сообщения в теме, то увидите, что создавший её не особо удосуживается чтением новостей, подготовленных разработчиками Gentoo, в которых всё ясно изложено, а я не вижу необходимости разжёвывать кому-либо то, что и так уже разжёвано, только прочитай и сделай.
Я тот, кто я есть. Если вы удосужитесь прочитать сообщения выше в этой теме, то увидите, что в них я давал наводку автору темы на информацию, которая поможет ему решить его проблему, которую нужно только прочитать и понять. Но он, особо к этому не стремился.
Ну а что вы хотите, обращайтесь к Поттерингу. Вообще, я думаю "предсказуемые" имена являются таковыми только разработчикам самого udev (systemd), которые сами писали логику именования устройств. Ну а всем прочим, что бы так же всё это понимать нужно читать код udev, относящийся к именованию сетевых устройств. Поэтому я и оставил старую схему именования сетевых устройств, что и вам советую сделать.
Простой способ - это передавать ядру параметр net.ifnames=0, а то после обновления udev (systemd) манипуляции с 80-net-name-slot.rules придётся делать заново, ну или создать свой файл с правилами.
Заметьте все эти сведения есть в новости, ну либо можно получить по ссылку, указанной в новости.
kostik87
Kostik87, вы, несомненно правы, указав что необходимо читать новости, но поверьте, от того, что вы дали ссылки на ряд статей, человеку, который ищет конкретную информацию, никак не легче!
Я обращаю ваше внимание на факт, что требуется НУЖНАЯ информация, а не пачка статей (вполне реально что и ~1000 страниц), из которых нужные сведения необходимо еще вытащить.
Поверьте, сообщество будет вам крайне благодарно, если вы укажете РЕШЕНИЕ проблемы, а уже затем ссылки на статьи.
К тому же, ресурс в числе первых в поисковике, и переходя по ссылке хочется получить ответ на вопрос, а не дальнейший серфинг (на несколько часов).
З.Ы. Я тоже склоняюсь к перманентному выставлению переменной и использованию старого именования, вы подкрепили мой выбор именно этого варианта, спасибо!
Оратор, вы что-то путаете.
Оратор, вы что-то путаете. Ещё раз повторяю, в новости:
Все необходимые данные есть, ещё раз, не вижу смысла повторять то, что и так уже написано. Достаточно только прочитать и сделать. Если бы ТС пришёл с вопросом, на который нет ответа или он не ясен, тогда да, было бы другое изложение.
Как видите, здесь прочитать нужно всего страницу и, возможно, пройтись по паре ссылок в низу страницы, если не стало понятно после прочтения новости, что нужно сделать.
В числе первых есть вывод portage (emerge), в котором выделено цветом указание, что есть столько-то непрочитанных новостей, которые специально для вас написали разработчики (мантейнеры ebuild`а). Нет, ну если вы отказываетесь читать новости, а ТС именно так и поступает, то пользуйтесь поиском в сети.
Ну и всё в таком духе, почитайте сообщения в этой теме выше.
Если вы будете читать новости, то не нужно будет вообще пользоваться поисковиком, и "сёрфить" на несколько часов.
Ещё раз, повторюсь, я не намерен разжёвывать заново информацию, которая и так уже разжёвана в новости разработчиками (мантейнерами ebuild`а). Если кто-то не в состоянии выполнить то, о чём ему сообщает emerge, будь то либо чтение новостей, либо выполнение каких либо действий или установка ещё одного пакета, то пусть этот кто-то пользуется поисковиком и тратит своё время, вместо того, что бы просто взять прочитать вывод emerge, после чего прочитать новость и выполнить рекомендации в ней указанные.
fame написал(а): На счет
Это было ваше личное желание перейти на новое именование сетевых интерфейсов, те кто не хотел продолжают использовать старый метод именования.
Только что посмотрел конфиг,
Только что посмотрел конфиг, забыл добавить =
Сейчас config_enp11s0="dhcp"
Проблема решена.
Не видит ДНС
Поднял сеть, вроде все работает, подключился по SSH и решил проверить
csu ~ # ping www.ru
connect: Network is unreachable
ХМ, посмотрел
csu ~ # cat /etc/resolv.conf
# Generated by dhcpcd from enp1s8
# /etc/resolv.conf.head can replace this line
nameserver 192.168.1.1
nameserver 217.18.138.30
nameserver 217.18.130.30
вроде все ОК, проверяю
csu ~ # ping www.ru
connect: Network is unreachable
Что за мистика и где бубном потрясти ? :-))
Попингуйте ваши DNS сервера.
Попингуйте ваши DNS сервера.
Мой шлюз csu ~ # ping
Мой шлюз
csu ~ # ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=7.89 ms
сервер провайдера
csu ~ # ping 217.18.138.30
connect: Network is unreachable
Ну значит на вашем "шлюзе" не
Ну значит на вашем "шлюзе" не настроен NAT или вы не прописали шлюз в системе, к которой подключились по ssh.
Проверьте доступност dns сервера от google, nameserver 8.8.8.8
Вроде все прописалcsu ~ # (РЕШЕНО)
Вроде все прописал
csu ~ # cat /etc/resolv.conf
# Generated by dhcpcd from enp1s8
# /etc/resolv.conf.head can replace this line
nameserver 192.168.1.1
nameserver 217.18.138.30
nameserver 217.18.130.30
# in /etc/conf.d/net (this file :]!).
config_enp1s8="192.168.1.4 netmask 255.255.255.0 brd 192.168.1.255"
routes_enp1s8="default via 192.168.1.1"
Была ошибка
routes_eth0="default via 192.168.1.1"
2 интерфейса
Решил поднять второй интерфейс
ifconfig enp1s9 192.168.100.1 brd 192.168.1.255 netmask 255.255.255.0 up
все ОК работали оба
прописал
# in /etc/conf.d/net (this file :]!).
config_enp1s8="192.168.1.4 netmask 255.255.255.0 brd 192.168.1.255"
config_enp1s9="192.168.100.1 netmask 255.255.255.0 brd 192.168.100.255"
routes_enp1s8="default via 192.168.1.1"
перезагрузился, пропали оба, где я намутил ?
.
Да ну "пропали"?!?
ifconfig -a
описание скольких (и каких) интерфейсов приводит?:wq
--
Live free or die
Только LO
Только LO
.
Дай угадаю: обновлял в том числе и ядро, квест конфигурирования которого не прошёл и пользовался genkernel'ом в режиме эмуляции ИИ?
:wq
--
Live free or die
Не угадал зашел под SSH
Не угадал
зашел под SSH скофигурировал 2-й интерфейс, проверил все ОК
потом решил скомпилить новое ядро, прописал его в grub.conf вот так
Эта секция работает
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 3.10.7
root (hd0,0)
kernel /boot/kernel-genkernel-3.3.8-gentoo root=/dev/sda3
initrd /boot/initramfs-genkernel-x86-3.3.8-gentoo
А эта нет
title Gentoo Linux 3.10.7 (rescue)
root (hd0,0)
kernel /boot/kernel-3.10.7-gentoo-r1 root=/dev/sda3
но тут понятно чето в настройках ядра намутил,
НО когда загружаю первую секцию интерфейсов не видать только lo