三台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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统