Linux网络属性配置及管理:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1、linux主机接入网络


IP/NETMASK:实现本地通信

路由(网关):实现跨网络通信

DNS服务器地址:实现基于主机名的通信

 主DNS服务器地址

 备用DNS服务器地址

 第三备用DNS服务器地址

 注意只有当主DNS挂了或者主机和主DNS之间的通信中断时才会启用备用DNS


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2、linux网络属性的配置方式


静态指定:服务器的地址通常都是静态指定的

     命令:

     ifcfg家族:

          ifconfig:配置IP,NETMASK

          route:配置路由

          netstat:网络状态及统计数据查看

     iproute2家族:

          ip OBJECT

               addr:配置地址和掩码

               link:管理网络接口

               route:管理路由

          ss:状态及统计数据查看;在有大量网络连接时,ss比netstat命令查看性能更佳

     CentOS 7:nm(Network Manager)家族

          nmcli:命令行工具

          nmtui:text window 文本窗口工具

     注意:

          (1) DNS服务器指定   

              配置文件:/etc/resolv.conf

          (2) 本地主机名配置

              hostname  临时有效,永久有效需更改配置文件

              配置文件:/etc/sysconfig/network

              CentOS 7:hostnamectl                   

     配置文件:

          RedHat及相关发行版的配置文件:

          /etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

动态分配

     依赖于本地网络中有DHCP服务,可以提供ip地址、子网掩码、网关、dns

     DHCP:Dynamic Host Configure Procotol


网络接口命名方式

     传统命名

          以太网:eth#,例如eth0, eth1, ...

          PPP网络:ppp#, 例如ppp0, ppp1, ...

     可预测命名方案(CentOS7)

          支持多种不同的命名机制:

          例如基于固件Fireware命名,基于拓扑结构命名等

          (1) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1, eno2, ...

          (2) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1, ens2, ...

          (3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...

          (4) 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ...

          上述均不可用,则仍使用传统方式命名;

     命名格式的组成

          en:ethernet ,以太网

          wl:wlan ,无线局域网

          ww:wwan ,无线广域网

     名称类型

          o<index>:集成设备的设备索引号;

          s<slot>:扩展槽的索引号;

          x<MAC>:基于MAC地址的命名;

          p<bus>s<slot>:基于总线及槽的拓扑结构进行命名



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


3、ifcfg命令家族之ifconfig命令


ifconfig命令:接口及地址查看和管理

     显示:

     ifconfig  [INTERFACE] 不跟任何参数时只显示当前主机上所有处于激活状态的网络接口信息

          # ifconfig -a:显示所有网络接口信息,包括inactive状态的接口;

     配置:

     ifconfig interface [aftype] options | address ...

          # ifconfig  IFACE  IP/MASK  [up|down]    启用或关闭指定网络接口(IFACE:网络接口名)

          # ifconfig  IFACE  IP  netmask  NETMASK 

          options

          [-]promisc 混杂模式,-号表示关闭混杂模式,CentOS 6用,例如ifconfig eth1 promisc

     注意:使用ifconfig命令的方式是将命令立即送往内核中的TCP/IP协议栈,并立即生效;

管理IPv6地址:

     add addr/prefixlen  添加IPv6地址

     del  addr/prefixlen 移除IPV6地址


例如

1、使用ifconfig查看当前主机网络接口信息;

     flags标志位:UP表示网卡处于启用激活状态,BROADCAST表示支持广播功能,MULTICAST表示支持组播(多播)功能,RUNNING表示处于运行当中,mtu 1500表示网卡支持的最大传输单元为1500Bytes

     inet(internet)ipv4地址,netmask子网掩码,broadcast广播地址(主机位全为1的地址,主机号全为0的是网络地址)

     inet6IPv6地址及其相关信息,ether以太网地址(centos6中标示为HWADDR),txqueuelen 1000 (Ethernet)表示以太网传输队列长度

     RX表示接收,packets 25155表示网卡在激活后接收到的网络报文的数量为25155个,报文的总大小为3222168Bytes,换算后的大小是3Mb

     RX errors 0 表示接受到的网络报文的错误个数为0,dropped表示丢包的数量(如果有大量丢包,说明网络有问题),overruns 0表示溢出的包的个数为0,frame帧,应重点查看errors和dropped

     TX表示发送,packets 133表示网卡在激活后发送出的网络报文的数量为133个,报文的总大小为

14555Bytes,换算后的大小是14.2Kb

     TX errors发出包时的错误个数 ,丢包数,collisions冲突个数等,同样应关注错误和丢包数

wKioL1aDa26QIyNvAABtZ6-6ak4224.png

2、也可以使用ifconfig直接加网卡名称查看指定网络接口信息

wKiom1aDa16AoB-sAAA_pCZ2ZqA540.png

3、显示当前主机所有网络接口信息,包括未激活的网络接口信息

wKiom1aDa3LT7iC4AACX0c2-z6I891.png

4、为未激活的网络接口配置ip地址,而后再用ifconfig命令就可以查看到其信息了

wKioL1aDa5qQvMa6AACxBaN2eCg131.png

5、用ifconfig更改激活的网络接口的ip地址wKioL1aDa6jwifLTAACx9xaJk2M178.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


4、ifcfg命令家族之route命令


route命令:路由查看及管理

     路由条目类型

          主机路由:目标地址为单个IP;

          网络路由:目标地址为IP网络;

          默认路由:目标为任意网络,0.0.0.0/0.0.0.0

     查看

          # route  -n 查看路由条目时以数字格式显示各地址

     添加

          route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]

          [-net|-host]:网络路由或主机路由,默认路由即任意网络

          target:目标网络地址

          [netmask  Nm]:子网掩码,netmask后输入具体的子网掩码

          [gw GW]:网关地址,gw后输入下一跳即网关的地址

          [[dev] If]:网络接口


          示例:route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1

                route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1 

                route add  default  gw 192.168.10.1 

     删除

          route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

          示例: route  del  -net  10.0.0.0/8  gw 192.168.10.1

                 route  del  default

