前言
本文介绍了如何使用 Linux iptalbes 来使其他内网主机进行上网。
解释说明:一般情况下,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 |
三、VMnet1 网络配置
1. 打开 VMware,菜单栏【编辑】->【虚拟网络编辑器】更改设置
将 仅主机模式 的 “使用本地DHCP服务将P地址分配给虚拟机” 取消勾选,确认即可。
2. Win+r ncpa.cpl 进入 网络连接 面板
修改 VMnet1 的 IPv4 地址为 192.168.20.100,子网掩码 255.255.255.0 ,默认网关不需要填写,确认退出。
四、配置netshare主机
netshare主机预览并开启虚拟机
1. 配置IP地址
ip a
因为NAT网卡默认开启的DHCP,所以自动获取到了IP地址。
即 ens32 为 仅主机网卡,ens33为NAT网卡。
vi /etc/sysconfig/network-scripts/ifcfg-ens32
修改及添加
重启网卡,查看ip,联网测试(能否联网与仅主机网卡无关)
systemctl restart network
ip a
ping baidu.com
2. 配置 yum 源
xshell连接
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
yum clean all && yum makecache
3. 禁用防火墙
systemctl disable firewalld --now
4. 配置iptables服务
yum -y install iptables-services net-tools
启用IP转发
echo "net.ipv4.ip_forward = 1 " >> /etc/sysctl.conf
sudo sysctl -p
创建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-master01
ping baidu.com
ip a
1. 配置网络
vi /etc/sysconfig/network-scripts/ifcfg-ens32
将网关指向 netshare 即可。DNS要用公共DNS。保存退出
2. 重启网卡测试
systemctl restart network
ping baidu.com
yum -y install net-tools
netstat -nr
3. 另外两台主机配置相同
至此,内网主机可以上网了。
说明:这里我们的DNS1和DNS2都设置为了公共DNS。如果不想使用公共DNS,那么可以在netshare主机上,安装bind,启用named(DNS服务)。然后内网的主机DNS1就可以与网关地址一致了(192.168.20.1)。
结语
鼓捣了几个小时,因为之前配置过,感觉这次应该很简单。
果然还是遇到问题了,能ping通baidu.com的ip,就是ping不通域名,DNS也设置了,一直以为写错了,后来发现是iptables拦住了。清空iptables规则后,就好了。文章来源:https://www.toymoban.com/news/detail-834151.html
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模板网!