前言
通过在本子网内逐一搜索获得IP来连接开发板这一方法实在效率低下,当开发板在手的时候,设置以太网静态IP可以便捷地通过以太网私有IP地址连接开发板。以下给出具体步骤。
设置步骤
PC端设置(Windows为例)
通过网线连接后,一般来说对应的网络适配器是以太网。我们需要修改网络适配器的属性,从而实现静态IP。
-
在任务栏的搜索框中输入“管理网络适配器设置”,并进入设置页面。

或者打开“设置”——“网络和Internet”——“高级网络设置”
-
找到当前的WLAN,编辑网络适配器属性,打开共享功能,并设置共享连接的网络适配器为“以太网”:
-
找到最下面的“以太网”,编辑网络适配器属性(下图中,找到“更多适配器选项”,点击“编辑”):

找到下图所示的IPv4功能,双击打开:
设置成上图这样,点“确定”保存。
实际上,应该只需要把Windows端的IP设置成同一网段的IP就可以?
实际上先设置好WLAN的共享,打开后好像是会自动变成上图这样?如果已经变成这样,不要动,直接退出;如果仍然显示自动获得,可以直接尝试ssh连接试一下,如果不好使再调整。
这下个人电脑这边就好了,剩下需要调整开发板。
开发板设置
已经提前设置好,这一部分无需远程用户操作。项目中运维负责人需要注意。
静态IP设置
实际上,就是通过以下两条命令来设置网关地址和静态IP地址,并把它加入到开机自动执行的命令里(/etc/profile):
1 2
| ifconfig eth0 192.168.137.30 up route add default gw 192.168.137.1
|
实际使用时会遇到权限问题,这时候可以通过设置setuid权限位来解决特定命令的权限问题。具体来说,执行以下命令:
1 2
| sudo chmod u+s /usr/sbin/ifconfig sudo chmod u+s /usr/sbin/route
|
或者也可以通过修改sudoers文件来实现,但是在这个板子上似乎并不好使,暂不清楚缘由。
所以,现在这个板子在通过网线和电脑直连时,以太网的IPv4地址是192.168.137.30,默认网关是192.168.137.1。
解决nmcli自动管理与以上设置冲突的问题
实际连接中会发现,按照以上方法设置开发板虽然在每次开机时可以顺利进入,但是过了一小会就会自动断开连接,并且按照原IP输入重新尝试连接时不成功。经过检查后,发现是因为Network Manager默认会自动配置以太网的IP,所以就会出现当它重新配置IP后导致SSH连接失效的问题。以下给出解决方案。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| (base) root@orangepiaipro:~# nmcli eth0: connected to Wired connection 1 "eth0" ethernet (hns3-platform), C0:74:2B:FD:DA:7C, hw, mtu 1500 ip4 default inet4 192.168.137.118/24 route4 192.168.137.0/24 metric 100 route4 default via 192.168.137.1 metric 100 inet6 fe80::5ee1:4c5d:b5b:38fa/64 route6 fe80::/64 metric 1024
ztksezojiz: connected (externally) to ztksezojiz "ztksezojiz" tun, F6:73:45:D2:49:36, sw, mtu 2800 inet4 10.147.19.148/24 route4 10.147.19.0/24 metric 0 inet6 fe80::f473:45ff:fed2:4936/64 route6 fe80::/64 metric 256
wlan0: connected to HUAZHU-Hanting "Realtek Wi-Fi" wifi (rtl8821cu), 28:F5:2B:A7:BA:FC, hw, mtu 1500 inet4 192.168.51.66/20 route4 192.168.48.0/20 metric 600 route4 default via 192.168.50.254 metric 600 inet6 fe80::9fa0:1515:8e49:293a/64 route6 fe80::/64 metric 1024
docker0: connected (externally) to docker0 "docker0" bridge, 4E:DF:DB:0D:51:05, sw, mtu 1500 inet4 172.17.0.1/16 route4 172.17.0.0/16 metric 0
p2p-dev-wlan0: disconnected "p2p-dev-wlan0" wifi-p2p, hw
bond0: unmanaged "bond0" bond, 7A:9D:C3:16:FE:49, sw, mtu 1500
lo: unmanaged "lo" loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
DNS configuration: servers: 192.168.137.1 domains: mshome.net interface: eth0
servers: 210.22.70.3 210.22.84.3
(base) root@orangepiaipro:~# nmcli con show "Wired connection 1" connection.id: Wired connection 1 connection.uuid: da58fe05-e694-3bc2-a263-10aa9038fa98 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: eth0 connection.autoconnect: yes connection.autoconnect-priority: -999 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.timestamp: 1754714736 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: default connection.mdns: -1 (default) connection.llmnr: -1 (default) connection.dns-over-tls: -1 (default) connection.wait-device-timeout: -1 802-3-ethernet.port: -- 802-3-ethernet.speed: 0 802-3-ethernet.duplex: -- 802-3-ethernet.auto-negotiate: no 802-3-ethernet.mac-address: -- 802-3-ethernet.cloned-mac-address: -- 802-3-ethernet.generate-mac-address-mask:-- 802-3-ethernet.mac-address-blacklist: -- 802-3-ethernet.mtu: auto 802-3-ethernet.s390-subchannels: -- 802-3-ethernet.s390-nettype: -- 802-3-ethernet.s390-options: -- 802-3-ethernet.wake-on-lan: default 802-3-ethernet.wake-on-lan-password: -- 802-3-ethernet.accept-all-mac-addresses:-1 (default) ipv4.method: auto ipv4.dns: -- ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 0 ipv4.addresses: -- ipv4.gateway: -- ipv4.routes: -- ipv4.route-metric: -1 ipv4.route-table: 0 (unspec) ipv4.routing-rules: -- (base) root@orangepiaipro:~# nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.137.30/24 ipv4.gateway 192.168.137.1 (base) root@orangepiaipro:~# nmcli con mod "Wired connection 1" ipv4.dns "114.114.114.114 8.8.8.8" (base) root@orangepiaipro:~# nmcli con down "Wired connection 1" && nmcli con up "Wired connection 1" Connection 'Wired connection 1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/154) Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/155)
|
按照以上步骤配置,就能重新使用SSH连接了。
连接
使用MobaXterm
测试是否能正常上网:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| (base) HwHiAiUser@orangepiaipro:~$ curl baidu.com <html> <meta http-equiv="refresh" content="0;url=http://www.baidu.com/"> </html> (base) HwHiAiUser@orangepiaipro:~$ clashon [sudo] password for HwHiAiUser: 😼 已开启代理环境 (base) HwHiAiUser@orangepiaipro:~$ curl google.com <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML> (base) HwHiAiUser@orangepiaipro:~$
|
一切正常!
使用VSCode
输入ssh HwHiAiUser@192.168.137.30 -p22后,进入连接:


成功!