工作中会遇到管理linux网络的问题,比如:查看和设置IP地址、路由、DNS等方面的问题,本文介绍一下管理linux网络的几个相关工具,并介绍其用法:

      ifconfig:显示或设置网卡接口信息;

      命令格式:ifconfig[网络设备] [参数]

           ifconfig不加任何参数,默认输出激活网卡的信息:

                 spacer.gif

                 参数:

                      -a 显示全部接口信息

spacer.gif

                      up 启动指定网络设备/网卡。

                            spacer.gif表示开启ens33网卡接口

                      down 关闭指定网络设备/网卡。

                            spacer.gif表示关闭ens33网卡接口     

                      arp 设置指定网卡是否支持ARP协议。

                            ifconfig ens33 arp 开启网卡ens33arp协议;

                            ifconfig ens33 -arp 关闭网卡ens33arp协议;

                      -promisc 设置是否支持网卡的混杂模式

                      -s 显示摘要信息(类似于 netstat -i

                             spacer.gif

            此外ifconfig还可以设置网卡的IP地址等信息,例如,修改网卡ens33地址为192.168.0.103

                            spacer.gif

                            spacer.gif

 

      route:路由查看及管理;

            route [选项]    

                 route不加任何选项时默认输出当前路由:

      spacer.gif

                 -n:使用数字地址替代主机名称:

      spacer.gif                     

                 -C:显示路由缓存:

      spacer.gif

      使用route添加及删除路由条目:

      route add -net 192.168.0.0/24 gw192.168.0.1 netmask 255.255.255.0 dev ens33 表示添加一条到192.168.0.0网段的路由记录,指定通过ens33网卡;

      route add default gw 192.168.0.254 表示添加默认网关为192.168.0.254

      route add -net 172.16.0.0/16 gw192.168.0.254 表示添加到172.160.0.0网段的网关为192.168.0.254

      route del default gw 192.168.0.254 删除默认网关

      route del -net 172.16.0.0 删除指定网段的网关记录;

 

      netstat:查看网络连接状态

      命令格式:netstat[--tcp|-t] [--udp|-u]

           netstat -rn可以查看路由信息;

spacer.gif

            参数:

                 -tTCP协议的相关连接,连接均有状态;FSM

spacer.gif

        -uUDP相关的连接

spacer.gif

                 -wraw socket相关的连接

spacer.gif

                 -l:处于监听状态的连接

spacer.gif

                 -a:所有状态

spacer.gif

                 -n:以数字格式显示IPPort

spacer.gif

                 -e:扩展格式

spacer.gif

                 -p:显示相关的进程及PID

spacer.gif

      显示接口的统计数据:

           所有接口:netstat-i

spacer.gif

           指定接口:netstat-I<IFace>

spacer.gif

 

      ss命令:和netstat命令类似,可以显示TCP和连接状态的信息,不过它比netstat更快速高效,并且可以显示socket统计信息;

      ss命令用法:ss[options] [ FILTER ]

           -tTCP协议的相关连接,连接均有状态;FSM

spacer.gif

           -uUDP相关的连接

spacer.gif

           -wraw socket相关的连接

spacer.gif

           -l:处于监听状态的连接

spacer.gif

           -a:所有状态的连接

spacer.gif

           -n:以数字格式显示IPPort

spacer.gif

           -e:扩展格式

spacer.gif

           -p:显示相关的进程及PID

spacer.gif

           -m:内存用量

spacer.gif

           -o:计时器信息

spacer.gif

 

      通过修改配置文件来修改网络属性:

           /etc/sysconfig/networi-scripts/ifcfg-IFACE    IFACE:接口名称;

      路由的相关配置文件:/etc/sysconfig/networi-scripts/route-IFACE

      配置文件/etc/sysconfig/networi-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令进行修改(CentOS 6:system-config-network(setup)CentOS 7nmtui)

      ifcfg-IFACE配置文件参数:

           DEVICE:此配置文件对应的设备的名称;

           ONBOOT:在系统引导中,是否激活此接口;

           UUID:此设备的惟一标识

           IPV6INIT:是否初始化IPV6

           BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcpbootpstaticnone;

           TYPE:接口类型,常见的有EthernetBridge

           DNS1:第一DNS服务器指向

           DNS2:备用DNS服务器指向

           DOMAINDNS搜索域;

           DEFROUTE:是否是默认路由使用的接口

           GATEWAY:默认网关

           IPADDRip地址

           NETMASK:子网掩码;CentOS7支持使用PREFIX以长度方式指明子网掩码

           USERCTL:是否允许普通用户控制此设备;

           PEERDNS:如果BOOTPROTO的值为"dhcp",是否允许dhcpserver分配的dns服务器指向覆盖本地手动指定的DNS服务器指向,默认为允许

           NM_CONTROLLED:是否使用NetworkManager服务来控制接口;

           HWADDRMAC地址