stefanoxjx
13-10-2004, 15:24
Salve a tutti, ho un paio di problemini che non riesco a capire bene:
1. Per il firewall, uso il seguente script:
--------------------------------------------------------
#!/bin/bash
# Policy di default delle catene
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Accetta tutti i pacchetti in input e output dalla rete
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
# Accetto tutti i pacchetti che derivano da connessioni che io stesso ho iniziato
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Apro la porta ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# iptables -A OUTPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport 631 -j ACCEPT
iptables -A OUTPUT -p tcp -- dport 631 -j ACCEPT
# loggo tutto quello che NON deriva da connessioni che io ho instaurato
# a livello 7 (debug) del syslog. Questo significa, per esempio in Debian, che i pacchetti
# bloccati verranno visualizzati in /var/log/syslog.
iptables -A INPUT -j LOG --log-level 7 --log-prefix "Blocked Packet: "
--------------------------------------------------------
Quello che mi chiedo, è perchè ho dovuto creare le 2 regole inerenti alla porta 631 altrimenti quando andavo in stampa, il sistema non funzionava.
In teoria, le regole:
* iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
* iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
dovrebbero già far passare tutto il traffico che arriva dalla rete, e:
* iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
dovrebbe far passare tutti i dati inerenti alle connessioni che stabilisco io.
Cos'è che mi sfugge?
:confused:
Altra domandina; per far fungere il mio pc da router, uso il seguente script (che lancio al posto del precedente):
--------------------------------------------------------
#!/bin/bash
iptables="/usr/sbin/iptables"
# Blocca il forward fino a quando non vengono stabilite tutte le regole.
echo '0' > /proc/sys/net/ipv4/ip_forward
# Carica i moduli necessari
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp ip_nat_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
# Attiva il nat (routing)
iptables -t nat -A POSTROUTING -o ippp0 -j MASQUERADE
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Forwarda tutti i pacchetti inerenti alla notra rete locale
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
# Forwarda i pacchetti destinati alla porte 4661-4662 per il pc 192.168.0.253
iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 4661 -j DNAT --to-destination 192.168.0.1:4661
iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.0.1:4662
iptables -A FORWARD -j DROP
# Attiva il forward
echo '1' > /proc/sys/net/ipv4/ip_forward
--------------------------------------------------------
Perchè emule continua a dirmi di aprire le porte 4661 e 4662 se esistono 2 apposite regole che le aprono?
Inoltre (anche quì), la regola:
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
Non dovrebbe far passare tutto il traffico inerente alle connessioni che apro? (quindi anche quelle di emule su 4661-4662)?
Ripeto, cos'è che mi sfugge? :confused: :confused: :confused: :confused:
:mc: :muro:
N.B. Per il primo problema, uso una stampante con interfaccia di rete, per il secondo, emule è installato su un altro pc che non è quello che fa da rotuer.
Grazie.
1. Per il firewall, uso il seguente script:
--------------------------------------------------------
#!/bin/bash
# Policy di default delle catene
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Accetta tutti i pacchetti in input e output dalla rete
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
# Accetto tutti i pacchetti che derivano da connessioni che io stesso ho iniziato
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Apro la porta ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# iptables -A OUTPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport 631 -j ACCEPT
iptables -A OUTPUT -p tcp -- dport 631 -j ACCEPT
# loggo tutto quello che NON deriva da connessioni che io ho instaurato
# a livello 7 (debug) del syslog. Questo significa, per esempio in Debian, che i pacchetti
# bloccati verranno visualizzati in /var/log/syslog.
iptables -A INPUT -j LOG --log-level 7 --log-prefix "Blocked Packet: "
--------------------------------------------------------
Quello che mi chiedo, è perchè ho dovuto creare le 2 regole inerenti alla porta 631 altrimenti quando andavo in stampa, il sistema non funzionava.
In teoria, le regole:
* iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
* iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
dovrebbero già far passare tutto il traffico che arriva dalla rete, e:
* iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
dovrebbe far passare tutti i dati inerenti alle connessioni che stabilisco io.
Cos'è che mi sfugge?
:confused:
Altra domandina; per far fungere il mio pc da router, uso il seguente script (che lancio al posto del precedente):
--------------------------------------------------------
#!/bin/bash
iptables="/usr/sbin/iptables"
# Blocca il forward fino a quando non vengono stabilite tutte le regole.
echo '0' > /proc/sys/net/ipv4/ip_forward
# Carica i moduli necessari
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp ip_nat_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
# Attiva il nat (routing)
iptables -t nat -A POSTROUTING -o ippp0 -j MASQUERADE
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Forwarda tutti i pacchetti inerenti alla notra rete locale
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
# Forwarda i pacchetti destinati alla porte 4661-4662 per il pc 192.168.0.253
iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 4661 -j DNAT --to-destination 192.168.0.1:4661
iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.0.1:4662
iptables -A FORWARD -j DROP
# Attiva il forward
echo '1' > /proc/sys/net/ipv4/ip_forward
--------------------------------------------------------
Perchè emule continua a dirmi di aprire le porte 4661 e 4662 se esistono 2 apposite regole che le aprono?
Inoltre (anche quì), la regola:
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
Non dovrebbe far passare tutto il traffico inerente alle connessioni che apro? (quindi anche quelle di emule su 4661-4662)?
Ripeto, cos'è che mi sfugge? :confused: :confused: :confused: :confused:
:mc: :muro:
N.B. Per il primo problema, uso una stampante con interfaccia di rete, per il secondo, emule è installato su un altro pc che non è quello che fa da rotuer.
Grazie.