1. RHEL7的网络介绍

  在RHEL7中, NetworkManager 提供的默认联网服务是一个动态网络控制和配置守护进程, 支持ifcfg类型的配置文件. NetworkManager 可用于连接类型: 以太网、网桥、绑定、端口聚合、Wi-Fi、移动宽带及IP-over-infiniBand. 在这些连接类型中, NetworkManager 可配置网络别名、IP地址、静态路由器、DNS信息及VPN连接以及具体的连接参数. 最后, NetworkManager 通过D-bus 提供API, D-Bus 允许应用程序查询并控制网络配置及状态.

2. 配置端口聚合

  端口聚合的守护进程是teamd, 使用libteam 控制聚合中的一个实例. 在聚合实例中添加网卡硬件设备组成端口聚合. 根据端口聚合实现的功能不同, teamd 会工作在不同的模式下, 主要是轮询(roundrobin)、热备(activebackup).

  RHEL7 中安装teamd守护进程:

~]#yum -y install teamd

  使用nmcli 将实验机的eno1、eno2配置成端口聚合

~]#nmcli connection show

  创建端口聚合实例

~]#nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'

  向端口聚合实例中添加网卡

~]#nmcli  connection add type team-slave con-name team0-p1 ifname eno1 master team0

~]#nmcli connection add type team-slave con-name team0-p2 ifname eno2 master team0

   激活端口聚合连接实例

~]#nmcli connection up team0

3. DHCP服务

  linux主机通过安装DHCP服务,可以成为网络中的一台DHCP服务器,为同一网络环境下的主机提供合法的IP地址.

  (1)RHEL7默认不安装DHCP服务,可以通过RPM包安装:

~]#yum -y install dhcp

  DHCP安装包自动生成配置文件/etc/dhcp/dhcp.conf, 该配置文件是一个空白配置文件,需要我们自行添加条目.也可以在/usr/share/dhcp-version;/dhcpd.conf.example找到配置模版文件.客户端IP地址数据库保存在/var/lib/dhcpd/dhcpd.leases 文件中.

  dhcp.conf配置示例:

subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-search "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000;
range 192.168.1.10 192.168.1.100;
}

  (2)DHCP 配置静态IP地址

  在DHCP配置文件中,通过网卡的MAC地址为客户端分配IP地址, 在host中声明hardware ethernet的参数, 将指定的IP地址绑定到网卡的MAC地址.

host apex {
option host-name "apex.example.com";
hardware ethernet :A0::8E:9E:AA;
fixed-address 192.168.1.4;
}

  (3)DHCP为infiniBand IPtoIB分配静态IP地址

  RHEL7支持为infiniBand IPtoIB 的借口分配静态IP地址, 但是由于infiniBand网络中, IPtoIB接口没有正常的MAC地址,在配置文件host声明中使用选项dhcp-client-identifier= 指定IPtoIB接口. DHCP服务器最多可支持一个MAC地址的以太网,在每个主机段(IPv4地址)支持一个dhcp-client-identifier记录, 可能同时存在多个固定地址条目.

  在InfiniBand网络中,主机有两个InfiniBand接口,每个物理接口中都配置了P_Key接口,还有一个以太网连接,则可使用如下静态IP配置:

Host apex.0 {
option host-name “apex.example.com”;
hardware ethernet 00:A0:78:8E:9E:AA;
option dhcp-client-identifier=ff:00:00:00:00:00:02:00:00:02:c9:00:00:02:c9:03:00:31:7b:11;
fixed-address 172.31.0.50,172.31.2.50,172.31.1.50,172.31.3.50; #根据实际网络环境配置
}
host apex.1 {
option host-name “apex.example.com”;
hardware ethernet 00:A0:78:8E:9E:AB;
option dhcp-client-
identifier=ff:00:00:00:00:00:02:00:00:02:c9:00:00:02:c9:03:00:31:7b:12;
fixed-address 172.31.0.50,172.31.2.50,172.31.1.50,172.31.3.50; #根据实际网络环境配置
}

  如果dhcp-client-identifier 的值不匹配,可以使用Tcpdump抓取IPtoIB 的DHCP请求包,从请求包中获取正确的dhcp-client-identifier值.

  (4)DHCP中继代理

  DHCP中继代理程序dhcrelay可以使没有DHCP服务器的子网向其它子网中的一个多个DHCP服务器发出DHCP和BOOTP请求. DHCP客户端发送DHCP请求时,DHCP中继代理程序会将该请求转发到启动DHCP中继代理时指定的DHCP服务器.

  dhcrelay配置:

~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/
~]# vi /etc/systemd/system/dhcrelay.service