例如

1、查看当前主机的路由条目

     在CentOS6中直接使用route显示地址时会将将每个地址反解析成主机名,当网络中如果有大量的路由条目时,而且有很多是指向单机的情况下,反解析成主机名效率会非常低,因此在查看路由条目时,不建议将地址反解析成主机名查看

     Destination即target目标网络地址

     Gateway下一跳即网关地址,网关是0.0.0.0表示对应的Destination是本地主机的网络地址,即和自己的主机处于同一子网,因此无需网关

     Genmask即目标网络的子网掩码

     Flags是对应段的路由条目的标志,U表示up启用状态,G表示是网关,有效下一跳地址都可以表示是网关,只有Destination是0.0.0.0是对应的网关才是默认网关

     Metric是度量值,即到达目标网络中间要经过的开销

     Iface表示通过本机的哪个网络接口发送接收数据wKiom1aDa82hQMBhAAAcjvuqCkE957.png

spacer.gif

2、添加一个经过192.168.10.1的下一跳地址到达10.0.0.0/8的网络的路由条目,注意在添加下一跳时,下一跳的地址必须与本机的某个网络接口处于同一网段,如果不加dev指定网络接口,会自动判断wKioL1aDa_fy7XCAAAAt9iLVL-A327.png

spacer.gif

3、添加一个地址为192.168.10.1的默认网关,指定default或者0.0.0.0/0.0.0.0都可以wKiom1aDa-ySmejtAAA3J07j_bg755.png

spacer.gif

4、删除示例2中添加的路由条目,删除时如果只有一个指定网段的路由可以不用指定下一跳的地址wKioL1aDbBWzzypVAAAwxCjj9As627.png

spacer.gif

5、删除默认网关,default或者0.0.0.0/0.0.0.0都可以wKioL1aDbB-SG-OdAAAnMwkOhJU348.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


5、ifcfg命令家族之netstat命令


netstat命令

Print network connections, routing tables, interface statistics, masquerade connections, and multicast  memberships

显示路由表netstat  -rn

     -r:显示内核路由表

     -n:以数字格式 显示

显示网络连接

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

     -t:TCP协议的相关连接,tcp连接均有其连接状态;有限状态机FSM(Finate State Machine) 

     -u:UDP协议相关的连接

     -w:raw socket(裸套接字)相关的连接

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

     -a:查看所有状态

     -n:以数字格式显示IP和Port;

     -e:查看扩展格式

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

     常用组合

     -tan,  -uan,  -tnl,  -unl,  -tunlp

传输层协议: 传输层协议决定了网络传输过程的特性 

     tcp:面向连接的协议;通信开始之前,要建立一个虚链路进行通信;通信完成后还要拆除连接;

     udp:用户数据报协议,无连接的协议;直接发送数据报文,无需建立虚链路,无连接状态

显示接口的统计数据

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

     所有接口: netstat  -i

     指定接口: netstat  -I<IFace>   注意中间不能有空格


例如

