Hay algunas cosas diferentes que puedes hacer. Para distinguir entre Windows y la máquina virtual, puede dar a cada sistema una dirección IP estática diferente, y luego el firewall puede asignar reglas a cada una de esas direcciones IP. Por ejemplo, puede asignar Windows 192.168.1.50 y Ubuntu 192.168.5.50. En cualquier caso, no me imagino que podría usar la misma dirección IP en ambos, ya que causaría problemas.
Además, puede combinar la información de la dirección IP con las huellas digitales de los paquetes del sistema operativo. Originalmente, esto se hizo solo con pf en las plataformas BSD, pero parece que hoy en día hay soporte para iptables .
Además, para generar reglas solo para los sistemas Windows Update, es posible utilizar un script de creación de firewall llamado masón . Genera reglas de firewall basadas en el tráfico. Sin embargo, sospecho que hay muchos servidores involucrados aquí y, como resultado, puede ser mejor habilitar todo el tráfico saliente destinado a microsoft.com, a menos que tenga la unidad para encontrarlos.