概述:


配置主机名和DNS名称解析

 1.配置主机名

CentOS 6:hostname 命令

  • 查看:hostname

  • 配置:hostname HOSTNAME  

注意:

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

CentOS 7:hostnamectl 命令

Linux网络管理(三)_ifconfig


显示当前主机名信息;

  • hostnamectl status 

设定主机名,永久有效;

  • hostnamectl set-hostname NAME:

设置配置文件

CentOS 6 

  • 第一步修改配置文件:/etc/sysconfig/network

  • 编辑:HOSTNAME=<NAME> 即可

Linux网络管理(三)_ip_02

注意:

  • 此方法的设定,不会立即生效,但以后会一直有效;

CentOS 7 

  • 直接使用 hostnamectl 设置即可,直接生效,并永久有效。

 2.配置名称解析

本地解析

配置文件:/etc/hosts

功能:

  • 本地主机名数据库和IP地址的映像

  • 对小型独立网络有用

  • 通常,在使用DNS前检查

查看:

  • getent hosts:查看/etc/hosts 内容

配置DNS服务器指向:

配置文件:/etc/resolv.conf

  • 格式:nameserver DNS_SERVER_IP (必须是IP地址); 

注意:

  • Linux最多只能设置3台主机被当做DNS地址解析;

如何做测试 (host/nslookup/dig):

正解:FQDN-->IP

  • dig -t A FQDN (主机名)

反解:(IP-->FQDN)

  • dig -x IP

演示:

[root@CentOS6 ~]# getent hosts
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1       localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.112   node1.taotao.com node1
192.168.1.113   node2.taotao.com node2
192.168.1.114   node3.taotao.com node3
192.168.1.115   node4.taotao.com node4
192.168.1.116   node5.taotao.com node5

[root@centos7 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.1.1
nameserver 114.114.114.114

修改各参数及配置文件

 1.配置文件

配置文件

IP、MASK、GW、DNS相关配置文件:

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

路由相关的配置文件:

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

说明:

  • 配置文件  /etc/sysconfig/network-scripts/ifcfg-IFACE 通过大量参数来定义接口的属性;

  • 其可通过vim编辑器直接修改,也可以使用专用的命令进行修改;

  • CentOS 6:system-config-network (setup), CentOS 7:nmtui

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

 2.ifcfg-IFACE配置文件参数

参数:

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

  • ONBOOT:此设备是否随OS启动而激活;

  • UUID:此设备的唯一标识;

  • IPV6INIT:是否初始化IPv6;

  • BOOTPROTO:启动时此设备使用的配置协议;取值有:static(手动配置)、none(手动配置)、dhcp或bootp(动态配置)

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

  • DNS1:第一DNS服务器指向;

  • DNS2:备用DNS服务器指向;

  • DOMAIN:DNS搜索域;

  • IPADDR:IP地址;

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

  • GATEWAY:默认网关;(网关和ip一定要在一个网段)

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

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

  • NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”(使用命令:# chkconfig NetworkManager off  设置为开机不启动)

 3.网络服务

网络服务

network:

NetworkManger:CentOS 6 

  • # chkconfig --list :查看默认状态;

  • # chkconfig NetworkManager off  :设置为开机不启动。

管理网络服务:

CentOS 6 

  • # service SERVICE {start|stop|restart|status}

CentOS 7 

  • # systemctl {start|stop|restart|status} SERVICE

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

CentOS 6 

  • # service network restart

CentOS 7 

  • # systemctl restart network

演示:

对CentOS 6 中的新增网卡eth1设置配置文件,并激活

  1)创建配置文件ifcfg-eth1,并设置如下参数:

[root@CentOS6 network-scripts]# cat ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.1.106
NETMASK=255.255.255.0
GETWAY=192.168.1.1
DNS1=192.168.1.1

 2)设置好之后保存退出,然后重启网络

[root@CentOS6 ~]# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0 eth1

[root@CentOS6 network-scripts]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 192.168.1.116 is already in use for device eth0...
                                                           [  OK  ]
Bringing up interface eth1:  Determining if ip address 192.168.1.106 is already in use for device eth1...
                                                           [  OK  ]
[root@CentOS6 network-scripts]# service network status
Configured devices:
lo eth0 eth1
Currently active devices:
lo eth0 eth1

 3)重启网络之后,可查看当前状态

