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