

I’d say Caddy is generally easier and a more modern alternative to Apache/nginx.


I’d say Caddy is generally easier and a more modern alternative to Apache/nginx.


Thanks for the follow-up. Of course you would have some kind of mass-deployment, it didn’t think of that. I thought you’d maybe copy the Windows MAC to Linux, but… then you’d remember doing that.
Next up, they will also all have the same ssh host key ;-) (Which may be an advantage actually, but still confusing.) Those are the kind of problems cloud-init is solving, I guess.


Sounds like a networking exercise on its own.
Do the attempted pings show up on the wire? (Switch LEDs, network card activity light.)
Does broadcast work? (Watch if it is received with tcpdump -n on both Linux VMs, and Wireshark on the Windows hosts, while doing ping -b 10.0.0.255. Or trigger a broadcast ARP by ping-ing a non-existing IP in the same network. Those should go through all bridge and switch devices, independent of IPs and routing setup.)
I think you need four distinct MAC addresses for this setup, are they all different?
The network card/driver is filtering received unicast by MAC. I’m sure something should set up the filters correctly, but maybe it went wrong, or there is a bug in the driver. Wireshark on Windows should be able to enable promiscuous mode, which disables the filter.
Side note: I don’t think you need a crossover cable. Auto-crossover should just work these days.
At work I map a USB Ethernet device into my Linux VM when I do anything networking, exactly to avoid those kind of “is it Windows?” questions. Also, I can then check the Ethernet link at the lowest level using Linux tools like ip link or mii-tool or ethtool.
I’m using VMWare for this, which I cannot recommend any more. (It used to be good for this, but gut much worse in recent years.) I think vanilla VirtualBox doesn’t allow to map USB devices.
I’d start with some basic Linux networking and tools, if you don’t have them already.
I don’t know if that’s the basics everyone knows these days, but… learn how TCP,UDP,ICMP,TLS relate, what a netmask is, what is ARP and MAC addresses. Fire up Wireshark and look around what is happening on your network. Learn some basic commands like
ip -br -aandss(or the oldernetstat) so you know how to figure out which program is listening where. Learn how to manually resolve a DNS name (digorhost). How tunnel a TCP connection or a webbrowser through ssh (port forwarding, SOCKS proxy). Learn enough of the HTTP protocol so you can manually enter a valid GET request over a simple TCP connection to port 80 withnetcatornc. Or usehttpieorcurlfor the same purpose. You can’t host a lot with that knowledge, but it helps to figure out why things are not working.