【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward)

这篇具有很好参考价值的文章主要介绍了【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本文介绍了如何使用 Linux iptalbes 来使其他内网主机进行上网。

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

解释说明:一般情况下,VMware安装好后会出现两张网卡,vmnet1 与 vmnet8 。其中vmnet1 为仅主机模式(虚拟机之间可通信,虚拟机与宿主机可通信,不能上网);vmnet8 为 NAT 模式(虚拟机之间可通信,虚拟机与宿主机可通信,可上网)。

其实k8s的三台主机也可以设置为NAT模式,直接具有上网的能力,但为什么要多一台主机出来呢?

多余的这一台主机就是k8s三台主机的网关,所有内网的流量都经过这台主机,所以可以配置一些其他的内容(代理、监控、ssr等等)。本文只演示如何上网,其他的请自行研究。

一、基本环境准备

  • OS:Windows 10
  • VMware: 16
  • Linux 发行版:CentOS Linux 7.9 x86_64

二、虚拟机准备

4台虚拟机(2台亦可)。

主机名 规格 网络通讯模式 ip地址
k8s-master01

2C4G

OnlyHost

192.168.20.11

k8s-node01 2C4G OnlyHost 192.168.20.12
k8s-node02 2C4G OnlyHost 192.168.20.13
netshare 1C1G

网卡1: OnlyHost

网卡2: NAT

网卡1:192.168.20.1

网卡2:DHCP

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

三、VMnet1 网络配置

1. 打开 VMware,菜单栏【编辑】->【虚拟网络编辑器】更改设置

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

 将 仅主机模式 的 “使用本地DHCP服务将P地址分配给虚拟机” 取消勾选,确认即可。

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

2. Win+r ncpa.cpl 进入 网络连接 面板 

修改 VMnet1 的 IPv4 地址为 192.168.20.100,子网掩码 255.255.255.0 ,默认网关不需要填写,确认退出。

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

四、配置netshare主机 

netshare主机预览并开启虚拟机

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

1. 配置IP地址
ip a

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

因为NAT网卡默认开启的DHCP,所以自动获取到了IP地址。

即 ens32 为 仅主机网卡,ens33为NAT网卡。

vi /etc/sysconfig/network-scripts/ifcfg-ens32

 修改及添加

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

重启网卡,查看ip,联网测试(能否联网与仅主机网卡无关)

systemctl restart network
ip a
ping baidu.com
【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络
2. 配置 yum 源

xshell连接

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

cd /etc/yum.repos.d/
mkdir bak && mv *.repo bak
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo && mv Centos-7.repo CentOS-Base.repo

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

yum clean all && yum makecache
3. 禁用防火墙
systemctl disable firewalld --now
【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络
4. 配置iptables服务 
yum -y install iptables-services net-tools

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

启用IP转发

echo "net.ipv4.ip_forward = 1 " >> /etc/sysctl.conf
sudo sysctl -p

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

创建iptabables规则

sudo systemctl enable iptables --now
# 清空默认iptables规则
sudo iptables -F
# 放通全部
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
# ens33 为NAT网卡名称
sudo iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
sudo sh -c 'iptables-save > /etc/sysconfig/iptables'
systemctl reload iptables
iptables -t nat -L

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

五、内网其他主机配置

 打开k8s-master01

ping baidu.com
ip a

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络
1. 配置网络
vi /etc/sysconfig/network-scripts/ifcfg-ens32

 将网关指向 netshare 即可。DNS要用公共DNS。保存退出

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

2. 重启网卡测试
systemctl restart network
ping baidu.com
yum -y install net-tools

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

 netstat -nr

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

3. 另外两台主机配置相同

【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward),服务端,网络,kubernetes,网络

至此,内网主机可以上网了。

说明:这里我们的DNS1和DNS2都设置为了公共DNS。如果不想使用公共DNS,那么可以在netshare主机上,安装bind,启用named(DNS服务)。然后内网的主机DNS1就可以与网关地址一致了(192.168.20.1)。

