Skocz do zawartości
Zaloguj się, aby obserwować  
^^KaMaZZ~.^

iptables i przenoszenie pakietów

Polecane posty

Witajcie :)

 

Jak może część z Was wie, posiadam maszynki na łączu TP, na których trzymam swoje serwery gier.

Jednak potrzebne mi jest, aby każdy z użytkowników mógł, w miarę możliwości, cieszyć się niskim pingiem, bez krążenia pakietów zagranicą :)

 

Wiadomo, że nie każdy operator ma wpięcie do TP i nie będzie to wyglądało różowo, więc pomyślałem, żeby niejako obejść to i postawić VPSa, który będzie pośrednikiem w wymianie ruchu (a gracz łączyłby się po prostu przez inne IP i port serwera gry).

 

Początkowo dodałem na VPSie do iptables następujące regułki:

iptables -t nat -A PREROUTING -p udp --dport 27015:27030 -j DNAT --to IP_serwera_gier
iptables -t nat -A POSTROUTING -p udp --dport 27015:27030 -j SNAT --to IP_VPSa

Wszystko działa fajnie, jednak każdy gracz, łączący się na IP_VPSa i port serwera gry, jest widoczny na serwerze z IP VPSa (wiadomo, zmiana SRC).

Pomyślałem, że można by to było rozwiązać w następujący sposób:

 

Regułka na VPSie:

iptables -t nat -A PREROUTING -p udp --dport 27015 -j DNAT --to IP_serwera_gier:27215

Regułki na serwerze gier:

iptables -t mangle -A PREROUTING -p udp --dport 27215 -j MARK --set-mark=0x2
iptables -t nat -A PREROUTING -p udp -m mark --mark 0x2 -j DNAT --to IP_serwera_gier:27015
iptables -t nat -A OUTPUT -p udp -m mark --mark 0x2 -j DNAT --to IP_VPSa:27015

Wszystko polega na zmianie portu ( z 27015 na 27215 ) na VPSie, oznaczeniu takiego pakietu na serwerze_gier, zmianie portu spowrotem na 27015 i zwróceniu go z takim portem na VPSa.

 

Jednak nie chce to działać w żaden sposób, widocznie jestem jeszcze lewy, jeśli chodzi o iptables :)

 

Jeśli ktoś z Was mógłby podać rozwiązanie, które zadziała, nakierować mnie jakoś, to byłbym wdzięczny :)

 

Pozdrawiam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×