1、概述

 此文主要是讲述修改CentOS系列网络的配置,通过命令或配置文件两种方式,这里特别说明,通过命令修改的配置文件会立即生效,但不会永久有效。而通过配置文件可永久有效,但不会立即生效,需要重读配置文件。

 

2、命令修改

ifcfg命令系列(ifconfigroutenetstat

 

ifconfig命令:

功能:用来查看或配置网络接口的地址和参数。

格式:ifconfig [-a] [-s] [interface]

      ifconfig interface [aftype] options | address ...

选项:-a:显示包括非激活状态的所有接口信息;

  -s:显示摘要;

  up:启动此网络设备;

  down:关闭此网络设备;

  add:给指定的网卡配置IPv6地址;

  del:删除指定网卡的IPv6地址;

实例:

查看网络信息

  网络配置简要说明_Linux

说明:  flags:标志位,UP表示启用状态,BROADCAST表示支持广播,MULTICAST表示支持组播,RUNNING处于运行中;

   mtu:支持网卡最大传输不超过1500个字节;

   inetIP地址;

   netmask:子网掩码;

   broadcast:广播地址;

   inet6IPv6地址;

   ether:以太网地址;

   txqueuelen:传输队列长度;

   RX packets:接收到的报文的数量;

   RX errors:接收时错误的个数,dropped:丢包的数量,overruns:溢 出的数量,frame:帧

   TX packets:传出的报文数量;

   TX errors:传出的错误个数,dropped:丢包的个数,collisions:冲突 的个数

配置IP地址

[root@localhost ~]# ifconfig eth0 192.168.11.24 netmask 255.255.255.0

注:立即生效,但不永久有效。

 

route命令:

功能:路由查看及管理

格式:route [-CFvnNee] [-A family |-4|-6]

                                route  [-v]  [-A  family  |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]

                               route  [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

                               route  [-V] [--version] [-h] [--help]

选项:关于查看路由的相关参数:

  -n:把主机名称翻译为IP

-p:与add命令同时使用使路由永久有效;

  增加与删除路由的相关参数:

  add:增加一个路由;

del:删除一个路由;

-net:目标地址是一个网络;

-host:目标地址为一个主机;

netmask:添加网络路由时,指定一个网络掩码;

gw:路由数据包需要通过的网关,此网关必须跟本地网卡在同一网络中;

Gateway :指定网络目标定义的地址集和子网掩码可以到达的前进或下一 跳IP地址;

实例:

查看路由信息

  网络配置简要说明_Linux_02

说明:Destination:主机所在地址;

  Gateway:下一跳网关地址;

  Genmask:目标网络的掩码;

  Flags:路由条目的标志,U表示upG表示一个网关;

  Metric:需要的开销;

  Iface:到达目标自己要通过的网卡;

添加路由:

  网络配置简要说明_Linux_03

删除路由:

  网络配置简要说明_Linux_04

netstat命令:

功能:显示与IPTCPUDPICMP协议相关的统计数据

格式:netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]]  [--program|-p]

 netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e][--verbose|-v]   [--program|-p]  [--numeric|-n]

选项:-tTCP协议的相关连接;

  -uUDP相关的连接;

  -wraw socket相关的连接;

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

  -a:所有状态;

  -n:以数字格式显示IPPort

  -e:扩展格式;

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

  -h:在线帮助;

  -v:显示指令执行过程;

  -V:显示版本信息;

  -i:显示网络界面信息表单;

  -M:显示伪装的网络连线;

  -c:持续列出网络状态;

  -C:显示路由配置的快取信息;  

实例:

无参数显示

  网络配置简要说明_网络配置_05

状态说明(此处转载自‘竹子-博客’):

LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

 

显示当前UDP连接状态

  网络配置简要说明_网络配置_06

显示TCP所有状态

  网络配置简要说明_网络配置_07

显示TCPUDP所有状态

  网络配置简要说明_Linux_08

ifup/ifdown命令:

说明:bring a network interface up

  take a network interface down

格式:ifup CONFIG [boot]

      ifdown CONFIG

 

