Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Přesměrování provozu směřující na por 25565 pomocí iptables.  (Přečteno 2657 krát)

Baadvo

  • Návštěvník
  • Příspěvků: 3
Potřebuji poradit s tvorbou pravidla pro iptables.

Nastíním situaci:
Doma mám schovaný za NATem mého routeru a poskytovatele minecraft server. Mám zaplacený VPS server s veřejnou IP adresou. Mezi těmito stroji mám zprovozněný funkční OpenVPN tunel. Počítače na sebe vidí. Pingují z obou stran.
Potřebuji vytvořit pravidlo pro iptables na VPS serveru tak aby veškerou komunikaci z venčí na port 25565 VPSserveru, VPSserver přesměroval na ip adresu na port 25565 minecraft serveru u mě doma.
Předem děkuji za jakoukoli odpověď.

Na obou serverech běží ubuntu 13.04

jmp

  • Host
Re:Přesměrování provozu směřující na por 25565 pomocí iptables.
« Odpověď #1 kdy: 08 Května 2013, 14:19:07 »
buď spusťte ten minecraft server na tom VPS, nebo použijte mezi VPS a strojem s minecraft serverem stunnel

ETNyx

  • Aktivní člen
  • *
  • Příspěvků: 425
Re:Přesměrování provozu směřující na por 25565 pomocí iptables.
« Odpověď #2 kdy: 09 Května 2013, 09:55:17 »
buď spusťte ten minecraft server na tom VPS
VPSka asi bude mít omezenou pamět a minecraft je docela žrout,...

to pravidlo by mohlo vypadat nějak takhle
Kód: [Vybrat]
iptables -t nat -A POSTROUTING -o (odchozi_sitovka) -p tcp -j SNAT --dport 25565 --to-source (ip_doma)
jabber: etnyx@jabbim.cz

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Přesměrování provozu směřující na por 25565 pomocí iptables.
« Odpověď #3 kdy: 09 Května 2013, 12:30:20 »
buď spusťte ten minecraft server na tom VPS
VPSka asi bude mít omezenou pamět a minecraft je docela žrout,...

to pravidlo by mohlo vypadat nějak takhle
Kód: [Vybrat]
iptables -t nat -A POSTROUTING -o (odchozi_sitovka) -p tcp -j SNAT --dport 25565 --to-source (ip_doma)

^^ omg, boze, no to asi tezko .. nechapu, jak nekdo muze poradit takovouhle blbost .. zamysli se prosim selskym rozumem, jak asi pracuje SNAT Vs DNAT (source/destinmation nat)

to pravidlo ma vypadat takhle:

Kód: [Vybrat]
# iptables-save | grep DNAT
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.68.2:443
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.68.2:80

^^ samozrejme nutno zmenit pro aktualni potreby .. take je mozne dat proto "all" ... (eth1 == u me WAN iface)
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Baadvo

  • Návštěvník
  • Příspěvků: 3
Re:Přesměrování provozu směřující na por 25565 pomocí iptables.
« Odpověď #4 kdy: 10 Května 2013, 18:22:10 »
Děkuji všem. Hned jak se dostanu domů abych zapnul server. Zkusím to. :)

Baadvo

  • Návštěvník
  • Příspěvků: 3
Re:Přesměrování provozu směřující na por 25565 pomocí iptables.
« Odpověď #5 kdy: 10 Května 2013, 19:54:38 »
Použil jsem pravidlo.
Kód: [Vybrat]
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 25565 -j DNAT --to-destination 10.0.1.100:25565Ale na minecraft server se přes VPS bohužel nepřipojím. Nezobrazí se ani hláška v logu minecraft serveru. Není nutné toto pravidlo nějak aplikovat? Po zadání příkazu:
Kód: [Vybrat]
iptables -L
jsou všechny tabulky prázdné. Ale zas na druhou stranu po použití
Kód: [Vybrat]
iptables-savese pravidlo uloží jako kdyby bylo aktivní.
Jak jste to smyslel s tím parametrem "all" myslíte tím místo "tcp" zvolit všechny protokoly?. Tedy nahradit "tcp" parametrem "all"? Ubuntu hlásí, že to nejde.
iptables v1.4.12: Need TCP, UDP, SCTP or DCCP with port specification
« Poslední změna: 10 Května 2013, 20:45:39 od Baadvo »

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Přesměrování provozu směřující na por 25565 pomocí iptables.
« Odpověď #6 kdy: 19 Května 2013, 18:23:19 »
Kód: (man iptables) [Vybrat]
       [!] -p, --protocol protocol
              The protocol of the rule or of the packet to check.  The specified protocol can be one of tcp, udp, udplite, icmp, esp, ah, sctp or the special keyword "all", or it can be a numeric value, representing  one  of  these
              protocols  or a different one.  A protocol name from /etc/protocols is also allowed.  A "!" argument before the protocol inverts the test.  The number zero is equivalent to all. "all" will match with all protocols and
              is taken as default when this option is omitted.

^^ vyhodit -m .. nicmene asi nejlepsi by bylo zjistit pomoci tcpdump co a na jakej port se snazi ten minecraft pouzivat .. potom samozrejme router musi routovat a mit spravne pravidla .. pokud mas prazdne iptables -L tak to asi nebude standardne nastavenej router

ukazu ti treba jedny svoje zakladni iptables, kde je vlastne priklad toho co potrebujes + jak to asi ma v zakladu vypadat


Kód: [Vybrat]
# iptables-save | egrep -v ^#\|218/32
*nat
:PREROUTING ACCEPT [36710:7688842]
:POSTROUTING ACCEPT [578:43164]
:OUTPUT ACCEPT [573:42896]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.68.2:443
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.68.2:80
-A POSTROUTING -s 192.168.68.0/24 -o eth1 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [25413:6471673]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 52022 -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -m udp --dport 53194 -j ACCEPT
-A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 1581 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.68.0/24 -j ACCEPT
-A FORWARD -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

 

Provoz zaštiťuje spolek OpenAlt.