IP命令完全可以取代ifconfig命令 甚至更强
ip常用命令格式如下:
ip [ OPTIONS ] OBJECT { COMMAND | help } 对象OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token } 选项OPTIONS={ -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] | -b[atch] [filename] | -rc[vbuf] [size] }常用对象的取值含义如下:
link:网络设备address:设备上的协议(IP或IPv6)地址addrlabel:协议地址选择的标签配置route:路由表条目rule:路由策略数据库中的规则常用选项的取值含义如下:
-V,-Version:显示指令版本信息-s,-stats,statistics:输出详细信息-h,-human,-human-readable:输出人类可读的统计信息和后缀-o,-oneline:将每条记录输出到一行,用‘\’字符替换换行符输出内容详解: 首先这个系统有两个接口:lo和eth0,lo是环回接口,而我们重点关注的则是eth0这个普通网络接口;下面在看看每个子项的含义:
<BROADCAST,MULTICAST,UP,LOWER_UP>:BROADCAST表示该接口支持广播;MULTICAST表示该接口支持多播;UP表示该网络接口已启用;LOWER_UP表示网络电缆已插入,设备已连接至网络 mtu 1500:最大传输单位(数据包大小)为1,500字节 qdisc pfifo_fast:用于数据包排队 state UP:网络接口已启用 qlen 1000:传输队列长度 link/ether 00:1e:4f:c8:43:fc:接口的MAC(硬件)地址 brd ff:ff:ff:ff:ff:ff:广播地址 inet 192.168.0.24/24:IPv4地址 brd 192.168.0.255:广播地址 scope global:全局有效 dynamic enp0s25:地址是动态分配的 valid_lft forever:IPv4地址的有效使用期限 preferred_lft forever:IPv4地址的首选生存期 inet6 fe80::2c8e:1de0:a862:14fd/64:IPv6地址 scope link:仅在此设备上有效 valid_lft forever:IPv6地址的有效使用期限 preferred_lft forever:IPv6地址的首选生存期命令:ip addr add 192.168.0.123/24 dev eth0 说明:设置IP 命令:ip add del 192.168.0.123/24 dev eth0 说明:删除配置的IP
命令:ip link set eth0 up 说明:启用被禁用的网卡
命令:ip link set eth0 down 说明:禁用网卡
命令:ip route show 说明:查看路由信息 输出:
default via 172.17.175.253 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 172.17.160.0/20 dev eth0 proto kernel scope link src 172.17.169.20输出内容详解:
输出内容第一条是默认的路由,我们可以根据我们的需要改动它metric 1002:跳跃计数,确定网关的优先级,默认20,数值越小优先级越高proto kernel:该路由的协议,主要有redirect,kernel,boot,static,ra等,其中kernel指的是直接由核心判断自动设定 命令:ip route get 119.75.216.20 说明:通过IP地址查询路由包从哪条路由来 命令:ip route add default via 192.168.0.150/24 说明:所有的网络数据包都通过192.168.0.150来转发,而不是以前的默认路由 命令:ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3 说明:修改特定网卡的默认路由 命令:ip route del 172.17.160.0/20 说明:删除路由 命令:ip route flush cache 说明:刷新路由表这个系统上的多个接口 - 环回(lo)和网络(eth0 1 2 3)——显示了很多统计数据。 lo 接口显然是环回地址loolback。 我们可以在列表中看到环回 IPv4 地址(127.0.0.1)和环回 IPv6(::1)。 ip 信息的其余部分的翻译:
mtu 1500 最大传输单位(数据包大小)为1,500字节 qdisc pfifo_fast 用于数据包排队 state UP 网络接口已启用 group default 接口组 qlen 1000 传输队列长度 link/ether 00:1e:4f:c8:43:fc 接口的 MAC(硬件)地址 brd ff:ff:ff:ff:ff:ff 广播地址 inet 192.168.1.10/24 IPv4 地址 brd 192.168.0.255 广播地址 scope global 全局有效 dynamic enp0s25 地址是动态分配的 valid_lft 80866sec IPv4 地址的有效使用期限 preferred_lft 80866sec IPv4 地址的首选生存期 inet6 fe80::2c8e:1de0:a862:14fd/64 IPv6 地址 scope link 仅在此设备上有效 valid_lft forever IPv6 地址的有效使用期限 preferred_lft forever IPv6 地址的首选生存期说明:获取一个特定网络接口的信息;在网络接口名字后面添加选项ls即可。使用多个选项-s会输出指定接口详细的信息;特别是在排除网络连接故障时,这会非常有用。
ifconfig 命令提供的一些信息未包含在 ip a 命令的输出中 —— 例如传输数据包的统计信息。 如果您想查看发送和接收的数据包数量以及冲突数量的列表,可以使用以下 ip 命令:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytes packets errors dropped overrun mcast 361849729592 174114258 0 0 0 0 TX: bytes packets errors dropped carrier collsns 361849729592 174114258 0 0 0 0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:16:3e:08:08:55 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 32345193376 115901261 0 0 0 0 TX: bytes packets errors dropped carrier collsns 139742200499 114451909 0 0 0 0输出重点内容详解:
RX:表示接收 TX:表示发送 bytes:接收/发送的字节数 packets:接收/发送的包数 errors:接收/发送的带有错误的包总数 dropped:由于处理资源不足导致接收/发送的丢弃的包数 overrun:因接收溢出(环形缓冲区)导致丢失的包;通常如果接口溢出,则表示内核中存在严重问题,或者说服务器上该网络设备的处理设备太慢 mcast:接收到的多播包数 carrier:因数据链路错误导致发送失败的包数 collsns:因在网络上发送冲突而导致的失败数修改配置文件 /etc/sysconfig/network-scripts/ 目录下的网卡同名文件
DEVICE=eth0 #指出设备名称 NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启 ONBOOT=yes #设置为yes,开机自动启用网络连接 IPADDR=192.168.21.129 #IP地址 BOOTPROTO=none #设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务 NETMASK=255.255.255.0 #子网掩码 DNS1=8.8.8.8 #第一个dns服务器 TYPE=Ethernet #网络类型为:Ethernet GATEWAY=192.168.21.2 #设置网关 DNS2=8.8.4.4 #第二个dns服务器 IPV6INIT=no #禁止IPV6 USERCTL=no #是否允许非root用户控制该设备,设置为no,只能用root用户更改 HWADDR=00:0C:29:2C:E1:0F #网卡的Mac地址 PREFIX=24 NAME=”System eth0″ #定义设备名称TYPE=Ethernet DEVICE=ens33 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.9.129 NETMASK=255.255.255.0 GATEWAY=192.168.21.2 DNS1=8.8.8.8 DNS2=114.114.114.114