• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Linux网络管理相关命令

网络服务 彭东稳 8年前 (2016-03-28) 20703次浏览 已收录 0个评论

网络管理命令套件

在Linux下提供了两套网络管理命令套件,一种是net-tools,一种是iproute2。先提供一种图展示一下net-tools跟iproute2各自提供的网络基础管理命令。

Linux网络管理相关命令

Net-tools 包含一系列程序,构成了 Linux 网络的基础。如今许多系统管理员仍结合使用ifconfig、route、arp和netstat等命令行工具(它们统称为net-tools),管理和排查各种网络配置。这类工具原先起源于BSD TCP/IP工具箱,旨在配置老式Linux内核的网络功能。自2001年以后,它在Linux社区的发展就止步不前了。Arch Linux和CentOS/RHEL 7等一些Linux发行版已经弃用了net-tools,其他发行版计划弃用net-tools,改而使用iproute2。

iproute2是另一个系列的网络配置工具,它旨在取代net-tools的功能。net-tools可以通过procfs(/proc)和ioctl系统调用,访问和更改内核网络配置,iproute2则通过网络链路套接字接口与内核进行联系。/proc接口比网络链路接口来得更笨拙。抛开性能不讲,iproute2的用户界面比net-tools的用户界面要来得直观。比如说,网络资源(比如链路、IP地址、路由和隧道等)用“对象”抽象进行了恰当的定义,你可以使用一致的语法来管理不同的对象。最重要的是,迄今为止iproute2一直在积极开发当中。

如果你仍在使用net-tools,是时候改用iproute2了,如果你想跟上Linux内核的最新最好的网络功能特性,更是如此。很可能有好多操作可以用iproute2来实现,却无法用net-tools来实现,无论是基于源的路由、服务质量、虚拟局域网(VLAN)、绑定,还是网桥其他什么操作。另外值得一提的是,网络管理器等更高级网络配置工具依赖iproute2。另外在CentOS7中如果你默认最小化安装系统,那么则不会提供net-tools套件而是直接使用iproute2套件,预示着什么你懂得?

安装及内置命令查看

net-tools

iproute2

net-tools套件网络管理命令

ifconfig:用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。

[网络设备]

网络设备就是你要设置的网卡名称,如eth0、eth1等。

[可选参数]

示例

arp:显示和修改“地址解析协议 (ARP)”缓存中的项目。

显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。

[OPTIONS]

示例

route:用于显示和操作IP路由表。

Route命令是用于操作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0。当使用”add”或者”del”参数时,路由表被修改,如果没有参数,则显示路由表当前的内容。

[OPTIONS] 

[CMD]

示例

1)查看本机路由信息以数字显示

2)添加一条默认路由,临时生效

3)删除一条路由

对于路由想要设置长久有效,可以在设置IP地址的文件中添加一个网关,或者可以创建一个文件,用于保存路由信息永久生效。文件的创建与格式如下:

netstat:用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

[OPTIONS]

示例

iproute2套件网络管理命令

ip:支持设置IP、路由、策略路由,监控等。

Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools套件中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。目前在大多数Linux发行版中已经预装了iproute2套件,以及ifconfig套件,命令都可以使用。但最好还是学习iproute2套件,以后的趋势。CentOS7目前最小化安装系统以及不支持net-tools套件了,需要自己手动安装。

下面简单介绍ip命令的使用:

[OPTIONS] { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |-f[amily] { inet | inet6 | ipx | dnet | bridge | link } |-o[neline] | -t[imestamp] | -b[atch] [filename] |-rc[vbuf] [size]}

OBJECT { link | addr | addrlabel | route | rule | neigh | ntable |tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |netns | l2tp | tcp_metrics | token | netconf }

link:网络接口属性

addr:协议地址,此命令等于net-tools提供的ifconfig命令

route:路由管理,此命令等于net-tools提供的route命令

neigh:查看ARP条目,此命令类似net-tools提供的arp命令

PS:上面介绍了一些常用对象,更多的一些对象自行查看帮助,对于你不清楚的指令,直接使用ip help查看帮助,也可以针对某个单独指令查看帮助,如ip link help。

ss:获取网络连接统计信息,此命令类似于netstat命令。

ss(Socket Statistics的缩写)命令可以用来获取socket统计信息,此命令输出的结果类似于netstat输出的内容,但它能显示更多更详细的TCP连接状态的信息,且比netstat更快速高效。它使用了TCP协议栈中tcp_diag(是一个用于分析统计的模块),能直接从获得第一手内核信息,这就使得ss命令快捷高效。在没有tcp_diag,ss也可以正常运行。

实例1:显示所有established网络连接

实例2:显示所有网络连接的状态信息

其他实用网络管理命令

nload:对网卡流量做监控的工具

iftop:对流量详细情况做实时监控的工具

iperf:网络性能评估工具

iperf是一个基于TCP/IP和UDP/IP的网络性能测试工具,它可以用来测量网络带宽和网络质量,还可以提供网络延迟抖动、数据包丢失率、最大传输单元等统计信息。系统管理人员可以根据这些信息从而定位网络问题。

安装

使用方式

要使用iperf,首先启动一个服务器端,这里假定服务器端的IP地址为192.168.10.1,在此服务器上运行“iperf3 -s”即可启动iperf的服务器端模式。并打开端口5201。此时就可以在任意另一台服务器作为客户端执行iperf功能。以此来测试。

 


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!