У меня есть эта конфигурация в / etc / network / interfaces :
auto lo
iface lo inet loopback
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan0
#iface wlan0 inet dhcp
iface wlan0 inet static
address 192.168.0.110
netmask 255.255.255.0
network 192.168.0.1
gateway 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
iface eth0 inet static
address 192.168.0.115
netmask 255.255.255.0
network 192.168.0.1
gateway 192.168.0.1
Беспроводной статический IP работал, но eth0 не работал.
Поэтому я попытался сделать конфигурацию в /etc/dhcpcd.conf :
interface eth0
static ip_address=192.168.0.115/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
И это сработало. Я в замешательстве и вот несколько вопросов:
Когда использовать какой файл?
Почему Wi-Fi работает с / etc / network / interfaces, а eth0 - нет?
Имеет ли dhcpcd какой- то приоритет над / etc / network / interface ?
Как проверить, какой сервис имеет приоритет или какой-то? А какой сервис использует / etc / network / interface ?
raspbian
networking
CuriousGuy
источник
источник
#raspbian
. Как многолетний администратор Un * x, я считаю, что это фундаментальное изменение ставит в тупик абсолютную нехватку документации. Мне удалось найти этот вопрос после часа проб и ошибок. Хотел бы я найти raspberrypi.stackexchange.com/questions/37920/… ранееip addr
выход иsystemctl status networking
выход? Потому что, если OP попытался сделать это через ssh и использовать eth0 ip для ssh в, то модифицированный eth0 ip будет назначен как вторичный ip для eth0, чтобы сохранить непрерывный сеанс ssh непрерывным, я попытался изменить eth0 ip в качестве OP упоминается, но sshing через wlan0, и он работает и имеет преимущество перед dhcp, в моем случае это был dhclient на Stretch, но sshing через eth0, имеет место предыдущий упомянутый случай./etc/network/interfaces
настройками.Ответы:
Во всех ответах на этот вопрос есть хорошие моменты, но я думаю, что есть определенные возможности для непосредственного решения ваших конкретных вопросов.
Я собираюсь сделать предположение, что вы страдаете от общей степени путаницы, которая происходит в данный момент (в более широком сообществе Raspberry Pi) с появлением Debian ' Jessie ' вместо Debian 'Wheezy'. Это изменение сделало большое количество учебников в худшем случае устаревшим и в лучшем случае запутанным.
Ответ на этот вопрос заключается в том, что при использовании Wheezy было нормально вносить изменения в
/etc/network/interfaces
файл для настройки сетевых интерфейсов (см. Рисунок). При использовании Jessie необходимо будет внести изменения в /etc/dhcpcd.conf. Однако, еслиwlan0
вы вносите изменения в беспроводное соединение ( ), вам также нужно будет внести изменения, в/etc/wpa_supplicant/wpa_supplicant.conf
которые вы добавляете сетевой ssid и пароль.Я не уверен, как могло работать соединение Wi-Fi, поскольку в ваших файлах отсутствует некоторая информация (по крайней мере, ssid). Как указывал janos, приоритет деталей соединения etho, следующих за деталями wlan0, вероятно, сделал их работоспособными (так как они были бы замечены последним процессом, читающим файл).
Нет, они разные и предназначены для разных целей под Джесси. В целях использования Джесси довольно простым способом вы можете в значительной степени игнорировать
interfaces
файл и работать сdhcpcd.conf
иwpa_supplicant.conf
.Опять же, я сделаю предположение, что вопрос скорее в том, « Какой файл я использую, и нужно ли мне использовать тот, который имеет приоритет? вопрос. Ответ заключается в том, что с переходом с Wheezy на Jessie (и в более широком смысле с принятием systemd ) конфигурация `dhcpcd.conf 'и' wpa_supplicant.conf 'будет нормой, а файл' interfaces 'останется к своим собственным устройствам.
Что это значит для тебя?
Хорошо (опять же) предполагая, что вы пытаетесь настроить проводные (eth0) и беспроводные (wlan0) соединения со статическими IP-адресами, вы хотели бы, чтобы ваш
interfaces
файл был по умолчанию, как он был первоначально установлен;Вы хотели бы, чтобы ваш
dhcpcd.conf
файл включал сведения о соединении в конце файла для обоих интерфейсов, и дополнительные записи, вероятно, выглядели бы примерно так;Наконец, вы хотели бы отредактировать ваш
wpa_supplicant.conf
файл так, чтобы он включал ssid для сети Wi-Fi и пароль. Вероятно, это должно выглядеть примерно так;Я надеюсь, что это покрывает это. Существует очень реальная вероятность того, что мои предположения неверны, но, поскольку я недавно прошел похожую кривую обучения, я надеюсь, что данные полезны.
Я на самом деле написал это, и вы можете получить информацию в бесплатной электронной книге « Достаточно Raspberry Pi» от Leanpub.
источник
Приоритет связан с вашей конфигурацией init или systemd. Что касается dhcp: если у вас есть статически или вручную настроенный интерфейс, и dhcp начинает запрашивать адрес впоследствии, он переопределит то, что у вас уже есть. В Debian dhcp запускается для интерфейсов, для которых вы указываете dhcp, а не только волшебным образом. Если у вас неожиданное поведение, у вас может быть другая система, работающая в фоновом режиме, например NetworkManager.
За точку:
источник
eth0
Интерфейс был , вероятно , не воспитывался при загрузке системы , потому что его нет в списке наauto
линии. Отman interfaces
:Измените эту строку:
К этому:
И тогда это должно работать.
Другие ответы адресовали ваши другие вопросы. Надеюсь, это поможет.
источник
/etc/network/interfaces
, отсутствующий фрагмент был простоauto eth0
и перезапускал сеть или перезагружался!Посмотрите, Как я настраиваю сеть / WiFi / Статический IP для деталей о том, как настроить сеть.
Вы можете использовать более старый
/etc/network/interfaces
метод, если хотите. К сожалению, файл, который вы перечислили, содержит много ошибок. Вы должны придерживаться одной из стандартных конфигураций.Если вы действительно хотите использовать
/etc/network/interfaces
(кроме его по умолчанию), вам нужно будет отключитьdhcpcd
.Объяснение
dhcpcd
этого форума слишком сложное, но ссылка https://wiki.archlinux.org/index.php/dhcpcd содержит хорошее резюме.источник
Сначала
/etc/network/interfaces
верните файл в исходную версию ...Затем сохраните ваши изменения в
/etc/dhcpcd.conf
файле просто и просто для беспроводного ...(внизу файла ...)
/etc/wpa_supplicant/wpa_supplicant.conf
:источник
Имейте в виду, что последняя версия Raspbian Jessie (30.12.2016) содержит ошибку во второй строке файла интерфейсов. Во второй строке отсутствует символ #, который обозначает строку как комментарий. Эта проблема делает файл интерфейсов нечитаемым для системы. Я потратил много часов, пытаясь заставить мой Wi-Fi работать, прежде чем я нашел эту ошибку.
Чтобы это исправить, просто добавьте символ # в начало строки.
источник