SSH Port Forwarding:Overview
Appearance
This document describes the SSH port forwarding system architecture and how it works.
Architecture
[edit]Components
[edit]Configuration File: /etc/ssh-port-forwards.conf
[edit]* Defines all SSH port forwards in a simple format
* One device per line
Management Script: /usr/local/bin/ssh-port-forward-manager.sh
[edit]* Adds, removes, and lists SSH port forwards
* Applies iptables rules automatically
* Validates configurations
Integration: /etc/openvpn/iptables-restore.sh
[edit]* Automatically applies all port forwards when VPN starts
* Ensures rules persist after reboots
How It Works
[edit]External Client → VPS:EXTERNAL_PORT (e.g., 22222) → iptables DNAT rule → VPN Tunnel (tun0) → VPN_DEVICE:SSH_PORT (e.g., 10.8.0.2:22)
Current Configuration
[edit]To see the current configuration:
cat /etc/ssh-port-forwards.conf
To see active iptables rules:
== View DNAT rules == iptables -t nat -L PREROUTING -n -v | grep DNAT == View FORWARD rules == iptables -t filter -L FORWARD -n -v | grep -E "10\.8\.0\."
Related Documentation
[edit]- [[Documentation:Configuration](Configuration|- Configuration file format
- [Management]])(management.md) - Managing port forwards
- Troubleshooting - Troubleshooting guide