Openvpn forgalomátirányítás, hogyan?

Sziasztok!

Furcsa problémába futottam bele, remélem tudtok rá mondani valamit.
A következő felállást szeretném összehozni. Adott egy "server" egy belső hálón, egy SOHO router mögött, ezen fut egy openvpn, ezen kívül egy laptop, amivel gyakran használok nyilvános, titkosítatlan WIFI-t. A cél az lenne, hogy mind a belső hálót, amin ez a server lóg, mind az internetet a VPN-en keresztül érjem el.
Az elképzelés az volt, hogy beállítok NAT-ot a gép fizikai és openvpn interface-e közé, valahogy így:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tap0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT

Aztán a laptopon felveszem a route táblába a vpn server publikus IP címéhez a WIFI hálózat átjáróját, majd default gw-nek beállítom az openvpn server felőli IP-jét. A dolog működik is, a csomagjaim valóban arra mennek, amerre terveztem, csak iszonyatosan lassan. Pingelésre teljesen normális, ~50 ms-es késleltetést kapok, nincs elveszett csomag, csak az a furcsa, hogy két ping csomag elküldése közt a gép valamin gondolkodik 4-5 másodpercet. Ha a serverhez tartozó belső hálózat bármely gépét pingelem, akkor viszont semmi probléma, minden gyors.

A server config fájlja (a HUP hogyan alapján:)):

port 1194
proto udp
dev tap
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
push "route 192.168.0.0 255.255.255.0" # A helyi hálózathoz való routolás
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3
mute 20

Ha valaki megmondja, mit rontottam el, azért hálás leszek, de ha tudtok valami elegánsabb, szebb megoldást, azt is szívesen fogadom.
Előre is köszi!

Hozzászólások