Pagina 1 di 2
iptables e porte lineage [RISOLTO]
Inviato: mar 5 feb 2008, 14:46
da red
Ciao,
sto cercando i far passare la connessione per il gioco online Lineage II. Ho scoperto che usa un'amenità di software chiamata "gameguard" che dovrebbe dover usare le porte TCP 7777, 2106, 2009, 80 e DNS (TCP/UDP) 53.
Faccio presente che ho il server con indirizzo 192.168.5.1 che è collegato al modem mediante scheda eth1 (ppp0) e alla rete interna con scheda di rete eth0 e il computer che vorrebbe giocare è il 192.168.5.3.
Il mio firewall un po' capito e un po' scopiazzato qua e là ha le seguenti regole:
Codice: Seleziona tutto
# Generated by iptables-save v1.3.8 on Tue Feb 5 11:40:33 2008
*filter
:INPUT DROP [8:597]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:136]
-A INPUT -s 192.168.5.0/255.255.255.0 -i ppp0 -j DROP
-A INPUT -s 192.168.5.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Feb 5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb 5 11:40:33 2008
*nat
:PREROUTING ACCEPT [591:45907]
:POSTROUTING ACCEPT [6:358]
:OUTPUT ACCEPT [6:358]
-A POSTROUTING -s 192.168.5.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Tue Feb 5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb 5 11:40:33 2008
*mangle
:PREROUTING ACCEPT [3487:286333]
:INPUT ACCEPT [2748:177420]
:FORWARD ACCEPT [296:80478]
:OUTPUT ACCEPT [2059:374439]
:POSTROUTING ACCEPT [2320:451451]
-A PREROUTING -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j ULOG
-A PREROUTING -p tcp -m tcp -m multiport --dports 21,22,23,80 -j TOS --set-tos 0x10
-A PREROUTING -p tcp -m tcp -m multiport --dports 20,8080 -j TOS --set-tos 0x08
-A PREROUTING -p tcp -m tcp --dport 53 -j TOS --set-tos 0x04
COMMIT
# Completed on Tue Feb 5 11:40:33 2008
Che tipo di regole devo inserire per permettere a 192.168.5.3 di giocare? Io ho provato qualche cosa del tipo
Codice: Seleziona tutto
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 7777 -j ACCEPT
oppure
Codice: Seleziona tutto
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 7777 -j ACCEPT
ma senza successo.
Qualche dritta?

Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 15:18
da conraid
Oltre ad accettare il forward per nuove connessioni devi anche fargli fare NAT
Per emule useresti qualcosa di simile
Codice: Seleziona tutto
iptables -t nat -A PREROUTING -p tcp --dport 4662 -i eth0 -j DNAT --to 192.168.5.3
iptables -t nat -A PREROUTING -p udp --dport 4672 -i eth0 -j DNAT --to 192.168.5.3
iptables -t nat -A PREROUTING -p udp --dport 4665 -i eth0 -j DNAT --to 192.168.5.3
iptables -A FORWARD -i ppp0 -o eth0 -d 192.168.5.3 -m state --state ESTABLISHED,RELATED -j ACCEPT
ma nel tuo caso entrano in gioco 80 e 53, attento
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 15:27
da red
conraid ha scritto:ma nel tuo caso entrano in gioco 80 e 53, attento
Infatti... la cosa non mi ispira, ma mio fratello che protesta 24 ore su 24 potrebbe essere un fastidio maggiore

