iptables e porte lineage [RISOLTO]

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

iptables e porte lineage [RISOLTO]

Messaggio 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? ;)
Ultima modifica di red il gio 7 feb 2008, 13:04, modificato 1 volta in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: iptables e porte lineage

Messaggio 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

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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 :D.

Intanto grazie, provo i tuoi suggerimenti e vediamo se va!

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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. :(

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: iptables e porte lineage

Messaggio 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.

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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?

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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 :oops:

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: iptables e porte lineage

Messaggio 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 :oops:
Sei su linux?

Codice: Seleziona tutto

netstat -autpn
Sei su Windows?
I don't know, ma netstat c'è anche li

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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?

Avatar utente
marghe
Linux 3.x
Linux 3.x
Messaggi: 525
Iscritto il: lun 7 ago 2006, 23:39

Re: iptables e porte lineage

Messaggio da marghe »

usa anche -j LOG e sul syslog dovresti vedere quali porte usa il gioco

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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"?

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: iptables e porte lineage

Messaggio 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"

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: iptables e porte lineage

Messaggio 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.

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: iptables e porte lineage

Messaggio 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.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: iptables e porte lineage

Messaggio 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

Rispondi