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
創建埠聚合實例
~]#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 無法管理, 通常是根據模版文件按照實際網路環境配置.