diff --git a/package/gluon-next-node/check_site.lua b/package/gluon-next-node/check_site.lua index b38de2a41e5066d64e43be0769825efec56a8c7c..b4d7dd2c9d322c27f11e109cacc8f96d77c77165 100644 --- a/package/gluon-next-node/check_site.lua +++ b/package/gluon-next-node/check_site.lua @@ -2,6 +2,6 @@ if need_string_match('next_node.ip4', '^%d+.%d+.%d+.%d+$', false) then need_string_match('prefix4', '^%d+.%d+.%d+.%d+/%d+$') end -need_string_match('next_node.ip6', '^[%x:]+$') +need_string_match('next_node.ip6', '^[%x:]+$', false) need_string_match('next_node.mac', '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$') 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 abe297e7c69cfebfb593ebc1d0566c751b7a5f43..64b32859cc6a66aa0915d624a6e0ada8938cf4cc 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 @@ -16,7 +16,9 @@ if next_node.ip4 then rule('OUTPUT --logical-out br-client -o bat0 -p IPv4 --ip-source ' .. next_node.ip4 .. ' -j DROP') end -rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP') -rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP') -rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP') -rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP') +if next_node.ip6 then + rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP') + rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP') + rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP') + rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP') +end 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 e8ecfca4f9ee42863f5097b0a3bfefc714387c43..98dffbc9dd35f2439b526747f7f6e3b293792e42 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,13 +17,17 @@ c:section('network', 'device', 'local_node_dev', } ) -local ip4, netmask +local ip4, netmask, ip6 if site.next_node.ip4 then ip4 = site.next_node.ip4 netmask = ip.IPv4(site.prefix4):mask():string() end +if site.next_node.ip6 then + ip6 = site.next_node.ip6 .. '/128' +end + c:delete('network', 'local_node') c:section('network', 'interface', 'local_node', { @@ -31,7 +35,7 @@ c:section('network', 'interface', 'local_node', proto = 'static', ipaddr = ip4, netmask = netmask, - ip6addr = site.next_node.ip6 .. '/128', + ip6addr = ip6, } )