mirror of
https://github.com/openNDS/openNDS.git
synced 2026-05-04 03:01:32 -04:00
418 lines
13 KiB
Plaintext
418 lines
13 KiB
Plaintext
#
|
|
# Nodogsplash Configuration File
|
|
#
|
|
|
|
# Parameter: GatewayInterface
|
|
# Default: NONE
|
|
#
|
|
# GatewayInterface is not autodetected, has no default, and must be set here.
|
|
# Set GatewayInterface to the interface on your router
|
|
# that is to be managed by Nodogsplash.
|
|
# Typically br-lan for the wired and wireless lan.
|
|
#
|
|
GatewayInterface br-lan
|
|
|
|
# FirewallRuleSet: authenticated-users
|
|
#
|
|
# Control access for users after authentication.
|
|
# These rules are inserted at the beginning of the
|
|
# FORWARD chain of the router's filter table, and
|
|
# apply to packets that have come in to the router
|
|
# over the GatewayInterface from MAC addresses that
|
|
# have authenticated with Nodogsplash, and that are
|
|
# destined to be routed through the router. The rules are
|
|
# considered in order, and the first rule that matches
|
|
# a packet applies to it.
|
|
# If there are any rules in this ruleset, an authenticated
|
|
# packet that does not match any rule is rejected.
|
|
# N.B.: This ruleset is completely independent of
|
|
# the preauthenticated-users ruleset.
|
|
#
|
|
FirewallRuleSet authenticated-users {
|
|
|
|
# You may want to open access to a machine on a local
|
|
# subnet that is otherwise blocked (for example, to
|
|
# serve a redirect page; see RedirectURL). If so,
|
|
# allow that explicitly here, e.g:
|
|
# FirewallRule allow tcp port 80 to 192.168.254.254
|
|
|
|
# Your router may have several interfaces, and you
|
|
# probably want to keep them private from the GatewayInterface.
|
|
# If so, you should block the entire subnets on those interfaces, e.g.:
|
|
# FirewallRule block to 192.168.0.0/16
|
|
# FirewallRule block to 10.0.0.0/8
|
|
|
|
# Typical ports you will probably want to open up include
|
|
# 53 udp and tcp for DNS,
|
|
# 80 for http,
|
|
# 443 for https,
|
|
# 22 for ssh:
|
|
# FirewallRule allow tcp port 53
|
|
# FirewallRule allow udp port 53
|
|
# FirewallRule allow tcp port 80
|
|
# FirewallRule allow tcp port 443
|
|
# FirewallRule allow tcp port 22
|
|
# Or for happy customers allow all
|
|
FirewallRule allow all
|
|
# You might use ipset to easily allow/block range of ips, e.g.:
|
|
# FirewallRule allow ipset WHITELISTED_IPS
|
|
# FirewallRule allow tcp port 80 ipset WHITELISTED_IPS
|
|
}
|
|
# end FirewallRuleSet authenticated-users
|
|
|
|
|
|
# FirewallRuleSet: preauthenticated-users
|
|
#
|
|
# Control access for users before authentication.
|
|
# These rules are inserted in the PREROUTING chain
|
|
# of the router's nat table, and in the
|
|
# FORWARD chain of the router's filter table.
|
|
# These rules apply to packets that have come in to the
|
|
# router over the GatewayInterface from MAC addresses that
|
|
# are not on the BlockedMACList or TrustedMACList,
|
|
# are *not* authenticated with Nodogsplash. The rules are
|
|
# considered in order, and the first rule that matches
|
|
# a packet applies to it. A packet that does not match
|
|
# any rule here is rejected.
|
|
# N.B.: This ruleset is completely independent of
|
|
# the authenticated-users and users-to-router rulesets.
|
|
#
|
|
FirewallRuleSet preauthenticated-users {
|
|
# For preauthenticated users to resolve IP addresses in their
|
|
# initial request not using the router itself as a DNS server.
|
|
# Leave commented to help prevent DNS tunnelling
|
|
# FirewallRule allow tcp port 53
|
|
# FirewallRule allow udp port 53
|
|
#
|
|
# For splash page content not hosted on the router, you
|
|
# will want to allow port 80 tcp to the remote host here.
|
|
# Doing so circumvents the usual capture and redirect of
|
|
# any port 80 request to this remote host.
|
|
# Note that the remote host's numerical IP address must be known
|
|
# and used here.
|
|
# FirewallRule allow tcp port 80 to 123.321.123.321
|
|
}
|
|
# end FirewallRuleSet preauthenticated-users
|
|
|
|
|
|
# FirewallRuleSet: users-to-router
|
|
#
|
|
# Control access to the router itself from the GatewayInterface.
|
|
# These rules are inserted at the beginning of the
|
|
# INPUT chain of the router's filter table, and
|
|
# apply to packets that have come in to the router
|
|
# over the GatewayInterface from MAC addresses that
|
|
# are not on the TrustedMACList, and are destined for
|
|
# the router itself. The rules are
|
|
# considered in order, and the first rule that matches
|
|
# a packet applies to it.
|
|
# If there are any rules in this ruleset, a
|
|
# packet that does not match any rule is rejected.
|
|
#
|
|
FirewallRuleSet users-to-router {
|
|
# Nodogsplash automatically allows tcp to GatewayPort,
|
|
# at GatewayAddress, to serve the splash page.
|
|
# However you may want to open up other ports, e.g.
|
|
# 53 for DNS and 67 for DHCP if the router itself is
|
|
# providing these services.
|
|
FirewallRule allow udp port 53
|
|
FirewallRule allow tcp port 53
|
|
FirewallRule allow udp port 67
|
|
# You may want to allow ssh, http, and https to the router
|
|
# for administration from the GatewayInterface. If not,
|
|
# comment these out.
|
|
FirewallRule allow tcp port 22
|
|
FirewallRule allow tcp port 80
|
|
FirewallRule allow tcp port 443
|
|
}
|
|
# end FirewallRuleSet users-to-router
|
|
|
|
# EmptyRuleSetPolicy directives
|
|
# The FirewallRuleSets that NoDogSplash permits are:
|
|
#
|
|
# authenticated-users
|
|
# preauthenticated-users
|
|
# users-to-router
|
|
# trusted-users
|
|
# trusted-users-to-router
|
|
#
|
|
# For each of these, an EmptyRuleSetPolicy can be specified.
|
|
# An EmptyRuleSet policy applies to a FirewallRuleSet if the
|
|
# FirewallRuleSet is missing from this configuration file,
|
|
# or if it exists but contains no FirewallRules.
|
|
#
|
|
# The possible values of an EmptyRuleSetPolicy are:
|
|
# allow -- packets are accepted
|
|
# block -- packets are rejected
|
|
# passthrough -- packets are passed through to pre-existing firewall rules
|
|
#
|
|
# Default EmptyRuleSetPolicies are set as follows:
|
|
# EmptyRuleSetPolicy authenticated-users passthrough
|
|
# EmptyRuleSetPolicy preauthenticated-users block
|
|
# EmptyRuleSetPolicy users-to-router block
|
|
# EmptyRuleSetPolicy trusted-users allow
|
|
# EmptyRuleSetPolicy trusted-users-to-router allow
|
|
|
|
|
|
# Parameter: GatewayName
|
|
# Default: NoDogSplash
|
|
#
|
|
# Set GatewayName to the name of your gateway. This value
|
|
# will be available as variable $gatewayname in the splash page source
|
|
# and in status output from ndsctl, but otherwise doesn't matter.
|
|
# If none is supplied, the value "NoDogSplash" is used.
|
|
#
|
|
# GatewayName NoDogSplash
|
|
|
|
# Parameter: GatewayAddress
|
|
# Default: Discovered from GatewayInterface
|
|
#
|
|
# This should be autodetected on an OpenWRT system, but if not:
|
|
# Set GatewayAddress to the IP address of the router on
|
|
# the GatewayInterface. This is the address that the Nodogsplash
|
|
# server listens on.
|
|
#
|
|
# GatewayAddress 192.168.1.1
|
|
|
|
# Parameter: StatusPage
|
|
# Default: status.html
|
|
#
|
|
# The page the client is show if the client is already authenticated but navigates to the captive portal.
|
|
#
|
|
# StatusPage status.html
|
|
|
|
# Parameter: SplashPage
|
|
# Default: splash.html
|
|
#
|
|
# The page the client is redirected to if not authenticated or whitelisted.
|
|
#
|
|
# SplashPage splash.html
|
|
|
|
# Parameter: RedirectURL
|
|
# Default: none
|
|
#
|
|
# After authentication, normally a user is redirected
|
|
# to their initially requested page.
|
|
# If RedirectURL is set, the user is redirected to this URL instead.
|
|
#
|
|
# RedirectURL http://www.ilesansfil.org/
|
|
|
|
# Parameter: GatewayPort
|
|
# Default: 2050
|
|
#
|
|
# Nodogsplash's own http server uses GatewayAddress as its IP address.
|
|
# The port it listens to at that IP can be set here; default is 2050.
|
|
#
|
|
# GatewayPort 2050
|
|
|
|
# Parameter: MaxClients
|
|
# Default: 20
|
|
#
|
|
# Set MaxClients to the maximum number of users allowed to
|
|
# connect at any time. (Does not include users on the TrustedMACList,
|
|
# who do not authenticate.)
|
|
#
|
|
MaxClients 250
|
|
|
|
# Parameter: SessionTimeout
|
|
# Default: 0
|
|
#
|
|
# Set the default session length in minutes. A value of 0 is for
|
|
# sessions without an end.
|
|
#
|
|
|
|
# Parameter: PreAuthIdleTimeout
|
|
# Default: 10
|
|
#
|
|
# Set PreAuthIdleTimeout to the desired number of minutes before
|
|
# an pre-authenticated user is automatically removed from the client list.
|
|
#
|
|
|
|
# Parameter: AuthIdleTimeout
|
|
# Default: 120
|
|
#
|
|
# Set AuthIdleTimeout to the desired number of minutes before
|
|
# an authenticated user is automatically 'deauthenticated'
|
|
# and removed from the client list.
|
|
#
|
|
|
|
# Parameter: CheckInterval
|
|
# Default: 30
|
|
#
|
|
# Interval in seconds (!) the timeouts of all clients are checked.
|
|
#
|
|
|
|
# Parameter: MACMechanism
|
|
# Default: block
|
|
#
|
|
# Either block or allow.
|
|
# If 'block', MAC addresses on BlockedMACList are blocked from
|
|
# authenticating, and all others are allowed.
|
|
# If 'allow', MAC addresses on AllowedMACList are allowed to
|
|
# authenticate, and all other (non-trusted) MAC's are blocked.
|
|
#
|
|
# MACMechanism block
|
|
|
|
# Parameter: BlockedMACList
|
|
# Default: none
|
|
#
|
|
# Comma-separated list of MAC addresses who will be completely blocked
|
|
# from the GatewayInterface. Ignored if MACMechanism is allow.
|
|
# N.B.: weak security, since MAC addresses are easy to spoof.
|
|
#
|
|
# BlockedMACList 00:00:DE:AD:BE:EF,00:00:C0:1D:F0:0D
|
|
|
|
# Parameter: AllowedMACList
|
|
# Default: none
|
|
#
|
|
# Comma-separated list of MAC addresses who will not be completely
|
|
# blocked from the GatewayInterface. Ignored if MACMechanism is block.
|
|
# N.B.: weak security, since MAC addresses are easy to spoof.
|
|
#
|
|
# AllowedMACList 00:00:12:34:56:78
|
|
|
|
# Parameter: TrustedMACList
|
|
# Default: none
|
|
#
|
|
# Comma-separated list of MAC addresses who are not subject to
|
|
# authentication, and are not restricted by any FirewallRuleSet.
|
|
# N.B.: weak security, since MAC addresses are easy to spoof.
|
|
#
|
|
# TrustedMACList 00:00:CA:FE:BA:BE, 00:00:C0:01:D0:0D
|
|
|
|
# Parameter: TrafficControl
|
|
# Default: no
|
|
#
|
|
# Set to yes (or true or 1), to enable traffic control in Nodogsplash.
|
|
#
|
|
# TrafficControl no
|
|
|
|
# Parameter: DownloadLimit
|
|
# Default: 0
|
|
#
|
|
# If TrafficControl is enabled, this sets the maximum download
|
|
# speed to the GatewayInterface, in kilobits per second.
|
|
# For example if you have an ADSL connection with 768 kbit
|
|
# download speed, and you want to allow about half of that
|
|
# bandwidth for the GatewayInterface, set this to 384.
|
|
# A value of 0 means no download limiting is done.
|
|
#
|
|
# DownloadLimit 384
|
|
|
|
# Parameter: UploadLimit
|
|
# Default: 0
|
|
#
|
|
# If TrafficControl is enabled, this sets the maximum upload
|
|
# speed from the GatewayInterface, in kilobits per second.
|
|
# For example if you have an ADSL connection with 128 kbit
|
|
# upload speed, and you want to allow about half of that
|
|
# bandwidth for the GatewayInterface, set this to 64.
|
|
# A value of 0 means no upload limiting is done.
|
|
#
|
|
# UploadLimit 64
|
|
|
|
# Parameter: GatewayIPRange
|
|
# Default: 0.0.0.0/0
|
|
#
|
|
# By setting this parameter, you can specify a range of IP addresses
|
|
# on the GatewayInterface that will be responded to and managed by
|
|
# Nodogsplash. Addresses outside this range do not have their packets
|
|
# touched by Nodogsplash at all.
|
|
# Defaults to 0.0.0.0/0, that is, all addresses.
|
|
#
|
|
# GatewayIPRange 0.0.0.0/0
|
|
|
|
# Parameter: ImagesDir
|
|
# Default: images
|
|
#
|
|
# Set the directory from which images are served.
|
|
# Use $imagesdir in HTML files to reference this directory.
|
|
#
|
|
# ImagesDir images
|
|
|
|
# Parameter: DebugLevel
|
|
# Default: 5
|
|
#
|
|
# Set the debug level. Use 9 for maximum verbosity.
|
|
#
|
|
# DebugLevel 5
|
|
|
|
# Parameter: fasport
|
|
# Default: None
|
|
#
|
|
# Enable Forwarding Authentication Service (FAS)
|
|
# If set redirection is changed from splash.html to a FAS (provided by the system administrator)
|
|
# The value is the IP port number of the FAS
|
|
#
|
|
# fasport 2080
|
|
|
|
# Parameter: fasremoteip
|
|
# Default: GatewayAddress (the IP of NDS)
|
|
#
|
|
# If set, this is the remote ip address of the FAS.
|
|
#
|
|
# fasremoteip 46.32.240.41
|
|
|
|
# Parameter: faspath
|
|
# Default: /
|
|
#
|
|
# This is the path from the FAS Web Root to the FAS login page
|
|
# (not the file system root).
|
|
#
|
|
# faspath /nodog/fas.php
|
|
|
|
# Parameter: fas_secure_enabled
|
|
# Default: 1
|
|
#
|
|
# If set to "1", authaction and the client token are not revealed and it is the responsibility
|
|
# of the FAS to request the token from NDSCTL.
|
|
# If set to "0", the client token is sent to the FAS in clear text in the query string of the
|
|
# redirect along with authaction and redir.
|
|
#
|
|
# fas_secure_enabled 0
|
|
|
|
# Parameter: BinAuth
|
|
#
|
|
# Enable BinAuth Support.
|
|
# If set, a program is called with several parameters on authentication (request) and deauthentication.
|
|
#
|
|
# Request for authentication:
|
|
#
|
|
# $<BinAuth> auth_client <client_mac> '<username>' '<password>'
|
|
#
|
|
# The username and password values may be empty strings and are URL encoded.
|
|
# The program is expected to output the number of seconds the client
|
|
# is to be authenticated. Zero or negative seconds will cause the authentification request
|
|
# to be rejected. The same goes for an exit code that is not 0.
|
|
# The output may contain a user specific download and upload limit in KBit/s:
|
|
# <seconds> <upload> <download>
|
|
#
|
|
# Called on authentication or deauthentication:
|
|
# $<BinAuth> <*auth|*deauth> <incoming_bytes> <outgoing_bytes> <session_start> <session_end>
|
|
#
|
|
# "client_auth": Client authenticated via this script.
|
|
# "client_deauth": Client deauthenticated by the client via splash page.
|
|
# "idle_deauth": Client was deauthenticated because of inactivity.
|
|
# "timeout_deauth": Client was deauthenticated because the session timed out.
|
|
# "ndsctl_auth": Client was authenticated manually by the ndsctl tool.
|
|
# "ndsctl_deauth": Client was deauthenticated by the ndsctl tool.
|
|
# "shutdown_deauth": Client was deauthenticated by Nodogsplash terminating.
|
|
#
|
|
# Values session_start and session_start are in seconds since 1970 or 0 for unknown/unlimited.
|
|
#
|
|
# BinAuth /bin/myauth.sh
|
|
|
|
# Nodogsplash uses specific HEXADECIMAL values to mark packets used by iptables as a bitwise mask.
|
|
# This mask can conflict with the requirements of other packages such as mwan3, sqm etc
|
|
# Any values set here are interpreted as in hex format.
|
|
#
|
|
# Parameter: fw_mark_authenticated
|
|
# Default: 30000 (0011|0000|0000|0000|0000 binary)
|
|
#
|
|
# Parameter: fw_mark_trusted
|
|
# Default: 20000 (0010|0000|0000|0000|0000 binary)
|
|
#
|
|
# Parameter: fw_mark_blocked
|
|
# Default: 10000 (0001|0000|0000|0000|0000 binary)
|
|
#
|