16.4.6. 配置网络
分配外部 IP 地址后,您需要创建指向该 IP 的路由。
以下步骤是配置从其他节点访问公开的服务所需的网络的一般准则。随着网络环境的不同,请咨询您的网络管理员获取环境中需要进行的特定配置。
这些步骤假定所有系统都在同一个子网中。
在 master 上:
重新启动网络,以确保网络已启动。
$ service network restart Restarting network (via systemctl): [ OK ]
如果网络没有启动,在运行以下命令时,您将收到错误消息(如 Network is unreachable )。
运行以下命令,使用您要公开的服务的外部 IP 地址以及与
ifconfig
命令输出中的主机 IP 关联的设备名称:$ ip address add <external-ip> dev <device>
例如:
$ ip address add 192.168.120.10 dev eth0
如果您需要,运行以下命令来获取 master 所在的主机服务器的 IP 地址:
$ ifconfig
查找列出的设备类似于:
UP、BROADCAST、RUNNING、MULTICAST
。eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.16.41.22 netmask 255.255.248.0 broadcast 10.16.47.255 ...
在 master 所在的主机的 IP 地址和 master 主机的网关 IP 地址之间添加路由。如果为网络路由使用子网掩码,请使用
子网掩码
选项以及要使用的子网掩码:$ route add -host <host_ip_address> netmask <netmask> gw <gateway_ip_address> dev <device>
例如:
$ route add -host 10.16.41.22 netmask 255.255.248.0 gw 10.16.41.254 dev eth0
netstat -nr
命令提供网关 IP 地址:$ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.16.41.254 0.0.0.0 UG 0 0 0 eth0
在公开的服务的 IP 地址和 master 主机的 IP 地址间添加路由:
$ route add -net 192.174.120.0/24 gw 10.16.41.22 eth0
在节点上:
重新启动网络,以确保网络已启动。
$ service network restart Restarting network (via systemctl): [ OK ]
如果网络没有启动,在执行以下命令时,您将收到错误消息,如 Network is unreachable。
在节点所在主机的 IP 地址和节点主机的网关 IP 地址之间添加路由。如果为网络路由使用子网掩码,请使用
子网掩码
选项以及要使用的子网掩码:$ route add -net 10.16.40.0 netmask 255.255.248.0 gw 10.16.47.254 eth0
ifconfig
命令显示主机 IP:ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.16.41.71 netmask 255.255.248.0 broadcast 10.19.41.255
netstat -nr
命令显示网关 IP:netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.16.41.254 0.0.0.0 UG 0 0 0 eth0
在公开的服务的 IP 地址和 master 节点所在主机系统的 IP 地址间添加路由:
$ route add -net 192.174.120.0 netmask 255.255.255.0 gw 10.16.41.22 dev eth0
使用 cURL 等工具来确保您可以使用公共 IP 地址访问该服务:
$ curl <public-ip>:<port>
例如:
curl 192.168.120.10:3306
如果您得到一串字符并看到
Got packets out of order
消息,则可从节点访问您的服务。
在没有位于集群中的系统中:
重新启动网络,以确保网络已启动。
$ service network restart Restarting network (via systemctl): [ OK ]
如果网络没有启动,在执行以下命令时,您将收到错误消息,如 Network is unreachable。
在远程主机的 IP 地址和远程主机的网关 IP 之间添加路由。如果为网络路由使用子网掩码,请使用
子网掩码
选项以及要使用的子网掩码:$ route add -net 10.16.64.0 netmask 255.255.248.0 gw 10.16.71.254 eno1
在 master 上公开的服务的 IP 地址和 master 主机的 IP 地址间添加路由:
$ route add -net 192.174.120.0 netmask 255.255.248.0 gw 10.16.41.22
使用 cURL 等工具来确保您可以使用公共 IP 地址访问该服务:
$ curl <public-ip>:<port>
例如:
curl 192.168.120.10:3306
如果您得到一串字符并看到
Got packets out of order
消息,则可以在集群外部访问您的服务。