1、用netstat命令查看路由表,跟route -n效果相似wKioL1aDbEfBSvUWAAAiQwPX47o854.png

spacer.gif

2、以数字格式显示tcp协议的相关连接

     Proto表示使用什么协议,Recv-Q表示接收队列,Send-Q表示发送队列,队列的大小即表示队列等待的长度,Local Address即本机地址,Foreign Address即远程地址,172.16.0.1:57726表示连接172.16.0.1这台主机的57726端口,State即连接状态wKiom1aDbDWhhZK_AAAf9jprXpE285.png

spacer.gif

3、查看基于UDP协议处于监听状态的连接,即等待访问的连接,不加l表示已经建立的连接wKiom1aDbD7h-TywAAAs6OIEdZM878.png

spacer.gif

4、查看基于TCP协议处于监听状态的连接,可以看到状态为LISTEN,表示正在监听wKioL1aDbGbg76v6AABodo4w1IA207.png

spacer.gif

5、查看基于TCP、UDP处于监听状态,且显示相关的进程及其PID,以数字格式显示的连接wKiom1aDbFPRIJVfAABodo4w1IA862.png

spacer.gif 

6、查看TCP协议所有状态的连接wKioL1aDbHyy9eRaAAA26hF9K_w910.png

spacer.gif

7、以扩展格式显示TCP协议的正在通信的连接

     User表示由本地哪个用户启动的此进程

     Inode表示对应的套接字文件的Inode号,Linux哲学之一是一切皆文件,所以网络连接也是通过文件来实现的,这个文件就叫做套接字文件,每建立一个连接,都要打开一个套接字文件来保存连接的状态wKioL1aDbIWCBhZ-AAAZ5iirdiY008.png

spacer.gif

8、显示所有网络接口的相关统计数据,ifconfig也能看到相关的数据wKiom1aDbHTQ-u_QAAAhU2ZcjBI544.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


6、ifcfg命令家族之ifup/ifdown命令


ifup/ifdown命令: 启用或禁用网络接口

注意:通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


7、配置主机名


hostname命令

     查看:hostname

     配置:hostname  HOSTNAME

           当前系统有效,重启后无效;永久生效需更改配置文件

     hostnamectl命令(CentOS 7):

          hostnamectl  status:显示当前主机名信息;

          hostnamectl  set-hostname [NAME]:设定主机名,永久有效;

     配置文件:/etc/sysconfig/network

          HOSTNAME=<HOSTNAME>

     注意:此方法修改配置文件的设置不会立即生效; 但重启后会一直有效;


例如

1、显示当前主机名信息,Chaais表示当前主机是虚拟机wKiom1aDbLCRUuuhAAA4HVHHDw8632.png

spacer.gif

2、将主机名改为coffeeyep.comwKioL1aDbNaS42HqAAAOEID8s5s164.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


8、配置DNS服务器指向


配置文件:/etc/resolv.conf

     nameserver   DNS_SERVER_IP 注意一定要写成ip地址

测试dns是否有效(命令测试host/nslookup/dig):

     # dig  -t  A  FQDN  -t表示将主机名转换为ip地址,dig命令测试dns是否生效时不会检查hosts 

          FQDN --> IP    FQDN:主机名

     # dig  -x  IP       将ip地址反解成主机名,互联网上大多数主机名都不支持反向解析

          IP --> FQDN

主机解析主机名的时候,会首先查找本地hosts文件;如果在hosts文件中查找到相应主机名解析,则不会再从dns查找;否则,才通过dns查找解析


例如

1、设置DNS服务器地址,最多可以设置3个dns服务器主机wKiom1aDbMzwzOB1AAAWO-pntoo950.png

spacer.gif

2、设置hosts文件,添加解析,每个主机名可以有多个别名,彼此间以空格隔开wKioL1aDbP3Bj2s9AAAWntxbCwI958.png

spacer.gif

3、使用ping命令就可以查看到www.magedu.com被解析到172.16.100.6了,ping别名亦可

wKioL1aDbQmT248gAAAvkv4Zk_E966.png

wKiom1aDbO_CTS8WAAA6R4JbIDc756.png


4、使用dig命令查看dns解析wKiom1aDbPyjXPMdAAAHWNk_w2U481.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


9、iproute命令家族之ip命令

ip命令:

show / manipulate routing, devices, policy routing and tunnels

查看及管理路由,设备,策略路由和隧道等相关功能

