Es scheint mir einiges an Begrifflichkeiten durcheinanderzulaufen, geroutet werden Pakete grundsätzlich nach IP-Adressen und nicht nach Portnummern. Außerdem verstehe ich nichz ganz was du mit dem Routen von VPN meinst. Die verschlüsselten Pakete lassen sich sowieso routen, sonst kämen diese nie an ihr Ziel an.
Die IP-Pakete die aus einem Tunnel herauskommen lassen sich ebenfalls selbstverständlich routen, vorausgesetzt das OS und/oder die Software mit der man arbeitet unterstützt das und man besitzt die Kontrolle über den Rechner. Mit einem selbstaufgesetzten VPN-Server unter Linux ist das sicherlich kein Problem.
Das wie ist im Einzelnen unterschiedlich und hängt davon ab, was für ein VPN man betreibt, es gibt da unterschiedliche Protokolle, Schichten und Anwendungen (pptp, l2ptp, ip-sec, udp, freeswan, openvpn etc.)
Bei mir läuft ein Netz, in der die Absicherung des wlan über vpn mit openvpn realisiert (udp über tun) wird. Ein Rechner dient als VPN-Server an dem ein LinksysWRT54GS sitzt, ein WLAN.Router der aber als Accesspoint eingesetzt wird. Auf dem VPN-Server starten beim Booten automatische mehrere Openvpn-Tunnel um Clientverbindungen entgegen zu nehmen. W-Lan-Clients (xp pro, w2kpro und ein Linux) bauen nach dem Kontakt zum accesspoint über openvpn eine verschlüsselte Verbindung zum VPN-Server auf. Die ankommenden Pakete werden weiter zu einem zweiten Linuxrechner geroutet der als Router/Firewall an einem DSL-Modem hängt. Dazu müssen die Standardrouten gesetzt sein. Dass bedeutet beim WLAN-Client zeigt die Defaultroute auf den VPN-Server und beim VPN-Server zeigt die Defaultroute auf den Router.
Die Firewall auf dem WLAN-Router muss, wenn sie überhaupt eingeschaltet wird die entsprechenden Ports durchlassen, bei openvpn läuft der Verkehr pro Tunnel (pro Client) über den gleichen Ziel und Quellport, standardmässig 5000, 5001 usw. das muss aber eingerichtet werden.
wlanclient.....)))...linksys----VPN-Server----Router----DSL-Modem
|_________vpn.tunnel___________|
wlanclient:
physikalische Adresse der WLAN-Schnittstelle: (verändert) 192.168.5.y
Rechneradresse und virtuelle Schnittstelle:
10.0.0.x/
x=2,6,10 usw
linksys-WRT54GS:
Adresse (verändert) 192.168.5.1
VPN-Server: (Adressen verändert)
eth1: 192.168.5.2
eth0: 192.168.128.1
tun0: 10.0.0.1
tun1: 10.0.0.5
tun2: 10.0.0.9 usw.
Router: (Adressen verändert)
eth0: 192.168.128.253
eth1: 0.0.0.0 dyn.IP vom ISP per ppp0
Auf dem VPN-Server werden die Routingbefehle so gesetzt dass die Pakete vom DSL-Router zurückfinden also so:
10.0.0.0 255.255.255.252 tun0
10.0.0.4 255.255.255.252 tun1
10.0.0.8 255.255.255.252 tun2
usw.
Mit Openvpn werden diese Routen aber gewöhnlich nicht über route oder ip Befehle eingerichtet sondern über entsprechende Optionen in den Konfigurationsfiles der einzelnen Tunnel.
Hoffe ich konnte dir helfen.
mfG
gaw