6.9 KiB
OpenWrt: Connect to Starlink WiFi (client) and route blocked sites via it (LuCI)
Step-by-step using the LuCI web UI where possible. Router: Archer C6, OpenWrt/LuCI. Goal: main WAN stays default; traffic to polymarket (and similar) goes via Starlink WiFi.
Part 1: Connect router to Starlink WiFi (client mode)
You need one radio as AP (your LAN WiFi) and one as Client (Starlink). Archer C6 has 2.4 GHz and 5 GHz; use one for Starlink client.
1.1 Install WiFi client (if needed)
SSH into the router, then:
opkg update
opkg install wpad-mesh-openssl
(Some images already include this. If "Scan" works in LuCI, skip.)
1.2 Create the Starlink client interface in LuCI
- Log in to LuCI (e.g.
http://192.168.0.1). - Go to Network → Wireless.
- You should see two radios (e.g. "Radio0 (2.4 GHz)", "Radio1 (5 GHz)").
- On the radio you will use for Starlink (e.g. Radio1 (5 GHz)):
- Click Scan.
- Wait for the list; find your Starlink WiFi SSID.
- Click Join network next to it.
- In the dialog:
- Network: leave as new (e.g.
wwan) or set a name likestarlink. - Wireless Security: choose the encryption (usually WPA2-PSK) and enter the Starlink WiFi password.
- Leave other options default. Submit.
- Network: leave as new (e.g.
- The new interface (e.g.
wwanorstarlink) appears under Network → Wireless as a Client network. Ensure it is Enabled and not disabled.
1.3 Create a WAN interface for Starlink and assign firewall
The client connection gets an IP via DHCP from Starlink. You must create a protocol interface for it and put it in the wan firewall zone so it is used as a WAN.
- Go to Network → Interfaces.
- Click Add new interface:
- Name:
wan2(orstarlink). - Protocol: DHCP client.
- Device: select the device that corresponds to the Starlink client (e.g.
wwanor the wireless device name shown for that client network). If unsure, check Network → Wireless and see which device the client is on (e.g.wlan1). - Submit.
- Name:
- On the new interface’s page:
- General Setup: ensure "Bring up on boot" or similar is checked.
- Firewall Settings: assign to wan (same zone as your main WAN). This is required for NAT and mwan3.
- Save & Apply.
1.4 Verify Starlink connectivity
- In Network → Interfaces,
wan2should show an IP (from Starlink’s DHCP). - From a device on your LAN, you can ping 8.8.8.8 (main WAN is still default). To test Starlink alone you’ll confirm after Part 2 with a policy.
Part 2: Install and configure mwan3 (Load Balancing)
mwan3 will use both WANs: default traffic via main WAN, and specific destination IPs (polymarket) via Starlink.
2.1 Install mwan3 (SSH)
LuCI app for mwan3 is not always preinstalled. On the router via SSH:
opkg update
opkg install mwan3 luci-app-mwan3
Then in LuCI you should see Network → Load Balancing (or Multi-WAN).
2.2 Configure interfaces (LuCI)
- Go to Network → Load Balancing → Configuration (or Interfaces tab).
- Interfaces:
- You should see wan (main) and wan2 (Starlink). If not, add wan2:
- Interface:
wan2 - Enable: checked
- Track IP: e.g.
8.8.8.8or1.1.1.1(used for health check). - Metric:
20(higher than wan so default route prefers main WAN). - Reliability: e.g.
1. - Save.
- Interface:
- For wan (main WAN):
- Metric:
10(lower = preferred for default). - Track IP: e.g.
8.8.8.8. - Save.
- Metric:
- You should see wan (main) and wan2 (Starlink). If not, add wan2:
- Members tab:
- wan → member e.g.
wan_m1, metric1. - wan2 → member e.g.
wan2_m1, metric1.
- wan → member e.g.
- Policies tab:
- default_policy: last resort; assign only wan_m1 (main WAN only). So all traffic that doesn’t match a rule uses main WAN.
- Add policy starlink_only: assign only wan2_m1. This will be used for polymarket IPs.
- Rules tab (order matters; more specific first):
- Add a rule for polymarket:
- Name: e.g.
polymarket_via_starlink - Destination address: see below (polymarket IPs). You can add one rule with multiple IPs/CIDRs or several rules.
- Policy: starlink_only
- Sticky: optional (e.g. 1 minute) so the same connection stays on Starlink.
- Name: e.g.
- Ensure there is a default rule:
- Destination address:
0.0.0.0/0 - Policy: default_policy
- Destination address:
- Default rule must be last (lowest priority). Polymarket rule must be above it.
- Add a rule for polymarket:
2.3 Polymarket destination IPs
mwan3 matches by destination IP, not domain. You need to add the IPs (or CIDRs) for polymarket.com and any related hostnames.
- Resolve from a PC (that can reach polymarket, or use any DNS):
nslookup polymarket.comnslookup www.polymarket.com- Add any other subdomains you use (e.g.
gamma-api.polymarket.com).
- In LuCI Load Balancing → Rules, in the polymarket rule set Destination address to one of:
- Single IP:
a.b.c.d/32 - Several IPs: add multiple rules with the same policy, or use a space-separated list if LuCI allows (e.g.
1.2.3.4/32 5.6.7.8/32).
- Single IP:
- CDN IPs can change. If the site stops working via Starlink, resolve the domains again and add/update the IPs in the rule. You can later automate this with a script that updates the mwan3 config or uses ipset.
Example (replace with real IPs you resolved):
- Destination address:
104.18.2.2/32 172.67.1.1/32(example only; get real IPs for polymarket.com).
2.4 Save and apply
- Save & Apply in Load Balancing and in Network → Interfaces if you changed anything.
- Test: from a LAN device, open polymarket.com; it should go via Starlink. Other sites still via main WAN.
Part 3: Quick reference (LuCI locations)
| Step | LuCI path |
|---|---|
| Create Starlink client | Network → Wireless → Scan → Join |
| WAN interface for WiFi | Network → Interaces → Add (DHCP, wan zone) |
| Load Balancing config | Network → Load Balancing |
| Interfaces (wan, wan2) | Load Balancing → Interfaces |
| Policies | Load Balancing → Policies |
| Rules (polymarket, default) | Load Balancing → Rules |
Troubleshooting
- Starlink client not getting IP: Check WiFi password; ensure Starlink router is in range; check Network → Wireless that the client network is enabled and associated.
- All traffic still via main WAN: Ensure the polymarket rule is above the default rule; check Destination address uses the correct IPs/CIDRs; ensure starlink_only policy uses only wan2_m1.
- Polymarket works then stops: CDN IPs changed; re-resolve the domain(s) and update the rule’s destination IPs.
- LuCI "Load Balancing" missing: Install
luci-app-mwan3via SSH and refresh the page.