欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

RHEL7系统管理之网络管理

程序员文章站 2022-11-01 12:34:02
1. RHEL7的网络介绍 在RHEL7中, NetworkManager 提供的默认联网服务是一个动态网络控制和配置守护进程, 支持ifcfg类型的配置文件. NetworkManager 可用于连接类型: 以太网、网桥、绑定、端口聚合、Wi-Fi、移动宽带及IP-over-infiniBand. ......

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

RHEL7系统管理之网络管理

  创建端口聚合实例

~]#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

RHEL7系统管理之网络管理

   激活端口聚合连接实例

~]#nmcli connection up team0

RHEL7系统管理之网络管理

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 00:a0:78: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 无法管理, 通常是根据模版文件按照实际网络环境配置.