.
Intanto grazie, provo i tuoi suggerimenti e vediamo se va!
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:01
da red
Niente... se metto così (righe aggiunte segnalate dal commento in maiuscolo):
Codice: Seleziona tutto
# Generated by iptables-save v1.3.8 on Tue Feb 5 11:40:33 2008
*filter
:INPUT DROP [8:597]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:136]
-A INPUT -s 192.168.5.0/255.255.255.0 -i ppp0 -j DROP
-A INPUT -s 192.168.5.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 7777 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 2106 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 2009 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p udp -m udp --dport 53 -j ACCEPT
#-A FORWARD -i ppp0 -o eth0 -d 192.168.5.3 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Feb 5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb 5 11:40:33 2008
*nat
:PREROUTING ACCEPT [591:45907]
:POSTROUTING ACCEPT [6:358]
:OUTPUT ACCEPT [6:358]
#INIZIO RIGHE AGGIUNTE:
-A PREROUTING -p tcp --dport 7777 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 2106 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 2009 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 53 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p udp --dport 53 -i eth0 -j DNAT --to 192.168.5.3
#FINE RIGHE AGGIUNTE
-A POSTROUTING -s 192.168.5.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Tue Feb 5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb 5 11:40:33 2008
*mangle
:PREROUTING ACCEPT [3487:286333]
:INPUT ACCEPT [2748:177420]
:FORWARD ACCEPT [296:80478]
:OUTPUT ACCEPT [2059:374439]
:POSTROUTING ACCEPT [2320:451451]
-A PREROUTING -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j ULOG
-A PREROUTING -p tcp -m tcp -m multiport --dports 21,22,23,80 -j TOS --set-tos 0x10
-A PREROUTING -p tcp -m tcp -m multiport --dports 20,8080 -j TOS --set-tos 0x08
-A PREROUTING -p tcp -m tcp --dport 53 -j TOS --set-tos 0x04
COMMIT
# Completed on Tue Feb 5 11:40:33 2008
non funziona, ma oltre al gioco il pc 192.168.5.3 non va più neppure in internet!
Non riesco veramente a capire.

Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:15
da conraid
Se elimini le righe con le porte 80 e 53 naviga?
Una cosa è avere le porte aperte per "passare", in quel caso bastano le regole che avevi prima, un'altra è reindirizzare le porte su un particolare host.
Devi capire su quali porte si mette in ascolto il gioco e reindirizzare quelle.
Per le altre basta che non siano in DROP.
Non penso il gioco di metta in ascolta sulla 80.
Se per esempio con la soluzione di prima (del proxy) chiudevi la 80 per far passare il traffico http sulla 8080 non andava il gioco.
Sono due cose diverse.
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:32
da red
conraid ha scritto:Se elimini le righe con le porte 80 e 53 naviga?
Sì.
Quindi in pratica tu pensi che in realtà il gioco necessiti di altre porte, non quelle che (penso) di aver trovato giusto?
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:33
da red
Nel caso appunto dovessi scoprire le porte utilizzate, visto che tramite google quello che avevo trovato erano quelle che ho scritto, come potrei fare?
Non sono molto pratico di tool di rete

Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:37
da conraid
red ha scritto:Nel caso appunto dovessi scoprire le porte utilizzate, visto che tramite google quello che avevo trovato erano quelle che ho scritto, come potrei fare?
Non sono molto pratico di tool di rete