[root@CentOS6 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:CB:50:90  
          inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fecb:5090/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39197 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3778017 (3.6 MiB)  TX bytes:592077 (578.2 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:CB:50:9A  
          inet addr:192.168.1.106  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fecb:509a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21283 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2058540 (1.9 MiB)  TX bytes:6196 (6.0 KiB)

 4.设置非默认网关路由

配置文件:

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

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

每行一个路由条目:

格式:

    DESTINATION via GATEWAY

    192.168.0.0/24 via 172.16.0.2

    192.168.0.0/24 via 172.16.0.2

每三行一个路由条目:

格式:

     ADDRESS#=TARGET

     NETMASK#=MASK

     GETEWAY#=NEXTHOP

示例:

     ADDRESS1=192.168.0.0

     NETMASK1=255.255.255.0

     GATEWAY1=172.16.0.2 

设置网卡别名

设置网卡别名(给接口设置多个地址)

作用:

  • 对虚拟主机有用

  • 将多个IP地址绑定到一个网卡上;如(eth0:1 、eth0:2、eth0:3

ifconfig命令设置网卡别名:

  • # ifconfig eth0:0 192.168.1.102/24 up

  • # ifconfig eth0:0 down

ip 命令设置网卡别名

  • ip addr add 192.168.1.102/24 up dev eth0

  • ip addr add 192.168.1.103/24 dev eth0 label eth0:1

为每个设备别名生成独立的接口配置文件

  • 关闭NetworkManager服务

  • ifcfg-ethX:xxx

  • 必须使用静态联网,别名不支持使用动态获取地址

       DEVICE=eth0:0

       IPADDR=192.168.1.102

       NETMASK=255.255.255.0

       ONPARENT=yes

     BOOTPROTO=none 别名不支持使用动态获取地址

注意:

  • service network restart 生效

  • 参考/usr/share/doc/initscripts-*/sysconfig.txt

示例:

 在CentOS 6 中以ifconfig 命令为例,实现将多个IP绑定到一块网卡上

 1)ifconfig IFACE_LABEL IPADDR/NETWASK

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

Linux网络管理(三)_网络管理_03

   

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

       DEVICE=IFACE_LABEL

       BOOTPROTO:网卡别名不支持动态获取地址;使用 static,nano手动配置

Linux网络管理(三)_ifconfig_04

     注意:DEVICE一定要同定义的文件名 

Linux网络管理(三)_ip_05

Linux网络管理(三)_ifconfig_06

网络接口配置:bonding

Bonding:

  • 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

Bonding 工作模式:

Mode 0 (balance-rr)

  • 轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力;

Mode 1 (active-backup)

  • 活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见;

Mode 3 (broadcast)

  • 广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。

配置步骤如下:

Linux网络管理(三)_网络管理_07 

试验如下:

  1.编辑配置文件如下:

Linux网络管理(三)_网络管理_08

 2.在另一台主机上ping 10.1.252.162,当前主机查看网卡活动如下: 

Linux网络管理(三)_网络管理_09

 3.现在我们断开网卡eth0,模拟实际工作中的断网,然后查看能否自动切到网卡eth1上

Linux网络管理(三)_ip_10

 4.在另一台主机上可以看到,还可以ping通,我们再看现在的工作网卡已经变为eth1,试验成功

Linux网络管理(三)_ip_11

网络管理中的几个常用工具:

 1.配置文件

ping

  • 检测目标主机是否可达,以及相关网络的延时性等;

用法:

  • ping [options] destination

  • -c #:发送的ping包个数;

  • -w #:ping命令超时时长;

  • -W #:一次ping操作中,等待对方响应的超时时长;

  • -s #:指定ping包大小,默认为64字节

hping(packages:hping3)

traceroute IP

  • 探测到达目标主机中间所经过的网关设备;

mtr HOST

  • 合并了ping和traceroute命令的的网络诊断工具;

lftp

  • 访问 ftp 服务器

  • # lftp [-p port] [-u user[,password]] SERVER

子命令:

  • get:单文件下载

  • mget:下载多个文件支持通配符

  • put:单文件上传

  • mput:多文件上传

Linux网络管理(三)_网络管理_12


lftpget URL 

  • 非交互式命令的下载

wget

不仅可以下载ftp资源,也可以下载http资源

语法:

  • wget[option]... [URL]...

选项:

  • -q:静默模式

  • -c:断点续传

  • -O:保存位置

  • --limit-rates=:指定传输速率

示例:

Linux网络管理(三)_ifconfig_13