使用 LAN 电缆连接 PC 和 RaspberryPi

使用 LAN 电缆连接 PC 和 RaspberryPi

我正在尝试将运行 Ubuntu 16.04 的台式机连接到运行 Ubuntu MATE 的 Raspberry Pi3。最终目标是通过为 PC(例如 10.0.0.1)和 Pi(例如 10.0.0.2)分配静态 IP 地址来使用以太网连接进行 ssh。

然后我就可以从 PC 上进行操作了,对吧?我已经使用以太网/局域网电缆连接了 PC 和 Pi。然后我禁用了Raspberry Pi 上的选项,我可以看到它已连接到有线连接 1。在 Raspberry Pi 上运行命令得到:ssh [email protected]Enable Wi-Fiifconfig

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)

然后我打算将 PC 的 IP 地址设置为 192.168.100.2,但即使禁用,它也无法连接到有线连接 1。在 PC 上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)

我被困在这里了。任何指点都将不胜感激。

编辑:ethtool 的输出

在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

在 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

命令输出uname -a

在 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

在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

在 Ubuntu 桌面上

注意:此为 Ubuntu 桌面版。Mate 的界面可能有所不同

  1. 在连接到互联网的计算机上,单击面板中的网络图标,然后转到“编辑连接...”在菜单底部。

    编辑连接...

  2. 双击您的有线连接(据我了解,保持您的无线连接不变,一个连接到互联网,另一个连接到您想要共享的连接)。

    网络连接对话框

  3. “IPv4 设置选项卡”,选择方法:“共享至其他计算机”

    编辑有线连接

  4. 通过单击重新连接有线网络,这样它就会获得一个新的 IP 地址。(此步骤必须通过以太网电缆连接两台计算机,因此如果尚未连接,请立即连接。)

  5. 点击“连接信息”在网络菜单中写下 IP 地址和网络掩码(在我的情况下它被分配了 10.42.0.1/255.255.255.0 但我不知道是否总是如此)。

    连接信息

在 Raspberry Pi 上

为以太网连接分配静态 IP

  1. 在 Pi 中,WiFi 设备称为 wlan,但以太网设备名称很难猜到。要查找设备名称,请使用以下命令:

    $ ip 链接显示

输出将显示 Pi 中的以太网设备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 地址,也可以选择同一子网中的其他 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

如果要分配不同的 IP 地址,请将10.42.0.211上面的内容更改为 x 为 2 至 254 之间的数字。10.42.0.x

  1. 重新启动 Pi 以使新的 IP 地址生效:

    $ sudo 立即重启

现在您应该能够使用ssh以下命令从桌面进入 Pi:

$ ssh [email protected]

希望这可以帮助

答案2

你必须为两端配置静态 IP 地址您打算使用。

PC 的输出ifconfig告诉我接口不是向上并且没有配置IP——我们必须解决这个问题。

为了覆盖我们的基地,你应该确保你的电缆没有问题,你可以ethtool在两侧都这样做

sudo apt-get install ethtool

然后在 Pi 上:

ethtool enxb827eb3d64cc

在 PC 上:

ethtool enp3s0

寻找

Link detected: yes

并确保速度双工两边都一样,对于 Pi 来说应该是这样的

Speed: 100Mb/s
Duplex: Full

现在你可以临时更改你的 IP(不重启安全),使用

ifconfig enp3s0 10.0.0.2 netmask 255.255.255.0 up

在 PC 上,然后在 Pi 上

ifconfig enxb827eb3d64cc 10.0.0.1 netmask 255.255.255.0 up

由于它们都在同一个网络中,因此不需要网关。

一个永久的解决方案是在 GUI 或名为 的配置文件中设置 IP /etc/network/interfaces

这在很大程度上取决于你使用的 GUI,但类似于

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

应该在 PC 和 Pi 上都有

这是一个很好的例子如何设置静态 IP。请记住,您可能必须禁用 GUI 网络设置(即 gnome 的网络管理器除非被禁用,否则倾向于覆盖并重写它)

(或者您决定使用的任何范围,只要确保它们在同一范围内即可)

相关内容