RHEL7系统管理之网络管理
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 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 无法管理, 通常是根据模版文件按照实际网络环境配置.
上一篇: asp.net core 2.1 部署 centos7
下一篇: linux简单常用命令