[FreeBSD] Lost networking after reboot

So I was going to do update a droplet from FreeBSD 12.1 to 12.2. As a precaution, I shut down the droplet first to do an offline snapshot. Upon rebooting the droplet, I no longer have any network. vtnet0 is “active” but doesn’t have an IP4 address, certainly not the one that DO says is assigned to the droplet. I can’t ping the IP from the outside, nor can I ping anything (, etc) from inside the droplet.

It’s important to note that I have yet to make any changes at this point. All that has happened was the reboot and snapshot.

I found old posts referencing a /etc/rc.digitalocean.d directory with the network .conf file symlink but I don’t have such a directory. But I don’t know if this is current info as the posts were 4 years old.

Any thoughts?


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

I spent ages messing around with this and eventually it was quite a simple fix so I thought I better share.

For some reason the variables didnt load into the script so the box booted up with no ip addresses.

I hadn’t done an upgrade, I was just finishing off a fresh build. Unfortunately I dont know what caused it! But for whatever reason, that was the effect - no connectivity to or from the box at all.

Solution that worked for me was to console onto the box then:

service digitalocean restart

I then rebooted to test and the settings stuck :)

Good luck to whoever next stumbles on this.

You can hardcode the IP address information in /etc/rc.conf to confirm connectivity and then troubleshoot digital ocean’s dynamic ip allocation.

Pull up the networking information from DigitalOcean Website/Droplets/Droplet name/Networking. There you will see, Public IPV4 Address, Public Gateway, and Subnet Mask

in /etc/rc.conf set: defaultrouter=“[ip address of gateway]” ifconfig_vtnet0=“inet [ip address] net mask [subnet mask]”

reboot or run /etc/netstart restart

If that works, create a new FreeBSD 12.2 droplet and take a look at its config. You can copy these files: /usr/local/etc/rc.d/digitalocean /usr/local/etc/rc.d/digitaloceanpre

and make sure that /etc/rc.conf digitaloceanpre=“YES” digitalocean=“YES” cloudinit_enable=“YES”

Finally, if still not working, check the default packages in the new droplet with: pkg info
and make sure those exist in your existing droplet.