tl;dr: I solved my networking problems when I replaced OctoPi with a fresh Raspbian install + OctoPrint.
First, I'm an experienced network engineer - at the company where I work, I designed and configured the networking for our data center, including a Linux cluster with hundreds of nodes. I consider myself to be an expert in Linux system administration.
Anyway, I just got started with 3D printing and installed OctoPi on a Raspberry Pi 4B. Over the last couple of weeks, we had some intermittent problems with our home network. I tried many things that helped for a while, but the problem persisted. On Monday morning, things got totally broken. Macs got randomly renamed due to network conflicts. WAN speeds deteriorated from our usual 900 Mbps down/40 Mbps up to less than 1 Mbps in each direction. Everyone at home was unable to work or study.
Then I started to troubleshoot. Pings to various devices on the LAN failed! I installed a spare router but that didn't help. I decided to disconnect everything and connect devices one-by-one until I found the failed device. To make a long story short, the root cause was the OctaPi server. If I connected it to the network, it flooded the LAN with malformed traffic so bad that it would remain broken after I disconnected the OctaPi server. The only solution was to disconnect the OctaPi server and reboot the unmanaged network switch !! I got things back to normal on the LAN, then I proceeded to a fresh install of Raspbian and installed OctaPrint from scratch. Everything is working correctly now, including the OctaPrint server.
I don't know whether the OctaPi distribution was infected, or misconfigured, or my OctaPi server got pwned. To be extra careful, when I installed the fresh RPi distribution, I connected it to a keyboard and monitor to set an initial password before I connected it to the LAN.
Normally when you get internet problems, you suspect something upstream, like your internet provider. Traffic flooding from a failed device on the LAN was not what I would have expected.
I don't have time to investigate much further, but if the OctoPi maintainers are interested, I can send you the disk image from my failed device.
Could you please mention what OctoPi version you used?
octopi-buster-armhf-lite-0.18.0, downloaded on 12 March.
Which method did you use to connect to OctoPrint remotely?
Not sure what you mean. The OctoPi install was initially connected via WiFi. I then removed the WiFi configuration and connected it via Ethernet. But I had problems with both network configurations. Since replacing with a new microSD card with Raspbian + manual OctoPrint installation, the Raspberry Pi is connected via Ethernet.
If that doesn't answer your question, please clarify.
Did you ever connect to OctoPrint via a smart phone or when outside of the network? If so which way? NAT, SSH tunnel, VPN, OctoPrint Anywhere, etc..
I did connect via my iPhone and iPad on the LAN, as well as remotely via a Wireguard VPN tunnel. I never exposed OctoPrint to the WAN.
Hmm alright. Shoot me a PM with a link to the tar(preferably) or the img. I'll run a quick diff on it.
Also a md5/sha hash of the original img file if you still have it...
MD5 (2020-12-02-octopi-buster-armhf-lite-0.18.0.img) = dd94667f723046d39379f1b5f71f9bc5
I'll DM you with a link to the tarball of the OctoPi install.
Where did you download the image from? It looks like a nightly. I looked around for it but had no luck finding it.
I used the same 0.18.0 image as from the downloads page: OctoPrint.org - Download & Setup OctoPrint
My md5 is from the .img file, but I just checked and that's exactly the contents of the .zip file from the Downloads.
The name threw me off. Anywho looking at the logs I'm seeing the following being spammed:
Mar 22 19:38:19 xxxxx kernel: [ 214.531087] ICMPv6: NA: xx:xx:xx:xx:xx:xx advertised our address fe80::xxxx:xxxx:xxxx:xxxx on eth0!
Mar 22 19:38:24 xxxxx kernel: [ 219.571422] net_ratelimit: 2415 callbacks suppressed
Mar 22 19:38:24 xxxxx kernel: [ 219.571433] ICMPv6: NA: xx:xx:xx:xx:xx:xx advertised our address fe80::xxxx:xxxx:xxxx:xxxx on eth0!
Looks like a collision might be occuring which might explain why you lose connectivity.
Good catch. Looks like an IPv6 conflict. I very seldom deal with IPv6 so I didn't notice that. I can't imagine why another device would have the same IPv6 address though.
I'm going to rename the topic just a tad.
Original title: Danger: OctoPi broke my LAN
Sure, but: it was far more serious than just OctoPi having "network issues". To me, network issues would be localized to the device, like: "The OctoPrint web page doesn't load" or "I can't ping the device". In my case, it flooded the LAN with so much traffic that the LAN was unusable. It felt like a DoS attack. Even simply unplugging OctoPi wasn't enough to recover the network - I had to reboot an unmanaged Gigabit switch.
That said, I do appreciate your finding the ICMP (ping) requests. I didn't think to mount the SD card and look at the logs.
The rename is soley because the title was formatted like a PSA.
I replaced OctoPi with a fresh Raspbian install + OctoPrint But have to do this ever 3 days because IP logon goes dead until I replaced OctoPi with a fresh Raspbian install + OctoPrint, repeat
I am about to update the OctoPrint image to see if this helps