使用格式:

     ip [ OPTIONS ] OBJECT { COMMAND | help }

          OBJECT := { link | addr | route | netns  }

     注意: OBJECT可简写,各OBJECT的子命令也可简写;例如ip link show可写成ip li sh

     ip  OBJECT(管理对象):ip link;ip netns;ip address;ip route 都可以使用子命令显示简要使用帮助,例如ip link help;ip netns help等


(1)ip link相关命令

ip link: network device configuration 管理网络设备配置

     ip  link  set - change device attributes 修改设备属性

          dev NAME (default):指明要管理的设备,dev关键字可省略(只写接口名即可);

          up和down:启用或禁用网络接口

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

          name NAME:重命名接口

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

          netns PID:ns为namespace,用于将接口移动到指定的网络名称空间(CentOS 7);

     ip  link  show  - display device attributes 显示设备属性,或使用ip link list

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


例如

1、显示当前主机的设备属性,查看的是二层设备属性,跟ip地址无关

qdisk:队列 pfifo_fast:队列类型 state:状态 qlen:支持的队列长度wKioL1aDbUuDVJ7eAAA8DEpYcZM463.png

spacer.gif

2、使用ip link set up/down启用或禁用网卡wKiom1aDbTzRq2fzAABHdt9u3ok488.png

spacer.gif

3、关闭网卡的组播功能wKioL1aDbWaRuGJeAAAjqp6Hsig930.png

spacer.gif

4、重命名网络接口的名字为eno11112222,注意重命名时要先禁用接口wKioL1aDbXXBPhAFAAAqQ4r3TRw848.png

spacer.gif

(2)ip netns相关命令

ip netns:  - manage network namespaces.管理网络名称空间(CentOS 7)

     ip  netns  list:列出所有的netns

     ip  netns  add  NAME:创建指定的netns

     ip  netns  del  NAME:删除指定的netns

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


例如

1、使用ip netns add命令添加一个网络名称空间,将网卡移至其网络名称空间内,而后再查看wKiom1aDbXujpJL9AAANp-u9CM8350.pngwKioL1aDba3BOqe-AAAxDlkjPEA540.png

spacer.gifspacer.gif

2、在指定的netns中运行ip link show命令查看其内部的接口信息wKiom1aDbafwu1qrAAAoHIeSkeQ563.png

spacer.gif

3、使用ip netns del删除指定的网络名称空间,其内的接口就自动释放了wKiom1aDbdGAjDR6AABOgZIaf5E459.png

spacer.gif


(3)ip address相关命令

ip address - protocol address management.管理网络接口

