Repository navigation
Networking
The SCCS installer configures the Raspberry Pi as router. The wired ethernet port connects to the internal network (e.g. a 12V PoE ethernet switch) where the WAPs and touchscreens live. Internet is shared from the Wi-Fi or USB hotspot and distributed to the LAN/Wi-Fi. Pi-hole provides DNS, DHCP and ad-filtering. Routing is configured using in-built linux nftables. This is automatically configured by the installer or from running the network configuration option from the installer menu.
| Role | Interface (default) | Purpose |
|---|---|---|
| LAN/Wi-Fi | Wired Ethernet |
Hosts LAN/Wi-Fi - screens, clients, WAP points |
| WAN | wlan0 |
Upstream internet supplied by Wi-Fi/USB hotspot, Starlink, 5G modem |
Networking is setup during the initial install and can be re-run from the main installer menu later via menu option 6. Networking can be configured without the SCCS core connected.
See Overrides to change these settings before running the installer.
| Setting | Value |
|---|---|
| LAN/Wi-Fi interface | eth0 |
| LAN/Wi-Fi address / Subnet | 10.10.10.1/24 |
| LAN/Wi-Fi IPv6 | link-local only (ipv6.never-default) — needed for Google Home / Matter |
| DHCP Pool |
10.10.10.50 – 10.10.10.200
|
| DHCP Lease | 12h |
| DHCP Gateway | 10.10.10.1 |
| DNS | 10.10.10.1 |
| Pi-hole domain | lan |
| Upstream DNS (Cloudflare) |
1.1.1.1, 1.0.0.1
|
| WAN (default) | wlan0 |
| IP forwarding | enabled |
| Pi-hole admin UI | http://10.10.10.1:8080/admin |
| SCCS UI (nginx) | http://10.10.10.1/ |
Pi-hole is installed when networking is configured and is updated as part of the update checks when using menu option 2. DHCP listens on the LAN/Wi-Fi/wired ethernet port only.
Admin password
The password is generated during install. Show it with
sudo cat /root/.sccs-pihole-web-passwordAccess the web UI at: http://10.10.10.1:8080/admin
Change Password: pihole setpassword (or pihole -a -p).
The block list is updated when doing an update via menu option 2.
| Service | Port | Notes |
|---|---|---|
| nginx | 80 | Site: /etc/nginx/sites-available/sccs
|
| SCCS | 5000 | Listens on the IP configured in sccs.conf |
| Pi-hole | 8080 | For configuring DNS, DHCP, blocklists etc. |
| Samba | 139 / 445 | Share path ~/sccs for editing config from another computer |
| SSH | 22 | Use credentials you set when imaging the SD card |
| HomeKit (HAP) | 51826 | Optional. Advertised on the LAN/Wi-Fi address only ([homekit] bind_address). See HomeKit. |
| Matter | 5540 | Optional Google Home bridge. IPv6 mDNS on the LAN/Wi-Fi. See Google Home. |
SCCS UI: http://10.10.10.1/ (or the Raspberry Pi’s Wi-Fi IP if you are not on the LAN/Wi-Fi).
- Enable Hotspot on the phone.
- Plug into the Raspberry Pi; installer scans for interfaces such as
eth1,usb0,rndis0,enx…. - The interface will be added as a WAN connection.
- If the Raspberry Pi is connected to Wi-Fi and a USB internet connection is plugged in, you can set the preferred connection in the settings tab of the UI.
| Path | Role |
|---|---|
/etc/nftables.conf |
Forward + masquerade rules |
/etc/sysctl.d/99-sccs-forward.conf |
IP forwarding |
/etc/polkit-1/rules.d/50-sccs-networkmanager.rules |
NM permissions for netdev
|
/etc/pihole/setupVars.conf |
Initial unattended Pi-hole seed (first install) |
/etc/dnsmasq.d/02-sccs-wan-except.conf |
no-dhcp-interface on WAN |
/etc/dnsmasq.d/99-sccs-static-dhcp.conf |
Comments / documentation for screen reservations |
/root/.sccs-pihole-web-password |
Pi-hole admin password (mode 600) |
/etc/nginx/sites-available/sccs |
Reverse proxy for the UI |
NM connection sccs-lan (or existing eth profile) |
Static LAN/Wi-Fi addressing |
NM connection sccs-usb-tether (if created) |
Phone USB uplink |
Do not hand-edit the generated nftables or WAN-except files if you plan to re-run the installer as they are regenerated.
Set before running the installer (or menu option 6 / --lan) to customise your installation:
| Variable | Default | Meaning |
|---|---|---|
LAN_IF |
auto / eth0
|
LAN/Wi-Fi interface name |
LAN_ADDR |
10.10.10.1 |
Raspberry Pi address on the LAN/Wi-Fi |
LAN_CIDR |
24 |
Prefix length |
WAN_IF |
wlan0 |
Primary WAN |
EXTRA_WAN_IF |
(empty) | Extra WAN (e.g. tether) |
WAN_IFS |
(from above) | Space-separated WAN list (menu 7 sets this) |
DHCP_RANGE_START |
10.10.10.50 |
Pool start |
DHCP_RANGE_END |
10.10.10.200 |
Pool end |
DHCP_LEASE |
12h |
Lease duration |
SCCS_UI_URL |
http://10.10.10.1/ |
Chromium homepage on touchscreens |
Example:
sudo env LAN_ADDR=10.10.10.1 WAN_IF=wlan0 ./install.sh --lanTouchscreen on/off and brightness commands are sent via SSH. The installer has a guided setup for this, see the Software Configuration page for setup details.
# Status
ip -br addr
ip route
systemctl status nftables pihole-FTL nginx sccs
pihole status
# Pi-hole
sudo cat /root/.sccs-pihole-web-password
pihole -up # update Pi-hole + gravity (also done on SCCS “Update”)
pihole reloaddns
# NAT rules live here
sudo nft list ruleset
cat /etc/nftables.conf
# Re-apply LAN/Wi-Fi + Pi-hole + NAT
sudo ~/sccs/install.sh --lan
# or menu option 6
# Phone hotspot + refresh NAT
sudo ~/sccs/install.sh --usb-tether