结语

        鼓捣了几个小时,因为之前配置过,感觉这次应该很简单。

        果然还是遇到问题了,能ping通baidu.com的ip,就是ping不通域名,DNS也设置了,一直以为写错了,后来发现是iptables拦住了。清空iptables规则后,就好了。

  192.168.20.1 > 192.168.20.11: ICMP host 114.114.114.114 unreachable - admin prohibited, length 63
    IP (tos 0x0, ttl 63, id 6114, offset 0, flags [DF], proto UDP (17), length 55)
    192.168.20.11.58190 > 114.114.114.114.53: [udp sum ok] 49312+ A? baidu.com. (27)

希望可以帮到你!文章来源地址https://www.toymoban.com/news/detail-834151.html

到了这里,关于【云原生】k8s 前置环境 网络配置 VMware Linux共享上网(iptables forward)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生、k8s】Calico网络策略

    第四阶段 时  间:2023年8月17日 参加人:全班人员 内  容: Calico网络策略 目录 一、前提配置 二、Calico网络策略基础 1、创建服务 2、启用网络隔离 3、测试网络隔离 4、允许通过网络策略进行访问 三、Calico网络策略进阶 1、创建服务 2、拒绝所有入口流量 3、允许进入Nginx的流

    2024年02月12日
    浏览(33)
  • 【云原生】k8s配置资源管理

    Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险 Secret 有三种类型:  ● kubernetes.io/service-account-token :由 Kubernetes 自动创建,用来访问 APIServer 的

    2024年02月13日
    浏览(38)
  • [云原生] k8s配置资源管理

    1.1 Secret配置的相关说明  Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险。 Secret 有三种类型:  ●kubernetes.io/service-account-token:由 Kubernetes 自动创

    2024年03月13日
    浏览(37)
  • 【云原生-K8s】k8s可视化管理界面安装配置及比较【Kuboard篇】

    安装了k8s控制面板,方便日常的问题处理,查看资源状态信息,也可以增加子账号进行开放给其他人员使用,减少命令操作,提升工作效率 须有一个正常使用的k8s集群 附k8s v1.23版本搭建:https://blog.csdn.net/u010800804/article/details/124524688 快速落地 Kubernetes 官网:https://kuboard.cn/ 开

    2024年02月07日
    浏览(30)
  • 【云原生-K8s】k8s可视化管理界面安装配置及比较【Rancher篇】

    安装了k8s控制面板,方便日常的问题处理,查看资源状态信息,也可以增加子账号进行开放给其他人员使用,减少命令操作,提升工作效率 须有一个正常使用的k8s集群 附k8s v1.20版本搭建:https://blog.csdn.net/u010800804/article/details/124524688 企业级Kubernetes管理平台 Rancher为采用容器的

    2024年02月16日
    浏览(39)
  • 云原生之深入解析Hadoop如何在K8S环境中部署

    Hadoop 是 Apache 软件基金会下一个开源分布式计算平台,以 HDFS(Hadoop Distributed File System)、MapReduce(Hadoop2.0 加入了 YARN,Yarn 是资源调度框架,能够细粒度的管理和调度任务,还能够支持其他的计算框架,比如 spark)为核心的 Hadoop 为用户提供了系统底层细节透明的分布式基础

    2024年02月12日
    浏览(35)
  • 云原生Kubernetes:K8S配置资源管理

    目录 一、理论 1.Secret 2.Secret创建 3.Secret使用 4.Configmap 5.Configmap创建 6.Configmap使用 二、实验 1.Secret创建 2.Secret使用 3.Configmap创建 4.Configmap使用 三、问题 1.变量引用生成资源报错 2.查看pod日志失败 3.创建configmap报错 4.YAML创建configmap报错 5. 生成资源报错 6.文件挂载pod报错Error 四

    2024年02月07日
    浏览(40)
  • 【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】

    Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment,Job,DaemonSet 等等)。

    2024年02月13日
    浏览(35)
  • 云原生之深入解析K8S 1.24的高可用环境部署

    2022 年 5 月 3 日,Kubernetes 1.24 正式发布,在新版本中,可以看到 Kubernetes 作为容器编排的事实标准,正愈发变得成熟,有 12 项功能都更新到了稳定版本,同时引入了很多实用的功能,例如 StatefulSets 支持批量滚动更新,NetworkPolicy 新增 NetworkPolicyStatus 字段方便进行故障排查等

    2024年02月10日
    浏览(33)
  • 云原生之深入解析MySQL在K8S环境中部署与监控

    MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 本文主要分析 mysql 如何部署在 k8s 上,

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包