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守护进程:

  1. ~]#yum -y install teamd

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

  1. ~]#nmcli connection show

  创建端口聚合实例

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

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

  1. ~]#nmcli connection add type team-slave con-name team0-p1 ifname eno1 master team0
  2.  
  3. ~]#nmcli connection add type team-slave con-name team0-p2 ifname eno2 master team0

   激活端口聚合连接实例

  1. ~]#nmcli connection up team0

3. DHCP服务

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

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

  1. ~]#yum -y install dhcp

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

  dhcp.conf配置示例:

  1. subnet 192.168.1.0 netmask 255.255.255.0 {
  2. option routers 192.168.1.254;
  3. option subnet-mask 255.255.255.0;
  4. option domain-search "example.com";
  5. option domain-name-servers 192.168.1.1;
  6. option time-offset -18000;
  7. range 192.168.1.10 192.168.1.100;
  8. }

  (2)DHCP 配置静态IP地址

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

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

  (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配置:

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

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

  (4)DHCP中继代理

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

  dhcrelay配置:

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

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

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

  7. ~]# systemctl --system daemon-reload
  8. ~]# 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. 白月黑羽Python在线教程

    推荐白月黑羽Python在线教程 白月黑羽 站在初学者的角度为大家安排了Python学习教程,帮助大家迅速掌握程序开发技能. http://www.python3.vip/doc/tutorial/p ...

  2. manjaro开启sdd trim

      $ sudo systemctl enable fstrim.timer; $ sudo systemctl start fstrim.service; $ sudo systemctl stat ...

  3. Java跨语言调用,使用JNA访问Java外部接口

    1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即 ...

  4. Java并发编程笔记之ThreadLocalRandom源码分析

    JDK 并发包中 ThreadLocalRandom 类原理剖析,经常使用的随机数生成器 Random 类的原理是什么?及其局限性是什么?ThreadLocalRandom 是如何利用 ThreadL ...

  5. boost::asio基本使用

    一.Asio网络库 截止到C++17,C++标准库都没有加入网络通信库.实际项目网络编程是非常常见的功能,直接使用操作系统API是低效率且不稳定的,比较好的方法是借助第三方成熟可靠的网络库.据我所知C ...

  6. 玩转mongodb(一):初识mongodb

    简介: MongoDB是一个开源的文档数据库,支持高性能.高可用性.自动缩放. 在MongoDB中,一条记录就是一个文档,是由字段和值对构成一个数据结构,类似于JSON对象.字段的值可以包括其他文档. ...

  7. 关于js的 for...in 你了解多少

    For...In 声明用于对数组或者对象的属性进行循环/迭代操作. 1. 求value: 对于数组 ,迭代出来的是数组元素,对于对象,迭代出来的是对象的属性值: 1)数组示例 var x var my ...

  8. SpringBoot 初接触之 404

    1. 确认输入项目路径是否正确,如:http://localhost:8080/index,这里需要注意的是端口号的查看 2. 确认注解是否用对 在 Controller 层类上面使用的注解是 @Re ...

  9. CUBA 使用 Spring 查询接口

    原文链接:https://www.cuba-platform.com/blog/spring-query-interfaces-in-cuba 翻译:CUBA China CUBA-Platform ...

  10. 2<<3=?

    public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(" ...