天天看点

Linux网络管理--网络管理基本命令

linux中主要使用三类网络管理命令: 1.ifconfig, route和netstat属于传统的功能单一类网络命令; 2.ip和ss属于综合类网络命令; 3.nmcli适用于rhel7中的综合网络命令, 还可以通过配置文件来实现网络管理.

本文主要讲解这三类网络管理命令和相关配置文件.

注: 通过命令修改的网络参数在网络服务重新启动后就会丢失, 只有通过配置文件修改的网络参数才能永久有效.

1-1. ifconfig命令

作用: 查看或配置网络接口参数

格式:

ifconfig [interface] [up|down]       查看指定网络接口参数, 设置网络接口状态

常用选项:

-a: 显示所有网络接口信息

-s: 显示网络接口统计信息

Linux网络管理--网络管理基本命令

默认ifconfig只显示活动网络接口, 不消失关闭网络接口参数

Linux网络管理--网络管理基本命令

ifconfig int address        配置指定网络接口的ip地址

ifconfig int ip/mask 或 ifconfig int ip netmask mask 修改指定设备的ip地址

# 配置ip地址时, 如果掩码使用点分十进制表示就必须使用关键字network

Linux网络管理--网络管理基本命令

1-2. route命令

作用: 查看或配置本机的路由条目

route        查看路由条目

选项:

-n: 对域名不进行解析, 以ip地址进行显示

Linux网络管理--网络管理基本命令

route add -net|-host|default target [netmask mask] [gw gw] [mertic n] [dev int]

route del -net|-host|default target [netmask mask] [gw gw] [dev int]

添加或删除路由条目

主机路由条目时使用关键字-host, 网络路由条目使用关键字-network, 默认路由条目使用关键字default

mertic n: 用于指定路由条目度量值

dev int: 指定出战接口

添加主机路由条目 route add -host 1.1.1.1 gw 10.10.10.1 metric 15 dev eth1

下一跳地址为: 10.10.10.1, 路由条目度量值为15, 出站接口为eth1

网络路由条目 route add -net 3.3.3.0/24 metric 7 dev eth0

度量值为7, 出站接口为eth0

Linux网络管理--网络管理基本命令

删除网络路由条目

Linux网络管理--网络管理基本命令

1-3. netstat命令

作用: 通过指定选项查看本机的网络属性

格式: netstat [options]

-n: 以数字显示ip和端口

-t: 显示tcp连接

-u: 显示udp连接

-l: 处于监听状态端口

-a: 所有状态

-e: 扩展格式

-p: 显示相关进程及pid

-r: 显示内核路由表

-i int: 显示指定接口的统计信息

Linux网络管理--网络管理基本命令

=============================================================

2-1. ip命令

作用: 配置本机的接口状态, 网络参数和路由条目

格式: ip [ options ] object { command | help }

object为link时, 用于配置本机的二层链路属性配置

对应command为:

ip link set device { up | down | arp { on | off }: 设置二层链路接口状态

ip link show [ device ]: 查看设备属性

Linux网络管理--网络管理基本命令

object为address时, 用于设置本机ip地址

ip addr { add | del } ifaddr dev string: 对指定网络接口添加或删除ip地址

ip addr { show | flush } [ dev string ]: 查看或清空指定设备的ip地址

add ip/mask: 为设备添加地址

delete ip: 删除设备配置的地址

flush: 清空指定设备中的配置

show: 查看ip地址配置

通过add命令添加指定ip地址

Linux网络管理--网络管理基本命令

通过flush情况指定网络接口的所有ip地址

Linux网络管理--网络管理基本命令

object为route时, 用于设置本机路由条目

ip route { list | flush } selector: 查看或清空路由条目

ip route { add | del | change | append | replace | monitor } route: 修改路由条目

通过add命令添加路由条目

Linux网络管理--网络管理基本命令

通过change命令修改路由条目

Linux网络管理--网络管理基本命令

2-2. ss命令

作用: 指定选项显示本机的网络参数

# ss命令与netstat命令作用相同, 但是执行效率更高, 系统繁忙时建议使用ss命令

格式: ss [options]

Linux网络管理--网络管理基本命令

3-1. nmcli命令

nmcli命令是在rhel7中对于networkmanager进行管理的命令行工具, nmcli是一个功能强大, 使用灵活的命令, 但是也非常复杂. 这里只对nmcli的connection和device两种对象进行简要介绍.

作用: 用于创建, 显示, 编辑, 删除, 激活和关闭网络连接

格式: nmcli  [ options ] object { command | help }

# nmcli 对于 object 和 command 输入时支持tab补齐功能, 比较人性化, 而且在各级object中都有相应help选项, 在使用时带来了很大便利.

当object为connection时, 

对应command := { show | up | down | add | edit | modify | delete | reload | load }

主要实现对于本地网络连接状态的查看, 管理等操作

通过connection实现对本地网络连接的管理

Linux网络管理--网络管理基本命令

通过modify子命令可以对网络连接的多种参数进行修改

Linux网络管理--网络管理基本命令

当object为device时, 

对应command := { status | show | connect | disconnect | delete | wifi | wimax }

用于对本地网络接口设备实现查看和管理

通过show子命令可以查看网络接口的详细配置信息

Linux网络管理--网络管理基本命令

4. 通过配置文件修改网络参数

4-1. ip地址配置文件: /etc/sysconfig/network-scripts/ifcfg-int

Linux网络管理--网络管理基本命令

字段解释:

# cat ifcfg-eth0

device=        指定设备名称

bootproto=        指定ip地址获取方式: dhcp或static

hwaddr=        指定硬件网卡mac地址

nm_controlled=        nm表示networkmanager脚本, 用来替换network协议

peerdns=        表示如果通过dhcp方式获取ip地址时, 通过服务器收到的dns是否覆盖至dns配置文件中

onboot=           指定是否开机自动启动网卡设备

type=        显示网络接口类型

uuid=        指定设备的uuid

ipv6init=        是否启用ipv6功能

userctl=        指定普通用户是否控制该设备

静态ip地址时需要配置以下字段:

ipaddr=      指明ip地址

netmask=      子网掩码

gateway=         默认网关

dns#=        dns服务器地址, 可以同时配置3个dns服务器地址, 优先级高于/etc/resilov.conf中的dns配置

4-2. 路由配置文件: /etc/sysconfig/network-scripts/route-int

# 配置文件需要手工创建

Linux网络管理--网络管理基本命令

文件格式

1. 单条语句格式

target via gw

ex: 192.168.50.128/28 via 10.10.10.11

2. 每三行定义一条路由

address#=target

netmask#=mask

gateway#=gw

ex: 

address0=192.168.50.128

netmask0=255.255.255.224

gateway0=10.10.10.11

# 同一文件中只能使用一种格式

4-3. dns配置文件: /etc/resolove.conf

Linux网络管理--网络管理基本命令

通过 nameserver dns_ip 来指定dns服务器

本人水平有限, 如有理解不当的地方, 请大家给予指正, 非常感谢!

继续阅读