/*编辑 [Service] 部分的 ExecStart 选项,在结尾处添加一个或多个服务器 IPv4 地址
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1

/*使用 -i 参数指定 DHCP 中继代理侦听 DHCP 请求的接口
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1 -i em1

~]# systemctl --system daemon-reload
~]# systemctl restart dhcrelay

  RHEL7的网络服务功能非常强大,对于复杂网络配置, NetworkManger 无法管理, 通常是根据模版文件按照实际网络环境配置.

RHEL7系统管理之网络管理的更多相关文章

  1. RHEL7系统管理常用工具

    RHEL7提供大量系统管理工具,简要记录一下各工具的作用,后续再详细说明用法. 工具 描述 /proc linux的内存镜像目录./proc/sys目录下的文件能被临时修改,从而改变linux内核参数 ...

  2. RHEL7系统管理之资源管理

    1. CGroup(控制群组).slice(切片).scop.service 控制群组(control group)是linux kernel的一项功能, 该功能允许linux对RHEL7中syste ...

  3. RHEL7系统管理之内核管理

    1. Kdump工具 Kdump的工作机制是在内核崩溃时, 通过kexec 工具由BIOS启动一个备用内核, 由备用内核执行一系列任务,保存内存中崩溃内核的状态, 供后续故障分析用. 本文默认AMD或 ...

  4. Linux系统管理_网络管理

    常用网络指令 yum -y install net-tools #安装ifconfig工具 ifconfig #查看网络配置 ifup ens33 #启用网卡 ifdown ens33 #禁用网卡 s ...

  5. [转自51CTO]ITIL与ISO20000的关系

    ITIL它不是一个服务管理标准,而更应该说是一种结构化的方法或流程框架.基于这种方法和框架,已经有越来越多的IT服务管理标准被开发出来了.在这些基于ITIL的IT服务管理标准中,最突出的要属英国标准B ...

  6. Linux 系统结构

    Linux的系统结构一般由四部分组成 内核 1)内核 操作系统的核心,具有最基本的功能:内存管理.进程管理.设备驱动管理.文件系统管理,网络管理 内核版本(kernel)查看的三种方法 cat /pr ...

  7. Linux学习计划

    用Linux已经有很长一段时间了,先后用过Debian和CentOS,但一直没有系统地去学习,现在一是有时间,二是工作中需要用到,所以准备用心去学习一下. 一.教材 1.主要以<鸟哥Linux& ...

  8. 老司机浅谈linux系统学习技巧

    Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...

  9. 自学Linux Shell1.1-Linux初识

    点击返回 自学Linux命令行与Shell脚本之路 1.1-Linux初识(架构.内核.shell) 1. Linux架构 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.(有 ...

随机推荐

  1. 面向UI编程框架:ui.js框架思路详细设计

    由于上一次的灵光一闪,萌生了对面向UI编程的思想实现.经过一段时间的考虑和设计,现在将思想和具体细节记录下来: 具体思路描述: 在UI.config文件中,配置所有参数,比如页面模板.所有组件.组件控 ...

  2. ArrayList的subList方法

    参考博文使用java.util.List.subList时最好小心点 List接口中定义: List<E> subList(int fromIndex, int toIndex); 英文注 ...

  3. word黑底白字

    我们在使用word文档编辑文件时,有时候希望某段文字采用黑底白字,以区分其他段落的白底黑字从而达到强调的效果. 方法是: 1. 选中待处理的段落. 2. 点击“设计”选项卡. 3. 找到“设计”选下卡 ...

  4. OOAD之创建型模式之工厂模式

    首先我们为什么要学习设计模式呢? 1)模式从经验中总结出来的,经过证实的方案,模式只有在实际系统中经过多次验证之后才能成为模式. 2) 提高系统的可维护性, 通过使用设计模式,在系统面临升级和维护时, ...

  5. SpringMVC源码阅读:视图解析器

    1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...

  6. ES6那些事半功倍的新特性(一)

    数组方面 Array.from(xxx):把json格式字符串转换成数组: Array.of(x,x,x):负责把一堆文本或者变量转换成数组 find( ):该方法为实例方法,就是以Array对象开头 ...

  7. 深入了解Java虚拟机(3-1)虚拟机类加载机制

    虚拟机类加载机制 一.类加载的阶段和时机 1.阶段 整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation).解析(Resolution).初始化(I ...

  8. Golang 知识图谱

  9. Golang cron 定时任务使用

    1.cron 表达式的基本格式 用过 linux 的应该对 cron 有所了解.linux 中可以通过 crontab -e 来配置定时任务.不过,linux 中的 cron 只能精确到分钟.而我们这 ...

  10. web前端开发教程系列-3 - 前端开发调试工具分享

    前言 一. Bug出现的原因 1. 主观原因或者是出现这么多浏览器的原因 2. 另外客观原因: 二. 调试工具 1. Firebug 2. Chrome 3. IE11 4. IETester 5. ...