②iproute命令系列(ip,ss)

 

ip命令:

功能:网络配置工具,使用权限为超级用户,可代替ifconfigroute等命令

格式:ip [ OPTIONS ] OBJECT { COMMAND | help }

              ip [ -force ] -batch filename

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

                                OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }


选项:

ip OBJECT:

ip link

ip link set:设置设备的属性

dev NAMEdefault):指明要管理的设备,dev关键字可省略;

updown:启动或关闭;

multicast onmulticast off:启动或禁用多播功能;

name NAME:重命名接口,停止时设置;

mtu NUMBER:设置MTU的大小,默认为1500

netns PIDnsnamespace,用于将接口移动到指定的网络名称空间;

ip link show:显示设备属性信息;

ip link help:显示简要使用帮助;

ip netns

ip netns list:列出所有的netns

ip netns add NAME:创建指定的netns

ip netns del NAME:删除指定的netns

ip netns exec NAME COMMAND:在指定的netns中运行命令

ip address:管理网络接口上的IP地址;

ip address add IFADDR protocol address

ip addr add IFADDR dev IFACE

[label NAME]:为额外添加的地址指明接口别名;

[broadcast ADDRESS]:广播地址,会根据IPNETMASK自动计算得到;

[scope SCOPE_VALUE]:作用域

global:全局可用;

link:接口可用;

host:仅本机可用;

ip address delete - delete protocol address

ip addr delete IFADDR dev IFACE

ip address show - look at protocol addresses

ip addr list [IFACE]:显示接口的地址;

ip address flush - flush protocol addresses

ip addr flush dev IFACE

ip route - routing table management

ip route add - add new route

ip route change - change route

ip route replace - change or add new one

ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]

ip route delete - delete route

ip route del TYPE PRIFIX

ip route show - list routes

ip route flush - flush routing tables

ip route get - get a single route

ip route get TYPE PRIFIX

实例:

 

ss命令:

功能:用于显示socket状态;

格式:ss [options] [ FILTER ]

选项:-tTCP协议相关连接;

  -uUDP相关的连接;

  -wraw socket相关的连接;

  -l:监听状态的连接;

  -a:所有状态的连接;

  -n:数字格式;

  -p:相关的程序及其PID

  -e:扩展格式信息;

  -m:内存用量

  -o:计时器信息

  FILTER

FILTER := [ state TCP-STATE ] [ EXPRESSION ]

实例:

 

补充:配置主机名:

hostname命令:

注:当前系统有效,重启后无效;

hostnamectl命令(CentOS 7):

注:当前不生效,但永久有效;

配置文件:/etc/sysconfig/network

HOSTNAME=<HOSTNAME>


   配置DNS服务器指向:

   配置文件:/etc/resolv.conf

nameserver   DNS_SERVER_IP

 

TCP的常见状态:

TCP FSM

LISTEN:监听

ESTABLISEHD:建立的连接

FIN_WAIT_1

FIN_WAIT_2

SYN_SENT

SYN_RECV

CLOSED

 

3、配置文件

①接口属性配置文件路径:

/etc/sysconfig/network-scripts/ifcfg-IFACE

修改方式:

文本窗口模式:

centOS 6system-config-networksetup

centOS 7nmtui

vim模式:

参数介绍:

DEVICE:设备名称;

ONBOOT:开机时是否激活此接口;

NETBOOT:是否支持网络引导;

UUID:设备的唯一标识;

IPV6INIT:是否初始化IPv6

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

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

DNS1DNS服务器指向;

DOMAIN:当前主机所在的域;

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

GATEWAY:默认网关;

IPADDRIP地址;

NETMASK:子网掩码;

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

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

WADDR:设备的MAC地址;

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

 

修改完成后重启服务:service network restart centOS 6

systemctl restart network.servicecentOS 7

②路由的相关配置文件路径:

/etc/sysconfig/network-scripts/route-IFACE

用到非默认网关路由:

支持两种配置方式,不可混用:

(1)每行一个路由条目;

TARGET via GW

(2)每三行一个路由条目;

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP