diff --git a/gns3server/compute/builtin/nodes/nat.py b/gns3server/compute/builtin/nodes/nat.py
index ba1b27b5..40af0cd1 100644
--- a/gns3server/compute/builtin/nodes/nat.py
+++ b/gns3server/compute/builtin/nodes/nat.py
@@ -15,7 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-import socket
+import sys
 from .cloud import Cloud
 from ...error import NodeError
 
@@ -31,24 +31,21 @@ class Nat(Cloud):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
 
-        if socket.gethostname() != "gns3vm":
-            raise NodeError("NAT node is supported only on GNS3 VM")
-
-        if "eth1" not in [interface["name"] for interface in gns3server.utils.interfaces.interfaces()]:
-            raise NodeError("eth1 is missing on the GNS3 VM. You need to provide a nat interface as eth1")
+        if "virbr0" not in [interface["name"] for interface in gns3server.utils.interfaces.interfaces()]:
+            raise NodeError("virbr0 is missing. You need to install libvirt")
 
         self.ports = [
             {
-                "name": "nat0",
+                "name": "virbr0",
                 "type": "ethernet",
-                "interface": "eth1",
+                "interface": "virbr0",
                 "port_number": 0
             }
         ]
 
     @classmethod
     def is_supported(self):
-        return socket.gethostname() == "gns3vm"
+        return sys.platform.startswith("linux")
 
     def __json__(self):
         return {
diff --git a/tests/compute/builtin/nodes/test_nat.py b/tests/compute/builtin/nodes/test_nat.py
index bd1a6132..aa221f51 100644
--- a/tests/compute/builtin/nodes/test_nat.py
+++ b/tests/compute/builtin/nodes/test_nat.py
@@ -31,8 +31,8 @@ def test_json(on_gns3vm, project):
         "status": "started",
         "ports": [
             {
-                "interface": "eth1",
-                "name": "nat0",
+                "interface": "virbr0",
+                "name": "virbr0",
                 "port_number": 0,
                 "type": "ethernet"
             }
diff --git a/tests/conftest.py b/tests/conftest.py
index 152c04b5..d30a2070 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -315,10 +315,10 @@ def async_run(loop):
 
 
 @pytest.yield_fixture
-def on_gns3vm():
+def on_gns3vm(linux_platform):
     """
     Mock the hostname to  emulate the GNS3 VM
     """
-    with patch("gns3server.utils.interfaces.interfaces", return_value=[{"name": "eth0"}, {"name": "eth1"}]):
+    with patch("gns3server.utils.interfaces.interfaces", return_value=[{"name": "eth0"}, {"name": "eth1", "name": "virbr0"}]):
         with patch("socket.gethostname", return_value="gns3vm"):
             yield