Sei su linux?
Sei su Windows?
I don't know, ma netstat c'è anche li
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:48
da red
Dunque, io sono sul server Linux (192.168.5.1), ma il gioco gira su un pc winXP (192.168.5.3).
Io posso farlo giocare con una configurazione di iptables fatta così (in pratica fa solo il routing):
Codice: Seleziona tutto
# Generated by iptables-save v1.3.3 on Sun Oct 23 20:13:53 2005
*filter
:INPUT ACCEPT [96552:23976337]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [104590:105253799]
-A FORWARD -s 192.168.5.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.5.0/255.255.255.0 -j ACCEPT
-A FORWARD -s 192.168.1.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.1.0/255.255.255.0 -j ACCEPT
-A FORWARD -j DROP
-A FORWARD -d 192.168.5.2 -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.254 -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 4662 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4662 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4672 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4665 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 6891 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 6891 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 4712 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4712 -j ACCEPT
COMMIT
# Completed on Sun Oct 23 20:13:53 2005
# Generated by iptables-save v1.3.3 on Sun Oct 23 20:13:53 2005
*nat
:PREROUTING ACCEPT [1125:78545]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [1026:44817]
-A POSTROUTING -s 192.168.5.2/255.255.255.0 -j MASQUERADE
-A POSTROUTING -d ! 192.168.5.2/255.255.255.0 -j MASQUERADE
-A POSTROUTING -s 192.168.5.3/255.255.255.0 -j MASQUERADE
-A POSTROUTING -d ! 192.168.5.3/255.255.255.0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.254/255.255.255.0 -j MASQUERADE
-A POSTROUTING -d ! 192.168.1.254/255.255.255.0 -j MASQUERADE
COMMIT
# Completed on Sun Oct 23 20:13:54 2005
che era il mio vecchio firewall.
Posso quindi vedere a che porte si connette?
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:51
da marghe
usa anche -j LOG e sul syslog dovresti vedere quali porte usa il gioco
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 16:56
da red
marghe ha scritto:usa anche -j LOG e sul syslog dovresti vedere quali porte usa il gioco
Scusa l'immensa ignoranza in materia, ma vista la mia configurazione sopra, dove e come dovrei mettere il "-j LOG"?
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 17:01
da conraid
Sembra che basti aprire le porte, fare un FORWARD normale quindi
Non ha porte alla emule allora.
Purtroppo non conosco il gioco
p.s.
ma quel firewall da dove lo hai preso?
Sono un po' arruginito, ma mi sembra che la prima regola che incontri sia "accetta tutto quel che passa dalla rete locale o per la rete locale"
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 17:05
da conraid
in /etc/rc.modules Pat indica le regole "minime" per un gateway
Codice: Seleziona tutto
# EXTERNAL -> external network interface
# INTERNAL -> internal network interface
EXTERNAL=eth0
INTERNAL=eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Setting up NAT (Network Address Translation)..."
# by default, nothing is forwarded.
iptables -P FORWARD DROP
# Allow all connections OUT and only related ones IN
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
# enable MASQUERADING
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
Parti da qui ed aggiungi piano piano le altre regole.
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 17:11
da red
conraid ha scritto:Sembra che basti aprire le porte, fare un FORWARD normale quindi
Non ha porte alla emule allora.
Purtroppo non conosco il gioco
p.s.
ma quel firewall da dove lo hai preso?
Sono un po' arruginito, ma mi sembra che la prima regola che incontri sia "accetta tutto quel che passa dalla rete locale o per la rete locale"
L'avevo fatto io, con la documentazione di Pat e qualche esempio sotto mano, però tanto tempo fa, quindi non ricordo bene.
In internet continuano a dire (spesso si parla dei router dei firewall) che è necessario fare il forwarding delle porte TCP 7777, 2009, 2106 e poi anche della 80 e TCP e UDP della 53.
Quindi a questo punto ho due dubbi, rispetto al primo firewall che ho pubblicato nel post:
1. non capisco bene perché mi hai suggerito il PREROUTING e perché questo impedisca poi al 192.168.5.3 di navigare;
2. non capisco perché il FORWARDING delle porte in questione non funzioni (e forse basterebbe solo questo senza prerouting, o no?)... forse errori di sintassi o di precedenza delle regole? Mi viene questo dubbio perché essendo la policy di default DROP, se non si dice bene cosa far passare, viene scartato tutto.
Re: iptables e porte lineage
Inviato: mar 5 feb 2008, 17:23
da conraid
red ha scritto:
Quindi a questo punto ho due dubbi, rispetto al primo firewall che ho pubblicato nel post:
1. non capisco bene perché mi hai suggerito il PREROUTING e perché questo impedisca poi al 192.168.5.3 di navigare;
2. non capisco perché il FORWARDING delle porte in questione non funzioni (e forse basterebbe solo questo senza prerouting, o no?)... forse errori di sintassi o di precedenza delle regole? Mi viene questo dubbio perché essendo la policy di default DROP, se non si dice bene cosa far passare, viene scartato tutto.
1) io ti ho fatto l'esempio di emule che ha bisogno di quelle porte aperte come fosse un "server", pensando che quel gioco si comportasse ugualmente, non conosco il gioco
Leggi qui:
http://www.amule.org/wiki/index.php/Firewall
2) per le regole:
http://www.netfilter.org/documentation/ ... WTO-6.html
e in
http://www.netfilter.org trovi tutta la documentazione necessaria.
Se trova una regola la applica, se non trova niente applica quella di default
Fai una cosa, metti quello che ti ho dato per ultimo.
Se non funziona accetta FORWARD di default.
Se basta vuol dire che non ha bisogno di cose alle "emule"
incuriosito sono andato in rete ed ho trovato questo
http://www.irixe.net/kurre/Verkkopelit% ... hupnet.txt
Qui viene "esplicitata" solamente la 2106