ip address add - add new protocol address 添加新的ip地址

     ip  addr  add  IFADDR  dev  IFACE  添加ip地址到指定网络接口上

          [label NAME]:为额外添加的地址指明接口别名;添加label后才能用ifconfig看到

          [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

          [scope SCOPE_VALUE]:作用域(生效范围)

               global:全局可用;可以跟所有主机通信

               link:接口可用;无法跟本机外的地址通信

               host:仅本机可用;只能在本机内部使用,其他主机将无法看到此地址                                               

ip address delete - delete protocol address 删除指定接口的ip地址

     ip addr  delete  IFADDR  dev  IFACE 

ip address show - look at protocol addresses 显示指定接口的ip地址

     ip  addr   list  [IFACE]

ip address flush - flush protocol addresses 清空指定接口上的所有的ip地址

     ip  addr  flush  dev  IFACE


例如

1、显示当前主机的所有ip地址及其信息wKioL1aDblWAeyG3AABgj5ox_UA159.png

spacer.gif

2、向eno33554960接口添加一个ip地址,查看接口信息wKioL1aDbl-yWeEaAAA6-7dEsNk687.png

spacer.gif

3、向eno33554960接口再次添加一个ip地址,可以看到这个地址的状态为secondarywKiom1aDbk7wE642AABGqPBVgL8930.png

spacer.gif

4、向eno33554960接口再次添加一个ip地址,指明label为eno33554960:0wKioL1aDbnqBve4ZAABcLegH0nw062.png

spacer.gif

5、添加接口别名后就可以使用ifconfig命令看到其信息了,没有label用ifconfig将无法显示wKiom1aDbnTz-l18AACTAXSx5Jc836.png

spacer.gif

6、删除eno33554960接口上的指定ip地址wKioL1aDbqHgf8lUAABGFrxQBgA120.png

spacer.gif

7、清空eno33554960接口上的所有的ip地址wKioL1aDbsSirGAmAAAi4-Ha1Gs041.png

spacer.gif

(4)ip route相关命令

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 显示路由

          TYPE PRIFIX 

     ip route flush - flush routing tables 清空路由

          TYPE  PRIFIX

     ip route get - get a single route 获取指定的单条路由

          ip  route  get  TYPE PRIFIX

例如

1、显示当前主机上的所有路由wKiom1aDbwTARud7AAAdfAS4Knw198.png

spacer.gif

2、添加一个经由10.0.0.1的网络到达192.168.0.0的网络的路由,via即网关地址,不指定源地址将自动选择一个网关网段内的ip地址与目标网段通信wKiom1aDbxOwXIBiAAAuttMOeYY150.png

spacer.gif

3、添加一个eno33554960上源地址为10.0.20.100下一跳地址为10.0.0.1到达192.168.1.0的网络的路由wKioL1aDb0OBDBblAAA3oYZ16Ac417.png

spacer.gif

4、在eno16777728接口上添加一个网关为172.16.0.1的默认路由wKiom1aDbziA4_N_AAAzSyYDwak534.png

spacer.gif

5、删除到达192.168.1.0/24的网络的路由wKiom1aDb0KxUPwkAAAscegTxf8774.png

spacer.gif

6、获取到达192.168.0.0/24的网络的路由wKioL1aDb3HiyCNOAAAR200rHBM892.png

spacer.gif

7、清空到达10.0.0.0/8的网段的所有路由wKiom1aDb1_AXOLqAAAirdVY3Xg393.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


10、iproute命令家族之ss命令


ss - another utility to investigate sockets 取代netstat的工具

ss  [options]  [ FILTER ]

     选项:

          -t:TCP协议的相关连接

          -u:UDP协议相关的连接

          -w:raw socket相关的连接

          -l:监听状态的连接

          -a:所有状态的连接

          -n:以数字格式 显示

          -p:相关的程序及其PID

          -e:显示扩展格式信息

          -m:显示内存用量

          -o:显示计时器信息

     FILTER := [ state TCP-STATE ]  [ EXPRESSION ] 显示指定连接状态的连接信息

     TCP的常见状态

          TCP FSM: TCP有限状态机

               LISTEN:监听

               ESTABLISEHD:建立的连接

               FIN_WAIT_1:

               FIN_WAIT_2:

               SYN_SENT:

               SYN_RECV:

               CLOSED:

     EXPRESSION

          dport =   指定目标端口

          sport =   指定源端口

          示例:

               '( dport = :22 or sport = :22)'

               ~]# ss   -tan    '(  dport = :22 or sport = :22  )'

               ~]# ss  -tan  state  ESTABLISHED

例如

1、查看TCP协议所有状态的连接wKioL1aDb7GSZqBbAAAtUDPcA1c615.png

spacer.gif

2、查看TCP协议的所有连接中状态为ESTABLISEHD的连接wKiom1aDb52gAue2AAASBbc7SwM754.png

spacer.gif

3、查看TCP协议的所有连接中源端口或目标端口为22端口的连接wKiom1aDb6bDNiO5AAAb7XgphWo198.png

spacer.gif


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


11、网络属性配置文件管理


通过修改配置文件配置网络属性,对于redhat系的linux,每个网络接口的相关信息如果要永久有效,都必须通过读取其配置文件来完成网络属性的配置;

使用ifconfig或ip命令等修改的网络属性,重启系统以后都将会失效,永久有效需写在配置文件中

使用route或ip route命令所添加的路由条目,重启系统以后也都会失效,永久有效需写在配置文件中  


配置文件:

     IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

          IFACE:接口名称;

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

     配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令的进行修改(CentOS 6:system-config-network (setup),CentOS 7: nmtui),注意setup和nmtui也是修改配置文件,修改后需重启网络服务生效

     ifcfg-IFACE配置文件参数:

          DEVICE:此配置文件对应的设备的名称; 要和IFACE名字保持一致

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

          UUID:此设备的惟一标识;

          IPV6INIT:是否初始化IPv6;

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

          TYPE:接口类型,常见的有Ethernet, Bridge;

          DNS1:第一DNS服务器指向;

          DNS2:备用DNS服务器指向;

          DOMAIN:DNS搜索域;

          IPADDR: IP地址;

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

          GATEWAY:默认网关;

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

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

          HWADDR:设备的MAC地址;

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

     网络服务

          network

          NetworkManager 在CentOS 6中功能不完善,建议使用network

          管理网络服务:

               CentOS 6:  service  SERVICE  {start|stop|restart|status}

               CentOS 7:systemctl  {start|stop|restart|status}  SERVICE[.service]

          配置文件修改之后,如果要生效,需要重启网络服务;

               CentOS 6:# service  network  restart

               CentOS 7:# systemctl  restart  network.service

           任何时候重启网络服务会清空接口地址并重新读取配置文件来配置地址及相关属性

