nmcli 配置IP

nmcli是NetworkManager的命令行管理工具。可以通过这个工具来配置网卡和连接。

1. 启动NetworkManager

sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

注意:这个网络管理服务会与 networking 冲突,因此需要先禁用 networking

sudo systemctl stop networking
sudo systemctl disable networking

2. 安装nmcli

sudo apt update
sudo apt install NetworkManager

3. 使用

在树莓派上,通过nmcli修改的连接会报错到这个目录下面:/etc/NetworkManager/system-connections ,修改配置后,需要重启服务,或者重启连接才能生效。建立连接后,可以直接在这个目录的文件中修改配置。

注意事项:

  1. 如使用 sudo nmcli con mod connection1 ipv4.method manual ipv4.addr 192.168.0.100/24 后,这个时候,只是将配置写入到上述目录的配置文件中,还没有生效,因此需要通过以下方法生效:
  • sudo systemctl restart NetworkManager
  • sudo nmcli dev con eth0
  • sudo nmcli con up connection1
    尝试使用 sudo nmcli con reload ,发现并不能使配置生效。
  1. 针对网卡的配置修改是单次有效,并切立即生效的。针对连接的修改,需要重启服务或者连接才能生效。
  2. 如果要修改IP地址,需要将 ipv4.method 属性设置成 manual ,即静态分配IP地址。否则,就算重启了连接还是没有办法修改成功。
  3. IP地址的配置,主要把子网掩码带上。如:192.168.0.11/24 ,不带上子网掩码,很可能造成IP地址配置成功,但是子网掩码默认是 255.255.255.255 的情况,这样会导致连接无法连上路由器网关。即无法 Ping 通路由器。

修改示例:
(1) 修改网卡IP地址(单次有效,服务重启失效):

sudo nmcli dev mod eth0 ipv4.method manual ipv4.addr 192.168.0.116/24

(2) 修改网卡IP地址(下次生效):

sudo nmcli con mod "$(nmcli -t -f DEVICE,NAME c s -a | grep eth0 | awk -F ":" '{print $2}')" ipv4.method manual ipv4.addr 192.168.0.119/24

上述命令只能在下次生效,立即生效请追加下面的命令:

sudo nmcli dev con eth0 
或
sudo nmcli con up "$(nmcli -t -f DEVICE,NAME c s -a | grep eth0 | awk -F ":" '{print $2}')"sudo systemctl restart NetworkManager

也可以指定连接名称来使用上面的命令,nmcli -t -f DEVICE,NAME c s -a | grep eth0 | awk -F ":" '{print $2}' 命令只是为了找出 eth0 网卡对应连接名称。

(3) 连接Wi-Fi

sudo nmcli dev wifi con wifi_name password 12345678

连接后的wifi,如果密码修改,可以使用这个命令更改密码后重连,也可以通过上述nmcli修改连接属性的方式修改密码重连。

删除连接

sudo nmcli con del ens33_con

新建连接

sudo nmcli con add type ethernet ifname ens33 con-name ens33_con

开启DHCP

sudo nmcli con mod ens33_con ipv4.method auto 

你可能感兴趣的:(tcp/ip,网络,智能路由器)