-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spidernet EgressGateway Fails Due to iptables-nft Compatibility Issue #1622
Comments
I'm installing a new Ubuntu system for testing, and I suspect that nft is enabled on the host instead of iptables-nft. The current egressgateway does not support nft rules yet. Based on the error, it seems that the host is using nft. |
Hi @lou-lan
$:~# lsb_release -a
|
Here should be 3 modes in linux:
Could you please run |
Please find the log attached |
Hi, in my test, it works for me. I'm using the https://github.com/flannel-io/flannel CNI plugin. My environment details:
Please execute ref: egressgateway/pkg/iptables/table.go Line 60 in 8616c7c
|
rulelist.txt @lou-lan Please find the files attached. I think this is happening only on the Master Nodes, and seems worker nodes do not suffer from this |
In the iptables filter rule you provided, I did not see any text like |
Describe the Version
Kubernetes Distribution: K3s Rancher
CNI Plugin: Flannel (not using Spidernet CNI, only Egress)
Spidernet EgressGateway Version: latest
iptables Version: iptables v1.8.10 (nf_tables)
OS and Kernel Version: Linux datapulse-cpx31-master3 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Describe the Bug
When deploying Spidernet EgressGateway, the agent fails due to iptables-nft incompatibility. The logs show errors indicating that iptables-save cannot process the filter table due to existing nftables rules.
How To Reproduce
Deploy K3s Rancher with Flannel as the CNI.
Install EgressGateway using Helm:
helm repo add egressgateway https://spidernet-io.github.io/egressgateway/
helm repo update
helm install egressgateway egressgateway/egressgateway -n kube-system --set feature.tunnelIpv4Subnet="192.200.0.1/16" --wait --debug
Check the EgressGateway agent logs:
kubectl logs -n kube-system -l app.kubernetes.io/name=egressgateway-agent
Expected Behavior
EgressGateway should successfully apply iptables rules and function as expected.
Screenshots and Log
Relevant error logs:
level="error" ts="2025-02-12T05:17:23.035Z" caller="iptables/table.go:679" msg="" table="filter" ipVersion=4 line="# Table `filter' is incompatible, use 'nft' tool."
error="iptables-save failed because there are incompatible nft rules in the table, remove the nft rules to continue"
The text was updated successfully, but these errors were encountered: