

World of Warcraft přes SSH tunnel
Zdravím,
chtěl bych se zeptat, jak udělat, aby mi šel WoW přes SSH tunnel. Server world of warcraft se zkládá z worldu (8085) a realmu (3724). Hra world of warcraft má svůj realmlist, kam si napíšu IP serveru, kam se chci připojit. Vytvořil jsem si SSH tunnel, aby příchozí komunikaci na 127.0.0.1 a portech 8085 a 3724 poslal přes SSH tunel na server. Komunikace mi funguje ale napůl.
Problém:
1) v SSH jsem přesměroval tedy komunikaci ze 127.0.0.1 na IP serveru
2) do realmlistu jsem napsal IP 127.0.0.1 (aby to šlo přes SSH tunel)
3) když hru zapnu, zadám account a heslo, tak se připojí hra přes tunnel (3724) do serveru, ověří účet a připojí se
4) když se hra začne spojovat do worldu na (8085), tak i přes to, že v realmlistu je IP 127.0.0.1, tak minulá komunikace (3724) sdělila IP serveru a už ty pakety "netečou" přes 127.0.0.1 ale jdou rovnou na IP_SERVERU:8085
Jak to vím, že hra i přes 127.0.0.1 v realmlistu se připojuje na 8085 přes IP_SERVERU ?
Jednoduše jsem si to odchytil ve Wiresharku, kde je vidět komunikace přes SSH a když má přijít 8085, tak už to jede přímo na IP_serveru
Jak to chci udělat?
Chtěl bych nějak vyřešit, aby veškerá komunikace s IP_SERVERU z mého počítače šla na 127.0.0.1, aby to mohlo jít přes SSH tunnel. Pokud by hra tázala připojení přes IP serveru, tak by něco ten packet přesměrovalo na 127.0.0.1, kde by si to už odchytil ten SSH tunnel.
Děkuji předem za pomoc.
Musis pouzit nejake socks riesenie, cize "presocksosovat" cely system, co je u Windowsov zlozitejsie ako v linuxe.
To mě napadlo a i vím, jak na to, akorát se mi nějak nepodařilo rozchodit proxy server na linux. Možná kdybych nainstaloval na linux server (squid) a použil to jako proxy server, kterýmu bych se připojil přes proxifier(veškerou komunikaci ve Windows "proxuje"), tak by to možná fungovalo. Co myslíš ?
Socs řešení netřeba. Stačí DNS. Na realmlistu zadáš jméno, ten server má nějaké jméno a u tebe v hosts souboru bude pro to jméno (ta jména) IP 127.0.0.1
To jsem zkoušel do hosts jsem napsal wow.twinstar.cz 127.0.0.1, opět to na realmu fungovalo a potom, když mu ten server odpovídal z wow.twinstar.cz, tak už posílal world packets stejně na IP_SERVERU místo 127.0.0.1
Já bych potřeboval nějak přesměrovat ve Windows že:
Všechny packety ze 127.0.0.1 na 80.79.28.31 přesměrovat na 127.0.0.1
Co takhle si na loopback rozhraní ve windows nastavit IP adresu tvého wow serveru a ten tunel ukončovat na tom loopbacku?
Loopback ve Windows ? Jak to teď přesně myslíš? Jako udělat si loopback rozhrání s IP serveru ? Ale já nevím bránu ani masku serveru. Ale pořád nechápu, jak jako ukončovat na tom loopbacku ?
Mohl by jsi popsat postup, jak ten tunel nahazuješ teď?
Na tom serveru, kde ukončuješ tunel, běží i to wowko, nebo běží jinde?
Ano, mám linux server v serverovně, který má veřejnou IP adresu. Je na něm SSH server. Do realmlistu World of Warcraft zadám IP 127.0.0.1 a pomocí SSH tunelu ( bayer.netwell.cz/portforward.png ) si to přesměruju přes ssh do serveru (wow.twinstar.cz)
Schéma teoretického a praktického připojení bayer.netwell.cz/schema.PNG
Dobré, a mohl by jsi poslat i ten SSH příkaz? Předpokládám, že to máš něco jako ssh uziv@srv -L:3274:80.79.28.31:3274 -L:8085:80.79.28.31:8085
No, a řešením by bylo do tvého počítače nainstalovat loopback adaptér a na tento adaptér nastavit stejnou adresu, jako má ten wow server, tj 80.79.28.31.
Tvůj příkaz by pak mohl vypadat nějak takhle:
ssh uziv@srv -L80.79.28.31:3274:80.79.28.31:3274 -L80.79.28.31:8085:80.79.28.31:8085
A tím by se vyřešil tvůj problém, protože jak jsi psal v dotaze v bodě 4
tak tím pádem ty packety půjdou sice zase na IP_SERVERU:8085, ale protože tu adresu máš u sebe na počítači, budeš elegantně protunelovaný zase zpátky na tvůj linux server a dále až k wowku.
Loopback mám, když si na něj chci pingnout nebo tracert, tak vidím, že to notebook posílá na můj LoopBack adaptér nikam ven, takže to funguje. Když jsem chtěl použít Tvůj příkaz, tak se v něm vyskytla nějaká chybička ( bayer.netwell.cz/chyba.PNG ). Ale to bude asi jenom nějaká drobnost né? Nechci do toho nijak zasahovat, tak radši píšu "Tvůrci" příkazu. Ale čistě teoreticky máš pravdu, mělo by to fungovat.
Hmm, vypadá to, že specifikovat bind rozhraní na lokální straně umí jen linuxové verze ssh a cygwin.
Dobře, nech ten tvůj příkaz tak jak je (-L8085:80.79.28.31:8085 -L3274:80.79.28.31:3274) a po navázání tunelu se podívej do netstat -an, na kterých rozhraních ty porty 8085 a 3274 naslouchají. Pokud budou naslouchat na všech nebo alespoň na adrese 0.0.0.0, je šance, že máš vyhráno.
Funguje to ! Děkuju !