3.7. 配置网络服务
有些调配方法使用 Capsule 服务器服务。例如,网络可能需要胶囊服务器来充当 DHCP 服务器。网络也可以使用 PXE 引导服务在新主机上安装操作系统。这需要将 Capsule 服务器配置为使用主 PXE 引导服务:DHCP、DNS 和 TFTP。
使用 satellite-installer
命令和选项,以在同一个服务器上配置这些服务。
要在外部胶囊服务器上配置这些服务,请运行 satellite-installer --scenario
Capsule。
流程
输入
satellite-installer
命令来配置所需的网络服务:# satellite-installer --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-gateway "192.168.140.1" \ --foreman-proxy-dhcp-managed true \ --foreman-proxy-dhcp-nameservers "192.168.140.2" \ --foreman-proxy-dhcp-range "192.168.140.10 192.168.140.110" \ --foreman-proxy-dhcp-server "192.168.140.2" \ --foreman-proxy-dns true \ --foreman-proxy-dns-forwarders "8.8.8.8" \ --foreman-proxy-dns-forwarders "8.8.4.4" \ --foreman-proxy-dns-managed true \ --foreman-proxy-dns-reverse "140.168.192.in-addr.arpa" \ --foreman-proxy-dns-server "127.0.0.1" \ --foreman-proxy-dns-zone "example.com" \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true
找到您配置的 Capsule 服务器:
# hammer capsule list
刷新 Capsule 服务器的功能以查看更改:
# hammer capsule refresh-features --name "satellite.example.com"
验证 Capsule 服务器上配置的服务:
# hammer capsule info --name "satellite.example.com"
3.7.1. 使用安装程序的多个子网或域
satellite-installer
选项仅允许单个 DHCP 子网或 DNS 域。定义多个子网的一种方法是使用自定义配置文件。
对于每个额外子网或域,在 /etc/foreman-installer/custom-hiera.yaml
文件中创建一个条目:
dhcp::pools: isolated.lan: network: 192.168.99.0 mask: 255.255.255.0 gateway: 192.168.99.1 range: 192.168.99.5 192.168.99.49 dns::zones: # creates @ SOA $::fqdn root.example.com. # creates $::fqdn A $::ipaddress example.com: {} # creates @ SOA test.example.net. hostmaster.example.com. # creates test.example.net A 192.0.2.100 example.net: soa: test.example.net soaip: 192.0.2.100 contact: hostmaster.example.com. # creates @ SOA $::fqdn root.example.org. # does NOT create an A record example.org: reverse: true # creates @ SOA $::fqdn hostmaster.example.com. 2.0.192.in-addr.arpa: reverse: true contact: hostmaster.example.com.
执行 satellite-installer
来执行更改,并验证 /etc/dhcp/dhcpd.conf
是否包含适当的条目。然后,必须在 Satellite 数据库中定义子网。
3.7.2. 网络配置的 DHCP 选项
- --foreman-proxy-dhcp
-
启用 DHCP 服务。您可以将这个选项设置为
true
或false
。 - --foreman-proxy-dhcp-managed
-
启用 Foreman 管理 DHCP 服务。您可以将这个选项设置为
true
或false
。 - --foreman-proxy-dhcp-gateway
- DHCP 池网关。把它设置为专用网络上主机的外部网关地址。
- --foreman-proxy-dhcp-interface
-
设置用于侦听请求的 DHCP 服务的接口。将它设置为
eth1
。 - --foreman-proxy-dhcp-nameservers
-
设置通过 DHCP 向客户端提供的名称服务器的地址。把它设置为
eth1
上 Satellite 服务器的地址。 - --foreman-proxy-dhcp-range
- 用于 Discovered 和 Unmanaged 服务的以空格分隔的 DHCP 池范围。
- --foreman-proxy-dhcp-server
- 设置要管理的 DHCP 服务器的地址。
运行 satellite-installer --help
来查看与 DHCP 和其他胶囊服务相关的更多选项。
3.7.3. 网络配置的 DNS 选项
- --foreman-proxy-dns
-
启用 DNS 功能。您可以将这个选项设置为
true
或false
。 - --foreman-proxy-dns-provider
- 选择要使用的提供程序。
- --foreman-proxy-dns-managed
-
让安装程序管理 ISC BIND。这只在使用
nsupdate
和nsupdate_gss
供应商时相关。您可以将这个选项设置为true
或false
。 - --foreman-proxy-dns-forwarders
- 设置 DNS 转发器。仅在 ISC BIND 由安装程序管理时使用。把它设置为您的 DNS 递归器。
- --foreman-proxy-dns-interface
-
设置要侦听 DNS 请求的接口。仅在 ISC BIND 由安装程序管理时使用。将它设置为
eth1
。 - --foreman-proxy-dns-reverse
- DNS 反向区域名称。仅在 ISC BIND 由安装程序管理时使用。
- --foreman-proxy-dns-server
-
设置 DNS 服务器的地址。仅供
nsupdate
、nsupdate_gss
和infoblox
供应商使用。 - --foreman-proxy-dns-zone
- 设置 DNS 区域名称。仅在 ISC BIND 由安装程序管理时使用。
运行 satellite-installer --help
查看与 DNS 和其他 Capsule 服务相关的更多选项。
3.7.4. 用于网络配置的 TFTP 选项
- --foreman-proxy-tftp
-
启用 TFTP 服务。您可以将这个选项设置为
true
或false
。 - --foreman-proxy-tftp-managed
-
启用 Foreman 管理 TFTP 服务。您可以将这个选项设置为
true
或false
。 - --foreman-proxy-tftp-servername
- 设置要使用的 TFTP 服务器。确保使用胶囊的 IP 地址。
运行 satellite-installer --help
查看与 TFTP 和其他胶囊服务相关的更多选项。
3.7.5. 通过 NAT 使用 TFTP 服务
您可以通过 NAT 使用 Satellite TFTP 服务。要做到这一点,在所有 NAT 路由器或防火墙上,您必须在 UDP 端口 69 上启用 TFTP 服务并启用 TFTP 状态跟踪功能。如需更多信息,请参阅 NAT 设备文档。
在 Red Hat Enterprise Linux 7 中使用 NAT:
使用以下命令来允许 UDP 端口 69 上的 TFTP 服务,载入内核 TFTP 状态跟踪模块,并使更改持久保留:
# firewall-cmd --add-service=tftp && firewall-cmd --runtime-to-permanent
在 Red Hat Enterprise Linux 6 中使用 NAT:
配置防火墙以允许端口 69 上的 TFTP 服务 UDP:
# iptables \ --sport 69 \ --state ESTABLISHED \ -A OUTPUT \ -i eth0 \ -j ACCEPT \ -m state \ -p udp # service iptables save
加载
ip_conntrack_tftp
内核 TFTP 状态模块。在/etc/sysconfig/iptables-config
文件中,找到IPTABLES_MODULES
并添加ip_conntrack_tftp
,如下所示:IPTABLES_MODULES="ip_conntrack_tftp"