diff --git a/package/gluon-next-node/files/lib/gluon/ebtables/250-next-node b/package/gluon-next-node/files/lib/gluon/ebtables/250-next-node
index 6b9588f7cf7ca57d7140a541b2a2c5990d6d9c0d..0df7abcc395446ecda40312d6738305e49c7e175 100644
--- a/package/gluon-next-node/files/lib/gluon/ebtables/250-next-node
+++ b/package/gluon-next-node/files/lib/gluon/ebtables/250-next-node
@@ -1,6 +1,9 @@
 local site = require 'gluon.site_config'
 local next_node = site.next_node
 
+rule('FORWARD --logical-in br-client -p ARP --arp-ip-src ' .. next_node.ip4 .. ' -j DROP')
+rule('FORWARD --logical-in br-client -p ARP --arp-ip-dst ' .. next_node.ip4 .. ' -j DROP')
+
 rule('FORWARD --logical-out br-client -o bat0 -d ' .. next_node.mac .. ' -j DROP')
 rule('OUTPUT --logical-out br-client -o bat0 -d ' .. next_node.mac .. ' -j DROP')
 rule('FORWARD --logical-out br-client -o bat0 -s ' .. next_node.mac .. ' -j DROP')
diff --git a/package/gluon-next-node/files/lib/gluon/upgrade/400-next-node b/package/gluon-next-node/files/lib/gluon/upgrade/400-next-node
index 55507fa4b151e8ed5889d8d8a4e84c336223a2b7..0ff959fe730ce6b17fed3468c557a2ee2a41267a 100755
--- a/package/gluon-next-node/files/lib/gluon/upgrade/400-next-node
+++ b/package/gluon-next-node/files/lib/gluon/upgrade/400-next-node
@@ -17,25 +17,15 @@ c:section('network', 'device', 'local_node_dev',
 	  }
 )
 
+local prefix4 = ip.IPv4(site.prefix4)
 c:delete('network', 'local_node')
 c:section('network', 'interface', 'local_node',
 	  {
 		  ifname = 'local-node',
 		  proto = 'static',
 		  ipaddr = site.next_node.ip4,
-		  netmask = '255.255.255.255',
-		  ip6addr = site.next_node.ip6 .. '/128',
-	  }
-)
-
-local prefix4 = ip.IPv4(site.prefix4)
-c:delete('network', 'local_node_route4')
-c:section('network', 'route', 'local_node_route4',
-	  {
-		  interface = 'client',
-		  target = prefix4:network():string(),
 		  netmask = prefix4:mask():string(),
-		  gateway = '0.0.0.0',
+		  ip6addr = site.next_node.ip6 .. '/128',
 	  }
 )