I created a new VM using the Core 13.0-U6.4 .iso, without applying any further updates. I created a user account and group, then added a volume and datasets, wrote some data into one of the volumes over the network from my VM host machine, all without problems. I then tried to create a new jail but ran into the same problems listed here, so I applied the fix given by NickF1227.
I tried again to create a new jail using 13.3-RELEASE, choosing DHCP Autoconfigure IPv4 but leaving all other options as default: the jail was created successfully but wouldn’t run, giving the same error message as before:
I edited the jail, setting it to VNET and setting all other options as I described in my first post: as before, the jail started in a few seconds but still can’t ping anything on my LAN or the internet.
Using ifconfig in the shell in the Core VM I can see that its em0 interface has been given a 192.168.1.x IP by my router’s DHCP, but I can’t see any reference to the DHCP server, even though it’s clearly set the VM’s IP.
In the jail, ifconfig doesn’t show the em0 interface, either when vnet_default_interface is set to auto or I manually set it to em0. The IPv4 default router is set to my router in both cases.
I found this topic in which the solution was the resolver settings: I set this to “none” so that the jail would inherit those settings from the Core VM (and I double-checked that the VM’s resolv.conf contained the correct “nameserver 192.168.1.254” entry) but that didn’t fix it. Nor did entering that same value into the resolver field manually.
Running netstat -r in the jail shows the correct IP for the default gateway. If the jail had a working network connection, I assume that it would be trying to talk to the correct DHCP server.
I was thinking that since ifconfig in the jail doesn’t show the em0 interface, it must be an indication that the interface is missing. However, ifconfig doesn’t report that interface in the jails on my physical server either, and they’re working fine. I don’t know enough to know why the jails don’t show this interface but the host does.