Подключение ПК и RaspberryPi с помощью LAN-кабеля [дубликат]

Я пытаюсь подключить свой рабочий стол под управлением Ubuntu 16.04 к Raspberry Pi3 под управлением Ubuntu MATE. Конечная цель - ssh с помощью Ethernet-соединения, назначив статические IP-адреса ПК (скажем, 10.0.0.1) и Pi (скажем, 10.0.0.2).

Тогда я смогу сделать ssh pi@10.0.0.2 с ПК, верно? Я соединил ПК и Pi с помощью кабеля ethernet/lan. Затем я отключил опцию Включить Wi-Fi на Raspberry Pi и вижу, что он подключен к проводному соединению 1. Выполнение команды ifconfig на Raspberry Pi дает:

pi@pi-desktop:~$ ifconfig 
enxb827eb3d64cc Link encap:Ethernet  HWaddr b8:27:eb:3d:64:cc  
              inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
              inet6 addr: fe80::afe3:308f:92f3:e890/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:662 errors:0 dropped:0 overruns:0 frame:0
              TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:151040 (151.0 KB)  TX bytes:19190 (19.1 KB)

    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:21628 errors:0 dropped:0 overruns:0 frame:0
              TX packets:21628 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1
              RX bytes:1300280 (1.3 MB)  TX bytes:1300280 (1.3 MB)

Затем я планировал установить IP-адрес ПК на 192.168.100.2, но он не подключен к проводному соединению 1 даже при отключенном Enable Wi-Fi. Выполнение ifconfig на ПК дает:

pc@pc-desk:~$ ifconfig
enp3s0    Link encap:Ethernet  HWaddr 74:d4:35:d1:2c:f4  
          inet6 addr: fe80::181f:fbbb:63d2:c4e4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1386 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17736 (17.7 KB)  TX bytes:263114 (263.1 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:9695 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9695 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:845799 (845.7 KB)  TX bytes:845799 (845.7 KB)

Я застрял здесь. Любые подсказки будут высоко оценены.

Edit: Output of ethtool

On PC:

pc@pc-desk:~$ ethtool enp3s0

    Settings for enp3s0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
    Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000033 (51)
                       drv probe ifdown ifup
        Link detected: yes

On Raspberry Pi :

pi@pi-desktop:~$ ethtool enxb827eb3d64cc
Settings for enxb827eb3d64cc:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes

Output of uname -a command:

On Raspberry Pi:

pi@pi-desktop:~$ uname -a
Linux pi-desktop 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l armv7l armv7l GNU/Linux

On PC:

pc@pc-desk:~$ uname -a
Linux pc-desk 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
1
задан 20 January 2018 в 23:01

2 ответа

Вы должны настроить обе стороны со статическими IP-адресами , которые вы намереваетесь использовать.

Вывод ifconfig для ПК говорит мне, что интерфейс не работает и не настроен IP - мы должны это исправить.

Чтобы покрыть наши базы, вы должны убедиться, что ваши кабели в порядке, вы можете сделать это с ethtool с обеих сторон

sudo apt-get install ethtool

, а затем с пи:

ethtool enxb827eb3d64cc

и на ПК:

ethtool enp3s0

Найдите

Link detected: yes

и убедитесь, что скорость и дуплекс одинаковы с обеих сторон , с Pi это должно выглядеть как

Speed: 100Mb/s
Duplex: Full

Теперь вы можете временно изменить свои IP-адреса (небезопасная перезагрузка) с помощью

ifconfig enp3s0 10.0.0.2 netmask 255.255.255.0 up

на ПК и следующих на Pi

ifconfig enxb827eb3d64cc 10.0.0.1 netmask 255.255.255.0 up

Шлюз не нужен, поскольку они оба находятся в одной сети.

Постоянным решением было бы установить IP-адреса либо в графическом интерфейсе, либо в файле конфигурации с именем /etc/network/interfaces.

Это сильно зависит от используемого вами графического интерфейса, но что-то похожее на

Preferences -> Connections->Edit connections->IPv4 settings

должно быть и на ПК, и на Pi

Вот хороший Пример о том, как установить статический IP. Просто имейте в виду, что вам, возможно, придется отключить сетевые настройки графического интерфейса (например, Network Manager gnome имеет тенденцию перезаписывать и переопределять это, если не отключен)

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

1
ответ дан 20 January 2018 в 23:01

На рабочем столе Ubuntu

Примечание. Это для рабочего стола Ubuntu. Интерфейс для Mate может быть другим

  1. На компьютере, который подключен к Интернету, щелкните значок сети на панели и перейдите к «Редактировать подключения. .. " внизу меню.

    Edit Connection...

  2. Дважды щелкните мышью на проводном соединении (оставьте беспроводное соединение без изменений, подключенное к Интернету) и тот, которым ты хочешь поделиться, как я понимаю).

    Network Connections Dialog

  3. На «Вкладке настроек IPv4» выберите метод: «Доступно для другие компьютеры "

    Editing Wired Connection

  4. Переподключитесь, нажав на Проводная сеть , поэтому он получает новый IP-адрес. (Два компьютера должны быть подключены с помощью кабеля Ethernet для этого шага, поэтому подключите их сейчас, если вы этого еще не сделали.)

  5. Нажмите «Информация о соединении» в меню сети и запишите IP-адрес и маску сети (в моем случае ей был назначен 10.42.0.1/255.255.255.0, но я не знаю, так ли это всегда)

    .

    Connection Information

На Raspberry Pi

Назначить статический IP для подключения Ethernet

  1. В Pi устройство WiFi называется wlan, но название устройства Ethernet трудно угадать. Чтобы найти имена устройств, используйте команду:

    $ ip link show

На выходе будет отображаться ваше устройство Ethernet в пи enxb827eb3d64cc

  1. Далее нам нужно найти текущие IP-адреса, назначенные enxb827eb3d64cc:

    $ ip -4 addr show dev enxb827eb3d64cc | grep inet

Я получаю что-то вроде этого, у вас может быть другое:

inet 10.42.0.211/24 brd 10.42.0.255 scope global enxb827eb3d64cc
  1. Вы можете сохранить назначенный IP-адрес или выбрать другой в той же подсети. Добавьте следующие строки в конец /etc/dhcpcd.conf:

    $ sudo nano /etc/dhcpcd.conf

со следующим содержанием, чтобы сделать статический IP-адрес:

# Custom static IP address for enxb827eb3d64cc
interface enxb827eb3d64cc
static ip_address=10.42.0.211/24
static routers=10.42.0.255
static domain_name_servers=10.42.0.255

Измените 10.42.0.211 выше на 10.42.0.x, где x - это число от 2 до 254, если вы хотите назначить другой IP-адрес.

  1. Перезагрузите Pi, чтобы новый IP-адрес вступил в силу:

    $ sudo reboot now

Теперь вы должны иметь возможность ssh с рабочего стола на Pi с помощью следующей команды:

$ ssh pi@10.42.0.211

Надеюсь, это поможет

1
ответ дан 20 January 2018 в 23:01

Другие вопросы по тегам:

Похожие вопросы: