Проблемы с сетью [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 страниц), из которых нужные сведения необходимо еще вытащить.
Поверьте, сообщество будет вам крайне благодарно, если вы укажете РЕШЕНИЕ проблемы, а уже затем ссылки на статьи.
К тому же, ресурс в числе первых в поисковике, и переходя по ссылке хочется получить ответ на вопрос, а не дальнейший серфинг (на несколько часов).
З.Ы. Я тоже склоняюсь к перманентному выставлению переменной и использованию старого именования, вы подкрепили мой выбор именно этого варианта, спасибо!
Оратор, вы что-то путаете.
Оратор, вы что-то путаете. Ещё раз повторяю, в новости:
2013-03-29-udev-upgrade Title Upgrading udev to version >=200 Author Samuli Suominen <ssuominen@gentoo.org> Posted 2013-03-29 Revision 2 This replaces the earlier news item about the udev 197 upgrade and describes the predictable network interface names in more detail. If you skip anything in this news item, your system will not be bootable, or your networking will be down, or both. Pay attention also to every message printed by emerge of sys-fs/udev and sys-fs/udev-init-scripts as this news item may not be complete. 1. udev-postmount init script: Remove the udev-postmount init script from your runlevels. 2. devtmpfs support: You need at least version 2.6.32 of the kernel for devtmpfs functionality. Once you have this, make sure CONFIG_DEVTMPFS=y is set in the kernel configuration. See the gentoo udev guide for the option in make menuconfig [1]. If you have a line for /dev in /etc/fstab, make sure it is configured for file system type devtmpfs (not tmpfs or any other type). Also, you can remove this line if you prefer, since devtmpfs is mounted automatically. 3. Old interface naming rules: If the system still has old network interface renaming rules in /etc/udev/rules.d, like 70-persistent-net.rules, those will need to be either modified or removed. If you choose to modify them, you must use free namespace (like net* or internet*) instead of kernel namespace (like eth* or wlan*) because in-place renaming has been deprecated, see small documentation of it if you like[2]. The file 70-persistent-net.rules, like the 70-persistent-cd.rules should be removed, so if you modify, rename the file also to something else like 70-my-network.rules to silence the deprecation warning coming from the end of the sys-fs/udev emerge. This is the old format with reserved namespace: SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy", NAME="eth1" This is the new format with free namespace: SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="net0" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy", NAME="net1" 4. predictable network interface names: If /etc/udev/rules.d/80-net-name-slot.rules is an empty file or a symlink to /dev/null, the new names will be disabled and the kernel will do all the interface naming, and the resulting names may vary by kernel configuration, hardware configuration and kernel version. Also, the forementioned old 70-persistent-net.rules might interfere with the new predictable interface names. You can get attributes of your network interfaces using a command like the following (replace eth0 with the name of the appropriate interface): # udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null You can copy /lib/udev/rules.d/80-net-name-slot.rules to /etc/udev/rules.d and specify the attributes and in which order they will be used for naming. See upstream wiki[3] for detailed list of options. You can prepare the system for the new names before booting for example by renaming /etc/init.d/net.* symlinks, editing /etc/conf.d/net, etc. The feature can also be completely disabled using net.ifnames=0 on the kernel command line. If you only have one interface card, you don't necessarily have much use for this feature as the name almost always stays at eth0, you can easily disable it using forementioned methods. This feature can also replace the functionality of sys-apps/biosdevname, but you can still keep using it if you want. In a normal new installation there are no files in /etc/udev/rules.d and if you haven't edited any files you have in there, you should most likely backup and delete them all if they don't belong to any packages. The official wiki has a dedicated page for udev upgrade notes[4]. [1] http://www.gentoo.org/doc/en/udev-guide.xml [2] http://www.kernel.org/doc/htmldocs/device-drivers/API-device-rename.html [3] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames [4] http://wiki.gentoo.org/wiki/Udev/upgradeВсе необходимые данные есть, ещё раз, не вижу смысла повторять то, что и так уже написано. Достаточно только прочитать и сделать. Если бы ТС пришёл с вопросом, на который нет ответа или он не ясен, тогда да, было бы другое изложение.
Как видите, здесь прочитать нужно всего страницу и, возможно, пройтись по паре ссылок в низу страницы, если не стало понятно после прочтения новости, что нужно сделать.
В числе первых есть вывод 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