gluon-core, gluon-client-bridge: create local_client zone in core
As core defines basic rules for this zone, it makes sense to create it there.
This commit is contained in:
parent
8ea5810bda
commit
2b1ffb3034
@ -51,14 +51,9 @@ uci:section('firewall', 'zone', 'drop', {
|
|||||||
forward = 'DROP',
|
forward = 'DROP',
|
||||||
})
|
})
|
||||||
|
|
||||||
uci:section('firewall', 'zone', 'local_client', {
|
local networks = uci:get_list('firewall', 'local_client', 'network')
|
||||||
name = 'local_client',
|
util.add_to_set(networks, 'local_node')
|
||||||
network = {'local_node'},
|
uci:set_list('firewall', 'local_client', 'network', networks)
|
||||||
input = 'REJECT',
|
|
||||||
output = 'ACCEPT',
|
|
||||||
forward = 'REJECT',
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local dnsmasq = uci:get_first('dhcp', 'dnsmasq')
|
local dnsmasq = uci:get_first('dhcp', 'dnsmasq')
|
||||||
|
@ -14,40 +14,16 @@ end
|
|||||||
|
|
||||||
uci:foreach('firewall', 'zone', reject_input_on_wan)
|
uci:foreach('firewall', 'zone', reject_input_on_wan)
|
||||||
|
|
||||||
-- the client zone is set up by gluon-client-bridge
|
for _, zone in ipairs ({ 'mesh', 'local_client' } ) do
|
||||||
--
|
-- Other packages assign interfaces to these zones
|
||||||
uci:section('firewall', 'zone', 'mesh', {
|
uci:section('firewall', 'zone', zone, {
|
||||||
name = 'mesh',
|
name = zone,
|
||||||
network = {},
|
network = {},
|
||||||
input = 'REJECT',
|
input = 'REJECT',
|
||||||
output = 'ACCEPT',
|
output = 'ACCEPT',
|
||||||
forward = 'REJECT',
|
forward = 'REJECT',
|
||||||
})
|
})
|
||||||
|
|
||||||
-- allow inbound ssh from anywhere
|
|
||||||
for _, zone in ipairs({ 'wan', 'local_client', 'mesh' }) do
|
|
||||||
uci:section('firewall', 'rule', zone .. '_ssh', {
|
|
||||||
name = zone .. '_ssh',
|
|
||||||
src = zone,
|
|
||||||
dest_port = '22',
|
|
||||||
proto = 'tcp',
|
|
||||||
target = 'ACCEPT',
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- allow icmp in/out on all relevant zones
|
|
||||||
uci:section('firewall', 'rule', 'local_client_ICMPv4_in', {
|
|
||||||
src = 'local_client',
|
|
||||||
proto = 'icmp',
|
|
||||||
icmp_type = {
|
|
||||||
'echo-request',
|
|
||||||
},
|
|
||||||
family = 'ipv4',
|
|
||||||
target = 'ACCEPT',
|
|
||||||
})
|
|
||||||
|
|
||||||
for _, zone in ipairs ({ 'mesh', 'local_client' } ) do
|
|
||||||
uci:section('firewall', 'rule', zone .. '_ICMPv6_in', {
|
uci:section('firewall', 'rule', zone .. '_ICMPv6_in', {
|
||||||
src = zone,
|
src = zone,
|
||||||
proto = 'icmp',
|
proto = 'icmp',
|
||||||
@ -77,4 +53,27 @@ for _, zone in ipairs ({ 'mesh', 'local_client' } ) do
|
|||||||
uci:delete('firewall', zone .. '_ICMPv6_out')
|
uci:delete('firewall', zone .. '_ICMPv6_out')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
uci:section('firewall', 'rule', 'local_client_ICMPv4_in', {
|
||||||
|
src = 'local_client',
|
||||||
|
proto = 'icmp',
|
||||||
|
icmp_type = {
|
||||||
|
'echo-request',
|
||||||
|
},
|
||||||
|
family = 'ipv4',
|
||||||
|
target = 'ACCEPT',
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- allow inbound SSH from anywhere
|
||||||
|
for _, zone in ipairs({ 'wan', 'local_client', 'mesh' }) do
|
||||||
|
uci:section('firewall', 'rule', zone .. '_ssh', {
|
||||||
|
name = zone .. '_ssh',
|
||||||
|
src = zone,
|
||||||
|
dest_port = '22',
|
||||||
|
proto = 'tcp',
|
||||||
|
target = 'ACCEPT',
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
uci:save('firewall')
|
uci:save('firewall')
|
||||||
|
Loading…
Reference in New Issue
Block a user