出于培训目的,我尝试在不使用GKE的情况下在GCP上设置自己的集群。
我已经成功地使用kubeadm创建了一个包含2个节点的集群。我正在运行一个nginx应用程序,并用NodePort公开了它。我所有的pod和服务都在运行。
kubectl get nodes -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master-
我在试着想象怎么做:(使用基于Linux Debian的发行版)
我有一台带4个网卡的PC:
eth0 = Internet Access (connect to router WAN)
eth1 = Local lan
eth2 = OUT NIC
eth3 = IN NIC
我需要将所有流量从eth1 (本地lan)发送到eth2,从eth3接收相同的流量并路由到eth0。
其思想是将所有eth1流量通过eth2发送到外部设备,外部设备检查数据包并在eth3上再次发送到PC,然后我的PC Linux将流量路由到eth0
有可能做到这一点吗?
我希望降低特定网络流量的优先级,特别是在我的Linux服务器中使用tc,特别是tc-u32。换句话说,所有其他流量都必须比具有指定IP-proto的流量具有更高的优先级。
我试图应用这个tc筛选规则来降低发送ICMP通信量的优先级:
tc f a dev eno1 parent 1: prio 2 u32 match ip protocol 1 0xff
但是它返回这个错误:
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
在这种情况下,我对tc还有一些不清楚的地方:
如何使这条规则正常工作?