2017年2月16日星期四

OpenShift_055:主机能够 ssh 虚机,同时允许虚机访问外网

环境:OCP 3.4

build 微服务容器时,需要访问外网,因此要求 OpenShift 虚机(Master、Node、Registry)能够访问外网。
为了能够访问外网的同时保证内网工作依旧,保持原来的 Host Only 网卡不动,在增加一块 NAT 网卡。
因为我的环境中,Master 同时作为内部 DNS Server,其它机器 DNS1 配置指向自己,自身的 DNS 配置再指向 Master。
其中 Node1、Node2、Registry 配置类似,Master 新增一个 nameserver 8.8.8.8,具体配置如下:

1.  Master 配置
(1)新添加一块网卡,使用 NAT 模式
运行 ip a 命令,查看新增加的网卡名称,我这里是 enp0s8
(2)DNS 指向 Master
vim /etc/dnsmasq.d/openshift-cluster.conf
内容如下:
local=/example.com/
address=/.apps.example.com/192.168.56.113
server=8.8.8.8
说明:
192.168.56.113 是 router 所在的 Node 机器 IP 地址,
增加了一个 dns server=8.8.8.8,用于上外网。
(3)ifcfg-enp0s3 网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
#PEERDNS=yes
#PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=036c9bda-7cbd-4740-9bc3-f066042afde9
DEVICE=enp0s3
ONBOOT=yes
DNS1=192.168.56.111
IPADDR=192.168.56.111
PREFIX=24
GATEWAY=192.168.56.1
(4)ifcfg-enp0s8 网卡配置
如果没有 ifcfg-enp0s8 文件,新建一个,为避免 UUID 重复,使用 uuidgen 生成一个新的。
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=00cb8299-feb9-55b6-a378-3fdc720e0bc6
DEVICE=enp0s8
ONBOOT=yes
(5)锁定 /etc/resolv.conf 文件,禁止任何服务修改(可选)
vim /etc/resolv.conf
内容如下:nameserver 指向自己
# Generated by NetworkManager
search example.com
# nameserver updated by /etc/NetworkManager/dispatcher.d/99-origin-dns.sh
nameserver 192.168.56.111

锁定(可选)
chattr +i /etc/resolv.conf

2.  Registry 配置
(1)新添加一块网卡,使用 NAT 模式
运行 ip a 命令,查看新增加的网卡名称,我这里是 enp0s8
(2)DNS 指向 Master
vim /etc/dnsmasq.d/openshift-cluster-node.conf
内容如下:
server=192.168.56.111
(3)ifcfg-enp0s3 网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
#PEERDNS=yes
#PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=625caf3e-78d3-4075-9256-8c5924bedda4
DEVICE=enp0s3
ONBOOT=yes
DNS1=192.168.56.112
IPV6INIT=no
IPADDR=192.168.56.112
PREFIX=24
GATEWAY=192.168.56.1
(4)ifcfg-enp0s8 网卡配置
如果没有 ifcfg-enp0s8 文件,新建一个,为避免 UUID 重复,使用 uuidgen 生成一个新的。
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=7a4c54a9-f606-4bab-b818-3e884d896b7d
DEVICE=enp0s8
ONBOOT=yes
(5)锁定 /etc/resolv.conf 文件,禁止任何服务修改(可选)
vim /etc/resolv.conf
内容如下:nameserver 指向自己
# Generated by NetworkManager
search example.com
# nameserver updated by /etc/NetworkManager/dispatcher.d/99-origin-dns.sh
nameserver 192.168.56.112

锁定(可选)
chattr +i /etc/resolv.conf

3.  Node1 配置
(1)新添加一块网卡,使用 NAT 模式
运行 ip a 命令,查看新增加的网卡名称,我这里是 enp0s8
(2)DNS 指向 Master
vim /etc/dnsmasq.d/openshift-cluster-node.conf
内容如下:
server=192.168.56.111
(3)ifcfg-enp0s3 网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
#PEERDNS=yes
#PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=036c9bda-7cbd-4740-9bc3-f066042afde9
DEVICE=enp0s3
ONBOOT=yes
DNS1=192.168.56.113
IPV6INIT=no
IPADDR=192.168.56.113
PREFIX=24
GATEWAY=192.168.56.1
(4)ifcfg-enp0s8 网卡配置
如果没有 ifcfg-enp0s8 文件,新建一个,为避免 UUID 重复,使用 uuidgen 生成一个新的。
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=2659ef37-b614-4f81-bcf5-ff7703a81440
DEVICE=enp0s8
ONBOOT=yes
(5)锁定 /etc/resolv.conf 文件,禁止任何服务修改(可选)
vim /etc/resolv.conf
内容如下:nameserver 指向自己
# Generated by NetworkManager
search example.com
# nameserver updated by /etc/NetworkManager/dispatcher.d/99-origin-dns.sh
nameserver 192.168.56.113

锁定(可选)
chattr +i /etc/resolv.conf

4.  Node2 配置
(1)新添加一块网卡,使用 NAT 模式
运行 ip a 命令,查看新增加的网卡名称,我这里是 enp0s8
(2)DNS 指向 Master
vim /etc/dnsmasq.d/openshift-cluster-node.conf
内容如下:
server=192.168.56.111
(3)ifcfg-enp0s3 网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
#PEERDNS=yes
#DEFROUTE=yes
#PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=036c9bda-7cbd-4740-9bc3-f066042afde9
DEVICE=enp0s3
ONBOOT=yes
DNS1=192.168.56.114
IPV6INIT=no
IPADDR=192.168.56.114
PREFIX=24
GATEWAY=192.168.56.1
(4)ifcfg-enp0s8 网卡配置
如果没有 ifcfg-enp0s8 文件,新建一个,为避免 UUID 重复,使用 uuidgen 生成一个新的。
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
内容如下:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=9569f670-485f-4738-816e-c963a610da71
DEVICE=enp0s8
ONBOOT=yes
(5)锁定 /etc/resolv.conf 文件,禁止任何服务修改(可选)
vim /etc/resolv.conf
内容如下:nameserver 指向自己
# Generated by NetworkManager
search example.com
# nameserver updated by /etc/NetworkManager/dispatcher.d/99-origin-dns.sh
nameserver 192.168.56.114

锁定 (可选)
chattr +i /etc/resolv.conf

5. 重启所有机器 
启动顺序:先启动 Master,等 Master 启动完毕后,并且可以确认可以访问外网后,再启动Node1,Node2,Registry。

(1)在 Master 机器上执行 nslookup www.baidu.com
输出如下:
Server:        192.168.56.111
Address:    192.168.56.111#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 119.75.218.70
Name:    www.a.shifen.com
Address: 119.75.217.109

(2)在 Registry 机器上执行 nslookup www.baidu.com
输出如下:
Server:        192.168.56.112
Address:    192.168.56.112#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 119.75.218.70
Name:    www.a.shifen.com
Address: 119.75.217.109

(3)在 Node1 机器上执行 nslookup www.baidu.com
输出如下:
Server:        192.168.56.113
Address:    192.168.56.113#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 119.75.217.109
Name:    www.a.shifen.com
Address: 119.75.218.70

(4)在 Node2 机器上执行 nslookup www.baidu.com
输出如下:
Server:        192.168.56.114
Address:    192.168.56.114#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 119.75.218.70
Name:    www.a.shifen.com
Address: 119.75.217.109

在每台机器上执行 ping www.baidu.com,确认可以访问外网。

没有评论: