4

I've Debian 10 (Buster) KVM guest machines on a Buster host. Trying to switch to the legacy iptables on VMs following Debian wiki

update-alternatives --set iptables /usr/sbin/iptables-nft
update-alternatives --set ip6tables /usr/sbin/ip6tables-nft
update-alternatives --set arptables /usr/sbin/arptables-nft
update-alternatives --set ebtables /usr/sbin/ebtables-nft

While other three succeeds, arptables update fails with the message

update-alternatives: error: alternative /usr/sbin/arptables-legacy for arptables not registered; not setting

Is there a workaround?

If you're curious, guest machines are nodes of a Kubernetes (v1.18) cluster initiated with kubeadm. Network plugin is Calico. Everything works with default nftables settings except that MetalLB controller errors

 1 reflector.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: Failed to list *v1.ConfigMap: Get https://10.96.0.1:443/api/v1/namespaces/metallb-system/configmaps?fieldSelector=metadata.name%3Dconfig&limit=500&resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout

When I ping 10.96.0.1 from guest VM, I get

PING 10.96.0.1 (10.96.0.1) 56(84) bytes of data.
From 94.157.208.1 icmp_seq=1 Packet filtered
From 94.157.208.1 icmp_seq=2 Packet filtered
...

--- 10.96.0.1 ping statistics ---
7 packets transmitted, 0 received, +7 errors, 100% packet loss, time 15ms
Moazzem Hossen
  • 2,276
  • 1
  • 19
  • 30

1 Answers1

8

At first you need to install legacy packages:

sudo apt-get install -y iptables arptables ebtables

And then update alternatives:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy
zigmund
  • 97
  • 2