-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrequirements
88 lines (71 loc) · 1.89 KB
/
requirements
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
mac filter
protocol filter
port forward
dmz?
masquerade
dnat
remote management
optional comment per rule
optional logging per rule
per host rules (protocol options)
custom rules
ping ok
captive portal
schema
======
match table
-----------
match id
match predefined
match type
match criteria
jump table
----------
jump id
jump destination
jump args
rules table
-----------
rule id
chain id
comment
jump id
rules_match table
-----------------
rule id
match id
chain table
-----------
chain id
chain name
table name
incoming
-A INPUT -i lo -j ACCEPT
-A INPUT -p ipv6 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i $WAN_IF -j wan_incoming_ok # based on checkboxes
-A INPUT -i $LAN_IF -j lan_mac_filter
-A INPUT -i $LAN_IF -j lan_incoming_ok # based on checkboxes
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j per_host_rules
-A FORWARD -i $WAN_IF -o $LAN_IF -j forward_in
-A FORWARD -i $LAN_IF -o $WAN_IF -j forward_out
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p ipv6 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 10.0.0.0/255.255.255.0 -j ACCEPT
-A OUTPUT -j outgoing_ok
captive portal
give out a dhcp address on 'restricted subnet' to anyone
block all network activity except for dhcp and http(s)
redirect all http(s) requests to active portal daemon to provide key
once key is provided, add to okayed chain
make sure we expire old leases
# start with two empty databases, pyrobox.db, pyrobox.saved.db
# on apply, copy pyrobox.db to pyrobox.saved.db (restart appropriate services)
# on commit, copy all settings files (including dbs) to flash
# on a reset button push, copy factory_defaults.db over both
# pyrobox.saved.db and pyrobox.db, default settings files
# over /etc settings files and reboot
#