参考文章:
https://blog.51cto.com/13150617/1963833
旧命令 | 新命令 |
---|---|
net-tools工具箱(ifconfig、route等) | iproute2工具箱(ip等) |
nmcli | |
wireless tools工具集(iwconfig、iwlist、iwspy、iwpriv、ifrename) | iw |
ifup/ifdown/ifquery |
(参考 https://blog.csdn.net/csdn_kou/article/details/90240586#_11)
net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2
作为网络配置工具的一份子,iproute2的出现旨在从功能上取代net-tools。net-tools通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink套接字接口与内核通讯。
假设本机存在一张名字叫wlp1s0的网卡
一、ifconfig
1.ifconfig [-v] [-a] [-s] [interface]
查看网络接口的信息
-v 得到更详细的信息
-a 获取当前可用的所有网络接口,即使是关闭的
-s 获取当前所有接口的简短信息
例:
ifocnifg
ifconifg -a
ifconfig -s
2.ifconfig [-v] interface [aftype] options | address …
更改网络接口的配置
1. 修改网络接口的ip地址
ifconfig interface ip/mask 如:ifconfig wlp1s0 192.168.1.2/24
2. 打开和关闭接口
ifconfig interface up
ifconfig interface down
3. 创建和删除网卡别名
ifconfig wlp1s0:0 192.168.1.2/24
ifconfig wlp1s0:0 down
二、ifup(启用网络接口)/ifdown(关闭某个网络接口)/ifquery(展示接口的配置信息)
最常用的方式是ifup/ifdown/ifquery后直接加接口的名称,这三个命令的参数也大同小异,不常用
(以后详细看ip工具的时候再添加)
三、ip工具
ip可以说是多种子功能的集合,其中有一个对象的概念,每个对象负责一种功能。如ip中的address对象用来查看和配置接口的IP或者IPV6地址;route对象用来查看和配置路由信息;maddress用来查看和配置多播地址,等。
-
ip address
ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ]
[ CONFFLAG-LIST ]
ip address del IFADDR dev IFNAME [mngtmpaddr] -
ip route
四、ubuntu配置/etc/network/interfaces详解(networking服务)
https://blog.csdn.net/mountzf/article/details/52035499
五、NetworkManager
networking和 NetworkManager之间的关系
(参考内容 https://www.cnblogs.com/jins-note/p/10153374.html)
- 首先,当系统内没有第三方网络管理工具(比如nm)时,系统默认使用interfaces文件内的参数进行网络配置。
- 接着,当系统内安装了 nm之后,nm默认接管了系统的网络配置,使用nm 自己的网络配置参数来进行配置。
- 但是,如果用户在安装nm之后(Desktop版本默认安装了nm),自己手动修改了interfaces 文件,那nm 就自动停止对系统网络的管理,系统改使用interfaces 文件内的参数进行网络配置。此时,再去修改nm 内的参数,不影响系统实际的网络配置。
- 若修改interfaces文件后,想重新使用NetworkManager进行网络管理,可以有两种方式,(1)将interfaces文件还原,然后使用systemctl start NetworkManager重启NetworkManager服务;(2)
sudo service network-manager stop # 停止 nm服务
sudo rm /var/lib/NetworkManager/NetworkManager.state # 移除nm 的状态文件
sudo vim /etc/NetworkManager/NetworkManager.conf # 打开nm 的配置文件, 将managed的值改为true
(如果你手工改过 /etc/network/interfaces ,nm会自己把这行改成:managed=false(这里应该默认就是false))
sudo servicenetwork-manager start
systemctl 状态说明
关键字 说明
loaded 单元配置文件已经处理
active(running) 正在通过一个或多个持续进程运行
active(exited) 已成功文成一次性配置
active(waiting) 运行中,正在等待事件
inactive 不在运行
enabled 开机自启动
disabled 开机不会自启动
static 无法启用,但可以由某一启动的单元自动启动