Linux的ip命令让网络配置变得简单

日期: 2016-01-13 作者:Sander van Vugt翻译:肖培庆 来源:TechTarget中国 英文

现在的数据中心内,Windows管理员偶尔也需要处理Linux系统。比如说当一个供应商提供了一款应用,但这款应用需要运行在VM内的Linux OS上。初学者需要知道一些基础的Linux网络配置方法。 在分析Linux的网络配置之前,你首先需要知道目前都在使用什么方法。

Linux的ip命令是其中一种方法,它提供了一系列的选项来查看机器的当前网络配置。 Ip命令需要和参数一起使用才能指明精确的显示内容。使用ip addr可以查看当前的网络;使用ip link可以分析网卡的状态;使用ip route可以查看路由表。所有这些命令都可以和show命令进行搭配。

ip address show(见例1)可以……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

现在的数据中心内,Windows管理员偶尔也需要处理Linux系统。比如说当一个供应商提供了一款应用,但这款应用需要运行在VM内的Linux OS上。初学者需要知道一些基础的Linux网络配置方法。

在分析Linux的网络配置之前,你首先需要知道目前都在使用什么方法。Linux的ip命令是其中一种方法,它提供了一系列的选项来查看机器的当前网络配置。

Ip命令需要和参数一起使用才能指明精确的显示内容。使用ip addr可以查看当前的网络;使用ip link可以分析网卡的状态;使用ip route可以查看路由表。所有这些命令都可以和show命令进行搭配。ip address show(见例1)可以显示当前的IP地址配置;ip link show可以告诉你链路的统计信息;ip route show会显示当前的路由表。

例1:以下的输出展现了使用ip addr show命令来查看当前网卡的IP地址配置

[root@server1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:95:7f:5f brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.210/24 brd 192.168.122.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fd00::210/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe95:7f5f/64 scope link
       valid_lft forever preferred_lft forever

在这个输出内容里面,ip addr show命令展现了你的Linux网络配置中所有接口的信息。例1中展现了两个网卡。lo网卡是它的回环接口,是给进程用来做基于IP协议的通讯的。比较重要的接口是eth0,是这台服务器上第一个以太网接口。你可以从中看到有三个比较重要的信息:MAC地址(用link/ether表示),IPv4地址以及IPv6地址。可以通过验证这些信息来确认是否与你需要使用的一致。

不是所有的Linux系统都会将标准的以太网卡显示为eth0。新的Linux内核会使用biosdevname功能,它会使辨别一张特定的网卡更加容易。设备的名称是唯一的,类似于eno1677736,不过这个命名在不同的Linux系统间也不是标准统一的。因此如果你在其他设备上看到了类似eth0命名的设备,不要惊慌,这是预料中并且是正常的事情。

另一个比较有用的来查看Linux网络配置的命令是ip –s link。这个命令展示了从一个网卡发出去的数据包的统计信息。Linux的ip –s link命令(查看例2)在你遭遇网卡故障并且希望能确保网卡在传输中没有丢包的时候会有帮助。

例2:ip -s link的输出可以让管理员分析网络数据包统计数据

[root@server1 ~]# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    97196      270      0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    97196      270      0       0       0       0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:95:7f:5f brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    71870878   412311   0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    33588506   290604   0       0       0       0

当检查完网络配置之后,可能还需要检查一下路由。可以使用ip route show(见例3)来查看当前的路由表。你将会看到默认路由,它表明了当机器需要访问其他网络的时候需要经过的网关的IP地址。

例3:Linux的ip route show命令可以帮助你检查路由表配置

[root@server1 ~]# ip route show
default via 192.168.122.1 dev eth0  proto static  metric 100
192.168.122.0/24 dev eth0  proto kernel  scope link  src 192.168.122.210  metric 100

那ifconfig呢?

早在10年前,在Linux服务器上使用ifconfig命令查看当前网络信息这种方法已经开始弃用。那使用它有什么不好呢?Linux网络栈已经从全盛时期的ifconfig发生变化了,如果现在还在使用ifconfig,那么你会错过很多信息。随着网络栈的变化,ip命令被引进来管理Linux网络配置的各个方面,而ifconfig命令的开发也再没有继续了。

Linux的ifconfig命令并不准确。举个例子,当管理员希望在网卡上配置额外的IP地址时,如果这个地址是使用ip常规命令配置的,那么你使用ifconfig将看不到这个IP地址。正因为如此,在现在很多Linux发行版本中,ifconfig命令已经不再包含于其中了。

翻译

肖培庆
肖培庆

TechTarget中国兼职翻译

相关推荐

  • 你真的了解Linux命令吗?

    你觉得在网络管理和服务器管理方面对Linux命令的使用已经是专家级别了?去试试这些Linux命令测验来看看你对10个Linux工具的了解程度以及他们的使用案例吧。

  • 六大Linux命令诊断网络连通性

    有不少可用的Linux工具可以协助诊断网络连接失败的情况。下面将介绍故障发生时六个最常用的命令。

  • 九大基础Linux命令 你get了么?

    作为系统管理员必须熟练掌握Linux命令。Linux命令的内容很多,比如Kill命令、lsof命令对于实现对服务器和数据中心的即时管理具有很重要的意义。

  • Linux服务器管理员必备Linux命令TOP5

    作为系统管理员必须熟练掌握Linux命令。Linux命令的内容很多,其中的一些TOP命令对于实现对服务器和数据中心的即时管理具有很重要的意义。