en
Multiple Tor Bridges on One Server: Configuration Guide
A single VPS can host multiple independent Tor bridges, each with different fingerprints, bridge lines, and obfs4 ports. This multiplies your contribution to the bridge pool without requiring multiple servers. This guide covers configuring two to five bridges on a single server.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Why Run Multiple Bridges Per Server
Multiple bridges on one server provide: more bridge addresses to distribute to users (each bridge is a separate entry point), different fingerprints that can be selectively distributed to different users, redundancy if one bridge's IP is blocked on a specific network (the same server IP on a different port may not be blocked), and increased total bandwidth contribution if each bridge has its own BandwidthRate limit. The primary limitation: all bridges share the server's IP address. If the IP address is blocked (rather than just specific ports), all bridges become unreachable simultaneously.
Creating Multiple Tor Data Directories
Each bridge instance needs its own data directory with unique keys. Directory structure: /var/lib/tor/bridge1/, /var/lib/tor/bridge2/, /var/lib/tor/bridge3/. Create directories: mkdir -p /var/lib/tor/bridge{1,2,3}; chown -R debian-tor:debian-tor /var/lib/tor/bridge{1,2,3}; chmod 700 /var/lib/tor/bridge{1,2,3}. Each bridge needs its own torrc. Create: /etc/tor/torrc.bridge1, /etc/tor/torrc.bridge2, /etc/tor/torrc.bridge3. Each torrc specifies: DataDirectory /var/lib/tor/bridgeN/, ORPort unique_port, ExtORPort unique_port, ServerTransportListenAddr obfs4 0.0.0.0:unique_port, SOCKSPort 0 (disable SOCKS for bridge). Log /var/log/tor/bridgeN.log notice.
Starting Multiple Tor Instances with Systemd
Create systemd service templates for multiple Tor instances: /etc/systemd/system/tor@bridge.service with ExecStart=/usr/bin/tor -f /etc/tor/torrc.%i. Start instances: systemctl start tor@bridge1 tor@bridge2 tor@bridge3. Enable for automatic start: systemctl enable tor@bridge1 tor@bridge2 tor@bridge3. Alternative using standard Tor multiple instance support: Tor package on Debian/Ubuntu supports /etc/tor/instances/ directory for multiple instances. Create /etc/tor/instances/bridge1/ with torrc file - the init script automatically creates service units for each instance directory.
Firewall Configuration for Multiple Bridge Ports
Each bridge needs its ORPort and obfs4 port open in the firewall. For 3 bridges with ORPorts 9001-9003 and obfs4 ports 443,8443,4443: ufw allow 9001/tcp; ufw allow 9002/tcp; ufw allow 9003/tcp; ufw allow 443/tcp; ufw allow 8443/tcp; ufw allow 4443/tcp. Alternatively allow the port ranges in iptables: iptables -A INPUT -p tcp --dport 9001:9003 -j ACCEPT; iptables -A INPUT -p tcp -m multiport --dports 443,8443,4443 -j ACCEPT. Verify with: ufw status numbered or iptables -L -n.
Distributing Multiple Bridge Lines
Each bridge instance generates its own bridge line in its respective pt_state directory: /var/lib/tor/bridge1/pt_state/obfs4_bridgeline.txt. Read each bridge line and distribute to different users or to different bridge distribution channels. Consider using different bridge ports on different bridge distribution channels - if BridgeDB distributes bridge1 on port 443 and it gets blocked, bridge2 on port 8443 distributed to other users may still work. Running multiple bridges per server maximizes the value of each server while contributing diverse entry points to the Tor network.
Related Services
Why Anubiz Host
100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.