我正在尝试将运行 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-Fi
ifconfig
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 的界面可能有所不同
在连接到互联网的计算机上,单击面板中的网络图标,然后转到“编辑连接...”在菜单底部。
双击您的有线连接(据我了解,保持您的无线连接不变,一个连接到互联网,另一个连接到您想要共享的连接)。
在“IPv4 设置选项卡”,选择方法:“共享至其他计算机”
通过单击重新连接有线网络,这样它就会获得一个新的 IP 地址。(此步骤必须通过以太网电缆连接两台计算机,因此如果尚未连接,请立即连接。)
点击“连接信息”在网络菜单中写下 IP 地址和网络掩码(在我的情况下它被分配了 10.42.0.1/255.255.255.0 但我不知道是否总是如此)。
在 Raspberry Pi 上
为以太网连接分配静态 IP
在 Pi 中,WiFi 设备称为 wlan,但以太网设备名称很难猜到。要查找设备名称,请使用以下命令:
$ ip 链接显示
输出将显示 Pi 中的以太网设备enxb827eb3d64cc
接下来我们需要找到当前分配给的 IP 地址
enxb827eb3d64cc
:$ ip -4 addr show dev enxb827eb3d64cc | grep inet
我得到的结果类似如下,你的可能有所不同:
inet 10.42.0.211/24 brd 10.42.0.255 scope global enxb827eb3d64cc
您可以保留分配的 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
重新启动 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 的网络管理器除非被禁用,否则倾向于覆盖并重写它)
(或者您决定使用的任何范围,只要确保它们在同一范围内即可)