Attaching VMs to a bridge results in /dev/net/tun error


Mar 11, 2024
Hey guys

I switched finally from CORE to SCALE (fresh install, no update). To be able to mount NFS shares inside VMs I followed the official documentation (Accessing NAS From a VM) and created a bridge interface. But after attaching the VM's NIC to the bridge, I get a strange error:

Screenshot 2024-03-11 at 13.14.15.png

The VM is starting if I manually modprobe the tun module. But of course the tun device should not be needed here. Any ideas what I made wrong?

- TrueNAS-SCALE-23.10.2
- Asrock C2750D4I with 32GB ECC
- IPv6 disabled (net.ipv6.conf.all.disable_ipv6=1)

 Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/supervisor/", line 182, in start
    if self.domain.create() < 0:
  File "/usr/lib/python3/dist-packages/", line 1373, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: Unable to open /dev/net/tun, is tun module loaded?: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/", line 201, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self)
  File "/usr/lib/python3/dist-packages/middlewared/", line 1342, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/schema/", line 177, in nf
    return await func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema/", line 44, in nf
    res = await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/", line 54, in start
    await self.middleware.run_in_thread(self._start, vm['name'])
  File "/usr/lib/python3/dist-packages/middlewared/", line 1254, in run_in_thread
    return await self.run_in_executor(self.thread_pool_executor, method, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/", line 1251, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.11/concurrent/futures/", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/", line 68, in _start
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/supervisor/", line 191, in start
    raise CallError('\n'.join(errors))
middlewared.service_exception.CallError: [EFAULT] Unable to open /dev/net/tun, is tun module loaded?: No such file or directory

Thanks a lot for help!