不论是桌面Linux还是嵌入式Linux,早期的net-tools命令行配置工具已经逐渐被Linux主流发行版所淘汰。也就是ifconfig命令,虽然有些Linux下仍保留这个命令,但已经不作为主流配置工具。作为替代工具的是iproute2工具。这些工具一般只作用于/etc/network/interfaces。

除了配置工具外,主流的Linux发行版一般会有专门的网络管理服务,比如NetworkManager。网络服务替代了Linux的/etc/network/interface配置,因此当系统运行有网络管理服务时,正确的网络操作是去操作NetworkManager的配置,该配置文件是在/etc/NetworkManager/system-connections下。我们可以用命令行nmcli工具或是更改配置文件来更改网络连接设置。

命令行下更改IP地址

可以用交互式或非交互式的nmcli命令来更改网络接口的IP地址。直接输入nmcli命令,可以显示 它所支持的对象和命令,我们最常用的是nmcli connection命令,可以用缩写nmcli c来表示。注意DEY系统默认的eth0对应的是cc6ulsbc pro上的ETH2,也就是板子边缘的那个以太网口。

  • 交互式
nmcli c edit eth0
nmcli> set ipv4.method manual
nmcli> set ipv4.addresses 192.168.42.30/24
nmcli> set ipv4.gateway 192.168.42.1
nmcli> set ipv4.dns 8.8.8.8
nmcli> save
nmcli> quit
nmcli c up eth0
如果要设置dhcp,则
nmcli> set ipv4.method auto
nmcli> set ipv4.dns
输入dns值:
nmcli> set ipv4.gateway
输入默认网关值:
nmcli> save
nmcli> quit
nmcli c up eth0

值得注意的是,iproute2支持网卡配多个IP,因此如果你用nmcli多次配置网口为不同IP,它会忠实地保存到/etc/NetworkManager/system-connections/nm.eth0。而习惯于用ifconfig的命令的用户只会看到address1那行的值。如果您不想设置多个IP,可以把先在nmcli中用remove ipv4.addresses来删除IP. 配置完IP地址后,相应的配置文件也会发生变化。如果您熟练掌握nmcli命令行,也可以一个命令直接设置好IP地址,请自行查阅相关的网络文档。

同样地,我们可以用这种方式配置WiFi。

nmcli dev status
nmcli dev wifi rescan
nmcli dev wifi list

查到wifi的ssid列表后,通常有几种方式配置Wifi,最常用的是

nmcli dev wifi connect myssid -a
把myssid替换为您的热点名称,根据提示输入密码即可

不过,有些特殊的认证和配置可能需要和以太网的交互配置一样去处理

nmcli con edit wlan0
进入交互配置,如果你不懂有什么交互命令,可以用print打印一下,NetworkManager中可以用wifi来代替802.11-wireless属性。
nmcli> set wifi.ssid myssid
nmcli> set wifi-sec.key-mgmt wpa-psk
nmcli> set wifi-sec.psk 12345678
nmcli> save
nmcli>quit

然后重启网卡

nmcli c down wlan0
nmcli c up wlan0

无线网络就可以用了。

如果要配置无线的dns:

nmcli con mod wlan0 ipv4.dns “1.1.1.1”

网络调试诊断相关

网络调试诊断相关

DHCP重新注册 一些公司内使用低端的路由器和交换机,有时在切换网线时,IP并没有马上更新,可以试试用

dhclient -r
dhclient

来重新自动获取IP地址。

重启网络 这取决于网络是由哪个服务管理的,下面这个命令可以重启networkmanager网络服务

/etc/init.d/networkmanager restart