diff --git a/package/gluon-next-node/check_site.lua b/package/gluon-next-node/check_site.lua index b38de2a4..b4d7dd2c 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 abe297e7..64b32859 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 e8ecfca4..98dffbc9 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, } )