ip 命令的功能很多,基本上它整合了 ifconfig 与 route 这两个命令,不过ip 的功能更强大!
1 | [root@linux ~]# ip [option] [动作] [命令] |
关于设备(device) 的相关设定: ip link
ip link 可以设定与设备 (device) 有关的相关设定,包括 MTU 以及该网络设备的 MAC 等等, 当然也可以启动 (up) 或关闭 (down) 某个网络设备。整个语法是这样的:
1 | [root@linux ~]# ip [-s] link show <== 单纯的查阅该设备相关的信息 |
范例一:显示出所有的设备信息
1 | [root@linux ~]# ip link show |
使用 ip link show 可以显示出整个设备的硬件相关信息,如上所示,包括 MAC地址、MTU等等, 比较有趣的应该是那个 sit0 的设备了,那个 sit0 的设备是将IPv4 和 IPv6 的封包进行转换, 对于我们仅使用 IPv4 的网络是没有作用的。 lo 及 sit0 都是主机内部自行设定的。 而如果加上 -s 的参数后,则这个网卡的相关统计信息就会被列出来, 包括接收 (RX) 及传送 (TX) 的封包数量等等,详细的内容与 ifconfig 所输出的结果相同。
范例二:启动、关闭与设定设备的相关信息
1 | [root@linux ~]# ip link set eth0 up |
范例三:修改网卡代号、MAC 等参数
1 | [root@linux ~]# ip link set eth0 name vbird |
IP 相关设定: ip address
如果说 ip link 是与 OSI 七层模型的第二层数据链路层有关的话,那么 ip address (ip addr) 就是与第三层网络层有关的了。主要是在设定与 IP 有关的各项参数,包括 netmask, broadcast 等等。
1 | [root@linux ~]# ip address show <==查看IP参数 |
范例一:显示出所有设备的 IP 参数:
1 | [root@linux ~]# ip address show |
范例二:新增一个设备,名称假设为 eth0:vbird
1 | [root@linux ~]# ip address add 192.168.50.50/24 broadcast + / |
范例三:将刚刚的设备删除
1 | [root@linux ~]# ip address del 192.168.50.50/24 dev eth0 |
路由的设定: ip route
这个项目就是路由的查看与设定。事实上ip route 的功能几乎与 route 这个命令一样,但是,它还可以进行额外的参数设置,例如 MTU 的规划等等,相当的强悍啊!
1 | [root@linux ~]# ip route show <==单纯的显示出路由的设定 |
范例一:显示出目前的路由资料
1 | [root@linux ~]# ip route show |
范例二:增加路由,主要是本机直接可沟通的网域
1 | [root@linux ~]# ip route add 192.168.5.0/24 dev eth0 |
范例三:增加可以通往外部的路由,需透过 router ;
1 | [root@linux ~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0 |
范例四:增加预设路由1
2
3[root@linux ~]# ip route add default via 192.168.1.2 dev eth0
# 那个 192.168.1.2 就是我的预设路由器(gateway);
范例五:删除路由
[root@linux ~]# ip route del 192.168.10.0/24
[root@linux ~]# ip route del 192.168.5.0/24
总结
使用 ifconfig, ifup , ifdown 与 route 即可, 等以后有经验了之后,再继续回来玩 ip 这个好玩的命令吧!有兴趣的话,也可以自行参考 ethtool 这个命令!