例如

1、查看网络接口状态,已配置设备表示有其对应的配置文件wKiom1aDb9bSkAodAAAWzjYpZz4161.png

spacer.gif

2、为eno33554960添加配置文件后就可以通过配置文件对其管理了wKiom1aDb-iBkHVVAABArELULo8097.png

spacer.gif

3、修改配置文件后,重启网络服务后配置文件即会生效spacer.gif

wKioL1aDcCDBdI79AAAIMXmRT3U620.png

wKiom1aDcASwuBngAABx6kxo1FQ936.png

spacer.gif

需要用到其他手动指定的非默认网关路由时,定义永久有效需修改配置文件

     用到非默认网关路由:/etc/sysconfig/network-scripts/route-IFACE

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

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

               TARGET  via  GW

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

               ADDRESS#=TARGET

               NETMASK#=MASK

               GATEWAY#=NEXTHOP

例如

1、添加路由的配置文件wKioL1aDcDuy_3GAAAAPQS8UBtI067.png

spacer.gif

2、重启网络服务,让配置文件中的内容永久生效wKiom1aDcCmhfKvoAAAwQiLOxdQ703.png

spacer.gif

3、也可以使用第二种方式添加配置文件的路由条目wKioL1aDcFKBXkbDAAAXvu3e1uU659.png

spacer.gif

4、重启网络服务后会重新读取配置文件中的内容让其永久有效wKiom1aDcErw7QN9AAAwJW-tyGM613.png

spacer.gif

添加接口别名后就可以使用ifconfig命令看到其接口信息,没有label用ifconfig将无法显示

给接口配置多个地址

     ip addr之外,ifconfig或配置文件都可以;仅配置文件定义后才会永久生效

     (1) ifconfig  IFACE_LABEL  IPADDR/NETMASK

          IFACE_LABEL: eth0:0, eth0:1, ...

     (2) 为别名网卡添加配置文件;

          DEVICE=IFACE_LABEL

          BOOTPROTO:只能是static, none;别名网卡不支持动态获取地址;   

例如

1、为eno33554960接口添加额外的ip地址,添加后使用ifconfig命令可显示其信息wKioL1aDcIngq9V2AADG8nozULQ384.png

spacer.gif

2、使用ifconfig命令定义的地址立即生效,但重启网络服务后就无效了wKiom1aDcITABlLpAACroTIpaLY703.png

spacer.gif

3、添加配置文件让其添加的地址永久生效wKiom1aDcJzjbfTLAAAzY8oQqXc902.png

spacer.gif

4、重启网络服务后添加的地址就会永久生效了wKioL1aDcODQZfJdAADGJXAFkPM678.png



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


12、nmcli命令(CentOS 7)

nmcli命令:

     nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

     device - show and manage network interfaces 显示及管理网络接口,类似ip link

          COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

     connection - start, stop, and manage network connections 管理网络接口

          COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

     modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value> 修改网络接口属性

如何修改IP地址等属性

     # nmcli  conn  modify  IFACE  [+|-]setting.property  value

          setting.property

               ipv4.address

               ipv4.gateway

               ipv4.dns1

               ipv4.method 配置方法,manual表示静态地址

                    manual

例如

1、显示所有的网络接口信息,注意别名都显示为地址[1]地址[2]地址[3]...wKiom1aDcPPRzpzuAACf5PkEQL4466.png

spacer.gif

2、查看网络接口的连接状态也可以用nmcli device statuswKioL1aDcSDQ_UkJAAAeNFCMFwI831.png

spacer.gif

3、断开eno33554960接口的网络连接wKiom1aDcQ6wYd8rAAAtMdWSZv0365.png

spacer.gif

4、启用eno33554960接口的网络连接wKioL1aDcULzj4BoAAAwr76KPsE509.png

spacer.gif

5、查看处于连接状态的网络接口的信息wKiom1aDcS-R0PxkAAAm6ba1zmc802.png

spacer.gif

6、为eno33554960接口添加ip地址wKioL1aDcVSxQIa7AAAL4kpduXs116.png

spacer.gif

7、将接口禁用再启用后就可以看到添加的ip地址了wKiom1aDcUWxSoOrAADNMwCIIg4282.png

spacer.gif