LINUX.ORG.RU

При редактировании /etc/network/interfaces отваливается ssh

 , ,


0

1

Есть raspberry pi zero v1.2 с установленной Raspbian. К ней подключен usb-hub, к которому подключена сетевая карта RTL8152B. Через эту карту карта подключена к роутеру, стационарный ПК также подключен к роутеру.

Мне требуется подключить wi-fi адаптер. Скачиваю драйвер, устанавливаю, он ставится, появляется интерфейс wlan0 при подключенном свистке, все впорядке. Перезагружаюсь, вновь подключаюсь с ПК к плате по ssh

Далее надо отредактировать файл /etc/network/interfaces Изначально в нем:

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

Дописываю:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid "Имя_сети"
wpa-psk "Тут_мой_пароль"

Делаю sudo reboot. После включения платы индикатор свистка мигает, на телефоне (с него раздавал wifi) появилось одно подключенное устройство raspberry. То есть я подключился к Wi-Fi.

Но проблема заключается в том, что теперь я не могу подключиться к плате по ssh. В списке клиентов роутера плата отсутствует, хотя диод на сетевой карте мигает. Как решить данную проблему?

Я не опытный пользователь linux, поэтому могу не знать очевидных вещей по этой теме.

Ответ на: комментарий от zolden

Этот вариант мне не подходит. Мне нужно, чтобы на плате был интернет по Wi-Fi, но сам я к плате подключался бы по ssh по кабелю.

Плату стало не видно в списке клиентов роутера после редактирования конфига независимо от того, воткнут ли в нее свисток.

MaksimIT ()

Подумай логически над тем что ты делаешь.

Изначально, у тебя был пустой файл /etc/network/interfaces и у тебя работала сеть.

Т.е. при пустом файле срабатывала какая-то умолчальная настройка для всех сетевых интерфейсов.

Для всех интерфейсов, в том числе и для проводного подключения запускалась настройка по DHCP.

Далее ты внёс в файл указанные строки и interfaces более не пустой и сеть настраивается ровно так, как ты написал. Ты думал над тем, что написал?

В частности что написано в строке

auto wlan0
?

В ней написано, что нужно при старте автоматически поднимать только устройство wlan0.

Более никакие устройства поднимать не нужно.

Поэтому у тебя сейчас и не поднимается другой сетевой интерфейс.

Опиши и его конфигурацию в файле interfaces и не забудь про lo,

Т.е. твоя конфигурация должна быть примерно такой:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
wpa-ssid "Имя_сети"
wpa-psk "Тут_мой_пароль"

вместо allow-hotplug eth0 можешь написать auto eth0, но первый вариант более правильный.

Только укажи правильно имя проводного сетевого интерфейса.

infomeh ★★ ()
Последнее исправление: infomeh (всего исправлений: 3)
Ответ на: комментарий от infomeh

Спасибо, все получилось! Благодаря совету zolden, я подключил роутер к сети Wi-Fi телефона и смог работать с платой по ssh (хотя для постоянной работы мне это не подходит).

Действительно, eth0 не было в ifconfig, но lo был. Я отредактировал тот конфиг, как вы написали (скопировал без изменений).

Но появилась новая проблема - когда я подключен к плате через роутер по ssh через кабель (роутер на OpenWrt, работает в режиме моста), то на плате интернета нет - как я понял она обращается к роутеру (в консольном выводе в скобках его ip) вместо свистка, подключенного к Wi-Fi телефона, за интернетом. Как это исправить? Если подключаю роутер также к телефону по wi-fi, то интернет идет на плату от свистка.

Вывод (плата подключена к точке Wi-Fi телефона по воздуху и к роутеру по ssh, сам роутер уже подключен к ПК):

pi@raspberrypi:~ $ ping yandex.ru
PING yandex.ru (77.88.55.50) 56(84) bytes of data.
From OpenWrt.lan (192.168.1.2) icmp_seq=1 Destination Net Unreachable
From OpenWrt.lan (192.168.1.2) icmp_seq=2 Destination Net Unreachable
From OpenWrt.lan (192.168.1.2) icmp_seq=3 Destination Net Unreachable
From OpenWrt.lan (192.168.1.2) icmp_seq=4 Destination Net Unreachable

MaksimIT ()
Ответ на: комментарий от MaksimIT

Ты понимаешь как работает маршрутизация и что это такое?

Если у тебя работал internet без wifi раньше, когда ты только был подключен к роутеру, то и сейчас если ты отключишь wifi адаптер и оставишь конфиг interfaces таким как он сейчас есть, разве что можешь закомментироыать блок про wlan0, то после перезапуска internet должен работать.

Далее читай про маршрутизацию.

Если ты в начале подключается по проводу, а потом запускается wifi интерфейс и там получается все по dhcp, то скорее всего переопределяется маршрут по умолчанию.

infomeh ★★ ()
Ответ на: комментарий от MaksimIT

то на плате интернета нет - как я понял она обращается к роутеру (в консольном выводе в скобках его ip) вместо свистка, подключенного к Wi-Fi телефона, за интернетом.

Какие ты длинные предложения строишь. Пиши проще.

Выше правильно сказали, только у тебя немного наоборот.

В начале, скорее всего, получаешь IP по wifi, а потом получаешь параметры от роутера.

Пропиши статические параметры для проводного интерфейса, что бы он не получал параметры по DHCP от роутера, но только не указывай в его настройках шлюз (gateway), а настройки wifi можешь оставить как есть.

IP адрес на проводном интерфейсе пропиши из диапазона адресов сети, что у тебя на роутере.

Вот ссылка на wiki Debian: https://wiki.debian.org/ru/NetworkConfiguration#A.2BBCAEQwRHBD0EPgQ1_.2BBDoEPgQ9BEQEOAQzBEMEQAQ4BEAEPgQyBDAEPQQ4BDU_.2BBDgEPQRCBDUEQAREBDUEOQRBBDA-

gateway на проводном интерфейсе не указывай.

anonymous ()