Is this a bug report or a feature request?:
bug
What happened:
I'm trying to use layer 2 routing with RPi setup. However, I can't reach exposed service from outside of cluster.
BGP works as expected but it's a home network and I don't want to overcomplicate things.
More details:
arping + tcpdump:
I've checked that IPVS is not enabled, tried flannel and WeaveNet, tried 1.9.3 and 1.11 k8s versions with the same result.
Speakers are correctly responding when requests are actually coming. During the startup, all interfaces are used for ARP responders, so thins seems to be correct. No errors in logs either.
iptables are updated
-A KUBE-SERVICES -d 192.168.0.110/32 -p tcp -m comment --comment "kube-system/traefik:http loadbalancer IP" -m tcp --dport 80 -j KUBE-FW-X3WUOHPTYIG7AA3Q
-A KUBE-SERVICES -d 192.168.0.110/32 -p tcp -m comment --comment "kube-system/traefik:https loadbalancer IP" -m tcp --dport 443 -j KUBE-FW-IKNZCF5XJQBTG3KZ
*More details about outside arping:
From speaker logs:
{"caller":"announcer.go:87","event":"createARPResponder","interface":"wlan0","msg":"created ARP responder for interface","ts":"2018-07-28T00:20:15.560229854Z"}
From physical RPi:
pi@k8s-agent-1:~ $ sudo tcpdump -i wlan0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:53:01.746441 ARP, Request who-has 192.168.0.110 tell vlad-mp, length 44
00:53:01.750945 ARP, Request who-has k8s-agent-1 tell DD-WRT, length 28
00:53:01.750993 ARP, Reply k8s-agent-1 is-at b8:27:eb:01:a6:73 (oui Unknown), length 28
00:53:02.772621 ARP, Request who-has 192.168.0.110 tell vlad-mp, length 44
00:53:03.794473 ARP, Request who-has 192.168.0.110 tell vlad-mp, length 44
00:53:04.003397 ARP, Request who-has tv-vizio tell vlad-mp, length 28
00:53:04.815499 ARP, Request who-has 192.168.0.110 tell vlad-mp, length 44
ip addr:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:01:a6:73 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.101/24 brd 192.168.0.255 scope global wlan0
valid_lft forever preferred_lft forever
Nothing shows in Speakers logs during these attempts.
Environment:
uname -a): armv7l GNU/LinuxOk, seems that it's a duplicate of #253.
I was under impression that M (multicast) stands for promiscuous as well, which is not the case, my bad. After setting it explicitly
sudo ifconfig wlan0 promisc
Everything works as expected. Turning off results in immediate stop of announcing.
Would be great if this could be added to documentation :)
Just encountered this myself, needed to enable promisc mode on wlan0 in order for ARP requests to make it from: PC -> Router -> RPI wlan0 -> arp.go response
Would be awesome if this can be documented as I spent a while messing around until I stumbled across this! :)
Seems to be related to this issue https://github.com/raspberrypi/linux/issues/2677
I'm seeing this exact issue, but through eth0 and not wlan0.
I'm running k3s v0.10.2 on raspberry pi 3 and 4.
Setting the eth0 to promisc mode does not seem to help. I am still unable to reach the external IP from machines outside the cluster. I could really use some guidance here.
Most helpful comment
Ok, seems that it's a duplicate of #253.
I was under impression that M (multicast) stands for promiscuous as well, which is not the case, my bad. After setting it explicitly
Everything works as expected. Turning off results in immediate stop of announcing.
Would be great if this could be added to documentation :)