三台VM虚拟机访问公网

1、网络规划

2、查看本地网络信息

#WiFi的IP网段为192.168.3、掩码255.255.255.0、网关192.168.3.1。这些信息一会在VMware虚拟机中设置外部通信IP的时候用到

#VMware虚拟机的网段为192.168.193。这些信息一会在VMware虚拟机中设置内部通信IP的时候用到

 3、配置WMware虚拟机

操作系统均为CentOS 6.6,内存至少2G

1、所有节点关闭NetworkManager服务,原因参考:https://blog.csdn.net/petrosofts/article/details/80346348?utm_source=distribute.pc_relevant.none-task

chkconfig NetworkManager off

2、所有节点清空防火墙

iptables -F
service iptables save

3、controller节点

#修改主机名

vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=controller

#配置网卡,如果遇到网卡名称不规范问题参考https://www.cnblogs.com/vorn/p/8321932.html

内部通信eth0:192.168.193.201

外部通信eth1:192.168.3.201

cd /etc/sysconfig/network-scripts

[root@controller network-scripts]# cat ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.193.201
NETMASK=255.255.255.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
[root@controller network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.3.201
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
DNS1=192.168.3.1

重启网络:service network restart

#配置本地解析

vim /etc/hosts  新增如下内容

192.168.193.201    controller
192.168.193.202    computer1
192.168.193.203    network

#使用iptables增加一条转发路由使所有来自内部网络的IP伪装成外部网络IP,方便没有外部通信IP的computer1节点去访问外部网络做时间同步。

iptables -t nat -A POSTROUTING -s 192.168.193.0/24 -j SNAT --to-source 192.168.3.201 ;service iptables save

vim /etc/sysctl.conf打开网卡间转发功能,修改如下内容为1

net.ipv4.ip_forward = 1

sysctl -p 查看配置是否生效

net.ipv4.ip_forward = 1

#重启虚拟机,使修改的主机名生效

#可能会用到的命令

查看所有防火墙规则:service iptables status

删除某条nat防火墙,1是nat规则序号:iptables -t nat  -D POSTROUTING  1

4、computer1节点

#修改主机名

vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=computer1

#配置网卡,如果遇到网卡名称不规范问题参考https://www.cnblogs.com/vorn/p/8321932.html

内部通信eth0:192.168.193.202

隧道通信eth1:172.168.91.202(不与内外部通信IP网段相同)

cd /etc/sysconfig/network-scripts

[root@computer1 network-scripts]# cat ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.193.202
NETMASK=255.255.255.0
GATEWAY=192.168.193.201
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
DNS1=192.168.3.1
[root@computer1 network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=172.168.91.202
NETMASK=255.255.255.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet

#GATEWAY=192.168.193.201    网关配置为controller内部通信IP

#DNS1=192.168.3.1    因为controller配置了路由转发,而且computer1将controller做为网关,因此可以访问外部通信网络的DNS

重启网络:service network restart

#配置本地解析

vim /etc/hosts  新增如下内容

192.168.193.201    controller
192.168.193.202    computer1
192.168.193.203    network

#重启虚拟机,使修改的主机名生效

5、network节点

#修改主机名

vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=network

#配置网卡,如果遇到网卡名称不规范问题参考https://www.cnblogs.com/vorn/p/8321932.html

内部通信eth0:192.168.193.203

隧道通信eth1:172.168.91.203

外部通信eth2:192.168.3.203

cd /etc/sysconfig/network-scripts

[root@network network-scripts]# cat ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.193.203
NESTMASK=255.255.255.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
[root@network network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=172.168.91.203
NESTMASK=255.255.255.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
[root@network network-scripts]# cat ifcfg-eth2
DEVICE=eth2
BOOTPROTO=static
IPADDR=192.168.3.203
NESTMASK=255.255.255.0
GATEWAY=192.168.3.1
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
DNS1=192.168.3.1

重启网络:service network restart

#配置本地解析

vim /etc/hosts  新增如下内容

192.168.193.201    controller
192.168.193.202    computer1
192.168.193.203    network

#重启虚拟机,使修改的主机名生效

6、所有节点做同步时间(time.nist.gov是一个公网的时间同步服务器),如无ntpdate命令安装ntp:yum install -y ntp

ntpdate time.nist.gov
#配置定时同步任务,添加如下内容
vim /etc/crontab
*/10 * * * * ntpdate time.nist.gov

 

posted @   vorn  阅读(163)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示