CentOS7下的网络配置管理

一、让配置永久有效的办法:修改配置文件

  1. 与网卡相关(课配置网卡的IP,掩码,网关,DNS)

    /etc/sysconfig/network-scripts/ifcfg-INTERFACE

ifcfg-eno.png

字段解释:

TYPE            #接口类型 常见Ethernet,Bridge
BOOTPROTO       #分配ip时候采用的协议,一般有dhcp或者static。设定为static的时候,还要提供IPADDR和NETMASK
DNS1            #在这个文件里面,我们也可以指定dns服务器,局域网内一般是填网关的ip,可以定义3个。
NM_CONTROLED    #是否由NetworkManager控制,Centos6上建议为no。
USERCTL         #是否可由用户激活该设备,建议为no
ONBOOT          #是否开机启动
PEERDNS         #如果BOOTPROTO为dhcp,是否允许dhcp服务器分配的dns服务器指向信息直接覆盖至/etc/resolv.conf

网卡命名机制

systemd对网络设备的命名方式 CentOS7

a.如果固件(Firmware)或BIOS为主板上集成的设备(即,板载设备),如eno1。如果不成立,则方案b备选生效。    #集成网卡
b.如果Firmware或BIOS为PCI-E扩展槽,如ens1。如果也不成立,则方案c备选生效。                       #独立网卡
c.如果硬件接口的物理位置拓扑信息可用,如enp2s0。如果也不成立,则方案e备选生效。                    #usb网卡
d.如果用户显式启动,也可根据MAC地址进行命名,如enx237a1dc56                                      #默认关闭
e.以上都不成立,传统命名方式,如eth0

延伸:通过配置文件来给网卡,配置多IP地址

配置文件:新建一个ifcfg-别名 (注意:需要关闭NetworkManager)

cp ifcfg-eth0 ifcfg-eth0:0

网卡别名1.png

首先我们复制一份网卡的配置,用作修改。

网卡别名2.png

接着使用vim删除一些不必要的信息,添加一行onparent=yes来表示设备附属于eno16777736

然后使用service network restart 来重启一下服务。

网络别名3.png

我们可以看见接口那里多了一个eno16777736:0,而且物理地址和eno16777736相同。

接着我们使用ping命令来尝试一个能不能使用端口连通外网

网卡别名4_ping.png

ping命令

    -c    #指定次数
    -I    #指定源ip

ssh.png

甚至ssh连上去再ping

不过需要注意的是给网卡拿多一个ip(ip别名)不支持dhcp自动获取,要手动指定静态ip。

2.路由相关的配置文件 (路由就是指路,告诉别人路怎么走)

    /etc/sysconfig/network-scripts/route-INTERFACE (route-eth0)#默认不存在
        两种定义路由的风格:
      1. Target via GW
      #要访问Target的ip,就要走GW这个网关。
      #按照格式来说的话就是,如果你的目标是Target,那么你的下一跳(via)就去找GW这个ip。
                
       2.每三行定义一条路由
       ADDRESS0=192.168.0.0
       NETMASK0=255.255.255.0
       GATEWAY0=192.168.0.1
                    
      #这三行的意思是:想要与这个网段(ipAddress+Netmask)的ip通信的话,就要从指定的网关(GATEWAY)走
      #所以就是每三条定义一个路由。

route -n.png

首先,我们使用route -n来查看当前的路由有哪些。

我们可以看见,

第一行表示,假如目标是外部网络(Destination 0.0.0.0),则走192.168.2.1这个网关(Gateway)。U表示启用,G是网关。

第二行表示,如果目的地是192.168.2.0/24的这个私有地址网段,则不需要网关。则可以进行内部通信。 

3.dns服务器指定

        /etc/resolv.conf            #最多可以出现三次,不仅可以在这里配置,也可以在网卡那里单独指定DNS服务器
        nameserver DNS_SERVER_IP1
        nameserver DNS_SERVER_IP2
        nameserver DNS_SERVER_IP3
        
resolv.conf的关键字主要有四个,分别是:
nameserver             #定义DNS服务器的IP地址
domain               #定义本地域名
search               #定义域名的搜索列表
sortlist              #对返回的域名进行排序

resolv.conf.png

因为网卡那里开启了PEERDNS,所以网卡启动的时候读取到的DNS服务器已经输入到这个文件中。

4.主机名相关

/etc/hostname

二、让配置即时(临时)生效的办法:使用命令管理

ip命令        #功能强大,可以用于替换ifconfig和nmcli

使用ip help来获得帮助。而且这个命令,可以省略输入,或者使用tab键来补全,所以忘记的时候,可以尽情地按tab键。

常用的子选项

link    #管理网络设备的

常用组合

ip link set DEVICE [ up | down ]

需要注意的是,如果把ip别名设置为down的话,整个设备都会变成down。

ip link set eno16777736:0 down

那么eno16777736这个网卡也会down掉。

在练习使用ip命令的时候,推荐直接使用虚拟机,不要用xshell等工具连接。

因为使用ip link和ip addr flush等命令会经常断线。

