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

  • cortex3564
  • LV0工程师
  • |      2016-01-14 11:42:32
  • 浏览量 460
  • 回复:0


现在的数据中心内,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地址配置

<><># 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

2: eth0: 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

inet6 fd00::210/64 scope global

inet6 fe80::5054:ff:fe95:7f5f/64 scope link

在这个输出内容里面,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的输出可以让管理员分析网络数据包统计数据

# ip -s link

1: lo: 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

2: eth0:  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

71870878 412311 0 0 0 0

33588506 290604 0 0 0 0

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

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

<><># 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命令已经不再包含于其中了。

 

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子