addr    #配置ip地址

Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                    [ CONFFLAG-LIST ]
       ip addr del IFADDR dev STRING [mngtmpaddr]
       ip addr {show|save|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [up]
       ip addr {showdump|restore}
名词解释:    #|表示多选一,[]表示可选选项
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | dadfailed | temporary |
           CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad | mngtmpaddr | noprefixroute ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS

常用组合:

1.给设备添加ip,并设置ip别名。

ipaddr add IP_ADDRESS dev DEVICE label IP_ALIAS   ip别名可以通过ifconfig看到。

ip-addr-add label.png

2.删除指定的ip

ip addr del.png

3.指定并查看特定状态的设备

ipaddr show_.png

ip addr show表示显示全部设备的ip地址,可以简写成ip a。

或者用选项来筛选,如上面这条命令则是表示显示第二子网,scope类型为global的ip。

    scope 作用域(一般很少主动设置)

    global    #ip全局有效#ip在内核上,能相应外部的请求
    link     #仅配置的那个设备有相应#ip只在设备上,接受请求的网卡有这个ip才会响应,否则不会转发。
    host     #仅本机内部有有响应#ip只在本机通信中有用,就像被人ping不到我们的127.0.0.1一样

4.替换IP地址

ip-addr-replace.png

5..清空所有ip

ip addr flush dev DEVICE

ip addr flush.png

注意:连接了xshell做ip命令的练习的话,会经常断开很麻烦。

所以练习的时候还是不要用xshell,直接在虚拟机那里做试验。


route    #配置路由

常用组合:

add TARGET via GW  dev INTERFACE src SOURCE_IP   #添加路由条目
add default via GW dev INTFACE                     #设置默认网关
1.添加默认路由。

iproute default.png

这个案例中,我们可以看出只有两个私有地址地址的路由

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736
#第一条是,访问192.168.0.0/24这个网段的ip,往eno16777736这个接口走。
#第二条是,访问192.168.2.0/24这个网段的ip,往eno16777736这个接口走。
所以访问外网地址的时候,我们便无处可走。
所以要添加一条路由,访问外网要怎么走。
#添加ip route add default via 192.168.2.1 dev eno16777736则是告诉大家:
#如果不是访问上面两个私有网段的地址,则其余的都让192.168.2.1这个ip作为网关帮忙转发。

2.删除特定路由条目

iproute del.png

三、查看网络状态的工具

网络状态查看

1.netstat

        -n        #num,不解析域名,显示为ip状态
        -t        #显示tcp相关的状态
        -u        #显示udp相关的状态
        -l        #listen,显示状态为监听的链接
        -p        #program,显示相关进程
        -e        #扩展格式
        -r        #raw socket,裸套接字
        -a        #显示监听状态和非监听状态

常用组合:

tnl-nul.png

netstat -tnl    #把以tcp协议传输且处于监听状态的端口,以ip形式输出。
netstat -unl    #把以udp协议传输且处于监听状态的端口,以ip形式输出。

tan-uan.png

netstat -tan    #输出tcp协议的端口状态
netstat -uan    #输出udn协议的端口状态

显示路由表

    -r     #显示路由表

    -n     #ip格式

netstat-nr.png

2.ifconfig

-a          #什么都不加,或者-a的时候,表示显示当前所有设备的ip,包括ip别名。
DEVICE IPADDRESS    #为设备指定ip地址,立即生效。但重启网络之后还是按配置文件来。

ifconfig.png

重启网卡之后,ip别名还是取回网卡设置192.168.2.133这个ip。

3.nmcli    (NetworkManager的rpm安装而来) 

如果关了NetworkManager服务的话,是不能用的。

这个命令有一个很有趣的地方,就是子命令可以省略输入

nmcli.png

而且我们可以看到,这个device子命令,显示的是实体的设备。

之前配置的eno16777736:0的IP别名,在这里只会显示成设备的一个ip。

这点与ifconfig的不一样。

4.hostnamectl,hostname查看主机名或获得本机的IP

hostnamectl.png


原创文章,作者:菠菜,如若转载,请注明出处:http://www.178linux.com/13528

(1)
菠菜菠菜
上一篇 2016-03-27 22:22
下一篇 2016-03-28 17:26

相关推荐

  • Linux DNS服务系列之主从复制、子域授权和转发、view配置详解

    前言 上文我们讲解了DNS服务的原理及正反向解析配置,相信大家对DNS服务已经有了初步了解。接下来,让我们进一步了解DNS服务的其它功能,本文将详解主从复制、子域授权和转发以及view的相关配置。 主从服务器配置 主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系…

    Linux干货 2015-04-13
  • 每日一练–8.2 用户管理,权限管理

    (1)显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录。     ll /var/l*[[:digit:]]*[[:lower:]] (2)显示以/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录      ll /etc/[[:digit:]]*[^[:dig…

    Linux干货 2016-08-05
  • Linux第四周总结

    1、复制/etc/skel目录为/home/tuser1, 要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop, 其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 4、复制/etc/…

    2017-07-24
  • 浅谈Openssl与私有CA搭建

        随着网络技术的发展、internet的全球化,信息共享程度被进一步提高,各种基于互联网的应用如电子政务、电子商务日益增多并愈加被人们工作和生活依赖。但是,由于互联网的开放性和通用性,网络上的信息是对所有人公开的,这就使网络上的数据传输过程中存在被窃听、篡改等安全隐患,并极有可能给用户带来不可估量的损失。为此,各种保证数据在互联网上…

    Linux干货 2015-06-04
  • Linux基础知识(四)

    本文主要讲述:Linux上用户和组的基本管理,具体包括一下内容 1、复制/etc/skel目录到/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id…

    Linux干货 2016-10-16
  • 笔记三、如何在VMWare Workstation中安装CentOS 7

    一、准备工作     1.1 安装VMWare WorkStatrion     1.2 准备好CentOS 7 镜像包     http://www.centoscn.com/CentosSoft/iso/    CenOS7下载地址 二…

    2017-02-23