Pagina 1 di 5

[PIU' CHE RISOLTO :) ] iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:02
da danix
Ciao a tutti,
sto mettendo mano per la prima volta ad iptables, mi ha aiutato molto sardylan su irc, e adesso sto vedendo di rifinire il tutto cercando qua e la le info che mi servono...
La situazione è la seguente:
Ho un modem ethernet (AliceGate), a questo c'è collegato il mio serverino (tramite eth0), su cui lancio la connessione usando pppoe, quest'ultimo ha anche un'altra interfaccia di rete (eth1) a cui è collegato il laptop.

Quello che sto cercando di ottenere è che il server mi faccia da gateway per il laptop, permettendomi di navigare in rete, il server mi fa da webserver e dns principalmente. Ho attivato anche dyndns per rendere visibile dall'esterno il mio server.

Questo è lo script che ho preparato fin ora (sarebbe più corretto dire "che sardylan ha preparato", io mi sono solo limitato ad apportare qualche modifica):

Codice: Seleziona tutto

#!/bin/bash

IPT_CMD="/usr/sbin/iptables"
SW_VERB="-v"
IF_LAN="eth0"
IF_WAN="ppp0"
IF_INT="eth1"

firewall_init() {
	echo "0" > /proc/sys/net/ipv4/ip_forward
	$IPT_CMD -F $SW_VERB
	$IPT_CMD -t nat -F $SW_VERB
	$IPT_CMD -t mangle -F $SW_VERB
	$IPT_CMD -X $SW_VERB
	$IPT_CMD -t nat -X $SW_VERB
	$IPT_CMD -t mangle -X $SW_VERB
}

firewall_policies() {
	$IPT_CMD -P INPUT $1 $SW_VERB
	$IPT_CMD -P OUTPUT $1 $SW_VERB
	$IPT_CMD -P FORWARD $1 $SW_VERB
}

main_rules() {
	$IPT_CMD -A INPUT -i lo -j ACCEPT $SW_VERB
	$IPT_CMD -A INPUT -i $IF_LAN -j ACCEPT $SW_VERB
	$IPT_CMD -A INPUT -i $IF_WAN -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A OUTPUT -o lo -j ACCEPT $SW_VERB
	$IPT_CMD -A OUTPUT -o $IF_LAN -j ACCEPT $SW_VERB
	$IPT_CMD -A OUTPUT -o $IF_WAN -j ACCEPT $SW_VERB
}

forwarding_rules() {
	$IPT_CMD -A FORWARD -i $IF_LAN -o $IF_WAN -j ACCEPT $SW_VERB
	$IPT_CMD -A FORWARD -i $IF_WAN -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A FORWARD -i $IF_LAN -o $IF_INT -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A FORWARD -i $IF_INT -o $IF_LAN -j ACCEPT $SW_VERB
	# ABILITO IL MASQUERADING
	$IPT_CMD -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE $SW_VERB
}

closing_rules() {
	$IPT_CMD -A INPUT -j DROP $SW_VERB
	$IPT_CMD -A OUTPUT -j DROP $SW_VERB
	$IPT_CMD -A FORWARD -j DROP $SW_VERB
	$IPT_CMD -Z $SW_VERB
	$IPT_CMD -t nat -Z $SW_VERB
	$IPT_CMD -t mangle -Z $SW_VERB
	echo "1" > /proc/sys/net/ipv4/ip_forward
}



case "$1" in
	start)
		echo "Configuring firewall... "
		firewall_init
		firewall_policies DROP
		main_rules
		forwarding_rules
		closing_rules
	;;
	stop)
		echo "Resetting firewall... "
		firewall_init
		firewall_policies ACCEPT
	;;
	status)
		$IPT_CMD -L -n -v --line-numbers > /tmp/firewall.out
		echo >> /tmp/firewall.out
		$IPT_CMD -t nat -L -n -v --line-numbers >> /tmp/firewall.out
		cat /tmp/firewall.out | less
		rm /tmp/firewall.out
	;;
	*)
		echo "Usage:  `basename $0`  start|stop|status"
		exit 1
	;;
esac

Potrebbe andare bene o sto dimenticando qualcosa??
Il mio timore è quello di non riuscire a collegarmi in ssh al server se dovessi sbagliare qualcosa, quindi se mi date una mano faccio qualche esperimento :D
Un'altra domanda, per aprire, ad esempio, la porta 8022 per ssh solo dall'interno dovrei fare

Codice: Seleziona tutto

iptables -A INPUT -i $IF_INT -p tcp -dport 8022 -j ACCEPT
così??


Grazie mille a tutti in anticipo...

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:11
da conraid
ci capisco poco con tutte quelle variabili, ma ssh lo gestisci sia da sshd_config sia da tcp_wrap (host.deny e host.allow).
Naturalmente se chiudi con iptables, non serve a niente, ma per sicurezza configura bene sshd_config e poi pensa ad aprire iptables
Quella regola dovrebbe andare bene

invece di fare

Codice: Seleziona tutto

echo "1" > /proc/sys/net/ipv4/ip_forward
lancia lo script /etc/rc.d/rc.ip_forward che si prende cura di aggiornare i valori di sysctl se ne hai qualcuno
quindi

Codice: Seleziona tutto

sh /etc/rc.d/rc.ip_forward start
se lo vuoi sempre basta che lo rendi eseguibile e ti parte in automatico all'avvio, senza inserire nessuna regola apposita per l'ip forward

per costruire una "base" puoi anche partire da qui
http://www.slackware.com/~alien/efg/

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:19
da danix
grazie per il link conraid, gli darò un'occhiata, comunque sshd_config è configurato bene, per il resto ho modificato in modo che lanci rc.ip_forward e adesso mi sa che farò qualche prova... :)

Se avete altri suggerimenti io sono tutt'orecchi (tutt'occhi forse è meglio :D )

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:34
da danix
Per forwardare (che brutto termine) il traffico in entrata sulla 80 da ppp0 alla eth0 va bene questa regola??

Codice: Seleziona tutto

iptables -A FORWARD -i ppp0 -o eth0 -p tcp -dport 80 -j ACCEPT -v
Ma ho un dubbio, perchè sia visibile il sito che c'è sul mio server, devo effettuare il forwarding da ppp0 a eth0 o basta che io accetti indiscriminatamente le connessioni in entrata da ppp0 sulla 80??
Nel secondo caso allora dovrebbe bastare questa regola:

Codice: Seleziona tutto

iptables -A INPUT -i ppp0 -p tcp -dport 80 -j ACCEPT -v
no??

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:40
da conraid
Se ho ben capito la tua situazione eth0 non entra in gioco
Secondo me ti basta

Codice: Seleziona tutto

iptables -A INPUT -p tcp -dport 80 -j ACCEPT
così che ci accedi anche da LAN, in quanto non vedo una regola per la LAN
forse voleva essere questa

Codice: Seleziona tutto

$IPT_CMD -A INPUT -i $IF_LAN -j ACCEPT $SW_VERB
ma allora avrei messo

Codice: Seleziona tutto

$IPT_CMD -A INPUT -i $IF_INT -j ACCEPT $SW_VERB
o cambiato i valori alle variabili

sempre se ho capito il tutto, e non è detto :-)

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:47
da sardylan
danix ha scritto:Per forwardare (che brutto termine) il traffico in entrata sulla 80 da ppp0 alla eth0 va bene questa regola??

Codice: Seleziona tutto

iptables -A FORWARD -i ppp0 -o eth0 -p tcp -dport 80 -j ACCEPT -v
Ma ho un dubbio, perchè sia visibile il sito che c'è sul mio server, devo effettuare il forwarding da ppp0 a eth0 o basta che io accetti indiscriminatamente le connessioni in entrata da ppp0 sulla 80??
Nel secondo caso allora dovrebbe bastare questa regola:

Codice: Seleziona tutto

iptables -A INPUT -i ppp0 -p tcp -dport 80 -j ACCEPT -v
no??

Se vuoi rendere accessibile il sito che sta sul server, allora ti basta aprire la porta 80 nell'interfaccia ppp0...

Codice: Seleziona tutto

iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
Perché nella LAN hai già aperto tutto il traffico... (ricordi iptables -A INPUT -i eth0 -j ACCEPT ????)

Se vuoi invece forwardare la porta 80 ad un'altro PC della rete c'è anche una regola nella tabella di nat:

Codice: Seleziona tutto

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 6667 -j DNAT --to 192.168.0.5:6667
iptables -A FORWARD -i ppp0 -o eth0 -d 192.168.0.5 -p tcp --dport 6667 -j ACCEPT



Lo script intero che uso è questo:

Codice: Seleziona tutto

#!/bin/bash

IPT_CMD="/usr/sbin/iptables"
SW_VERB="-v"
IF_LAN="eth0"
IF_WAN="ppp0"
IF_INT="eth1"

input_services() {
	$IPT_CMD -A WAN_SERVS -p tcp --dport 21 -j ACCEPT $SW_VERB		# FTP
	$IPT_CMD -A WAN_SERVS -p tcp --dport 22 -j ACCEPT $SW_VERB		# SSH
	$IPT_CMD -A WAN_SERVS -p tcp --dport 80 -j ACCEPT $SW_VERB		# HTTP
	$IPT_CMD -A WAN_SERVS -p tcp --dport 50000:55000 -j ACCEPT $SW_VERB	# FTP Passive
	$IPT_CMD -A WAN_SERVS -p tcp --dport 6667 -j ACCEPT $SW_VERB		# IRCd
	$IPT_CMD -A WAN_SERVS -p tcp --dport 30000:30010 -j ACCEPT $SW_VERB	# DCC XChat
	$IPT_CMD -A WAN_SERVS -p udp --dport 27960 -j ACCEPT $SW_VERB		# UrT Server
	$IPT_CMD -A WAN_SERVS -p tcp --dport 20000 -j ACCEPT $SW_VERB		# aMule TCP
	$IPT_CMD -A WAN_SERVS -p udp --dport 20001 -j ACCEPT $SW_VERB		# aMule UDP advanced
	$IPT_CMD -A WAN_SERVS -p udp --dport 20003 -j ACCEPT $SW_VERB		# aMule UDP
}

#port_forwarding() {
#	$IPT_CMD -t nat -A PREROUTING -i $IF_WAN -p tcp --dport 6667 -j DNAT --to 192.168.0.5:6667 $SW_VERB
#	$IPT_CMD -A FORWARD -i $IF_WAN -o $IF_LAN -d 192.168.0.5 -p tcp --dport 6667 -j ACCEPT $SW_VERB
#}

sec_icmp() {
	$IPT_CMD -A IN_ICMP -i lo -p icmp -j ACCEPT $SW_VERB
	$IPT_CMD -A IN_ICMP -i $IF_LAN -p icmp -j ACCEPT $SW_VERB
	$IPT_CMD -A IN_ICMP -i $IF_WAN -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A IN_ICMP -i $IF_INT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A IN_ICMP -p icmp -j DROP $SW_VERB
	$IPT_CMD -A OUT_ICMP -o lo -p icmp -j ACCEPT $SW_VERB
	$IPT_CMD -A OUT_ICMP -o $IF_LAN -p icmp -j ACCEPT $SW_VERB
	$IPT_CMD -A OUT_ICMP -o $IF_WAN -p icmp -j ACCEPT $SW_VERB
	$IPT_CMD -A OUT_ICMP -o $IF_INT -p icmp -j ACCEPT $SW_VERB
	$IPT_CMD -A OUT_ICMP -p icmp -j DROP $SW_VERB
}

firewall_init() {
	echo "0" > /proc/sys/net/ipv4/ip_forward
	$IPT_CMD -F $SW_VERB
	$IPT_CMD -t nat -F $SW_VERB
	$IPT_CMD -t mangle -F $SW_VERB
	$IPT_CMD -X $SW_VERB
	$IPT_CMD -t nat -X $SW_VERB
	$IPT_CMD -t mangle -X $SW_VERB
}

firewall_policies() {
	$IPT_CMD -P INPUT $1 $SW_VERB
	$IPT_CMD -P OUTPUT $1 $SW_VERB
	$IPT_CMD -P FORWARD $1 $SW_VERB
}

chain_creation() {
	$IPT_CMD -N IN_SPOOF $SW_VERB
	$IPT_CMD -N OUT_SPOOF $SW_VERB
	$IPT_CMD -N TCP_CHECKS $SW_VERB
	$IPT_CMD -N WAN_SERVS $SW_VERB
	$IPT_CMD -N IN_ICMP $SW_VERB
	$IPT_CMD -N OUT_ICMP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i lo -s ! 127.0.0.1 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i lo -d ! 127.0.0.1 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_WAN -s 10.0.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_WAN -s 127.0.0.0/8 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_WAN -s 192.168.0.0/16 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_WAN -s 192.168.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_WAN -s 192.168.1.0/24 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_INT -s 10.0.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_INT -s 127.0.0.0/8 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_INT -s 192.168.0.0/16 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_INT -s 192.168.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A IN_SPOOF -i $IF_INT -s 192.168.1.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o lo -s ! 127.0.0.1 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o lo -d ! 127.0.0.1 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -s 10.0.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -s 127.0.0.0/8 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -s 192.168.0.0/16 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -s 192.168.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -s 192.168.1.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -s 10.0.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -s 127.0.0.0/8 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -s 192.168.0.0/16 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -s 192.168.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -s 192.168.1.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -d 10.0.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -d 127.0.0.0/8 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -d 192.168.0.0/16 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -d 192.168.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_WAN -d 192.168.1.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -d 10.0.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -d 127.0.0.0/8 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -d 192.168.0.0/16 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -d 192.168.0.0/24 -j DROP $SW_VERB
	$IPT_CMD -A OUT_SPOOF -o $IF_INT -d 192.168.1.0/24 -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags ALL NONE -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags FIN,ACK FIN -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags ACK,PSH PSH -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags ACK,URG URG -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags SYN,RST SYN,RST -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags FIN,RST FIN,RST -j DROP $SW_VERB
	$IPT_CMD -A TCP_CHECKS -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP $SW_VERB
}

main_rules() {
	$IPT_CMD -A INPUT -j IN_SPOOF $SW_VERB
	$IPT_CMD -A INPUT -j TCP_CHECKS $SW_VERB
	$IPT_CMD -A INPUT -i lo -j ACCEPT $SW_VERB
	$IPT_CMD -A INPUT -i $IF_LAN -j ACCEPT $SW_VERB
	$IPT_CMD -A INPUT -i $IF_WAN -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A INPUT -i $IF_INT -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
	$IPT_CMD -A INPUT -i $IF_WAN -j WAN_SERVS $SW_VERB
	$IPT_CMD -A INPUT -i $IF_INT -j WAN_SERVS $SW_VERB
	$IPT_CMD -A OUTPUT -j OUT_SPOOF $SW_VERB
	$IPT_CMD -A OUTPUT -j TCP_CHECKS $SW_VERB
	$IPT_CMD -A OUTPUT -o lo -j ACCEPT $SW_VERB
	$IPT_CMD -A OUTPUT -o $IF_LAN -j ACCEPT $SW_VERB
	$IPT_CMD -A OUTPUT -o $IF_WAN -j ACCEPT $SW_VERB
	$IPT_CMD -A OUTPUT -o $IF_INT -j ACCEPT $SW_VERB
}

#sharing_rules() {
#	$IPT_CMD -A FORWARD -i $IF_LAN -o $IF_WAN -s 192.168.0.0/24 -j ACCEPT $SW_VERB
#	$IPT_CMD -A FORWARD -i $IF_WAN -o $IF_LAN -d 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
#	$IPT_CMD -t nat -A POSTROUTING -o $IF_WAN -d ! 192.168.0.0/24 -j MASQUERADE $SW_VERB
#	echo "1" > /proc/sys/net/ipv4/ip_forward
#}

closing_rules() {
	$IPT_CMD -A INPUT -j DROP $SW_VERB
	$IPT_CMD -A OUTPUT -j DROP $SW_VERB
	$IPT_CMD -A FORWARD -j DROP $SW_VERB
	$IPT_CMD -Z $SW_VERB
	$IPT_CMD -t nat -Z $SW_VERB
	$IPT_CMD -t mangle -Z $SW_VERB
}



case "$1" in
	start)
		echo "Configuring firewall... "
		firewall_init
		firewall_policies DROP
		chain_creation
		sec_icmp
		input_services
		main_rules
		#sharing_rules
		#port_forwarding
		closing_rules
	;;
	stop)
		echo "Resetting firewall... "
		firewall_init
		firewall_policies ACCEPT
	;;
	status)
		$IPT_CMD -L -n -v --line-numbers > /tmp/firewall.out
		echo >> /tmp/firewall.out
		$IPT_CMD -t nat -L -n -v --line-numbers >> /tmp/firewall.out
		cat /tmp/firewall.out | less
		rm /tmp/firewall.out
	;;
	*)
		echo "Usage:  `basename $0`  start|stop|status"
		exit 1
	;;
esac
E' un qualcosa iniziato tanto tempo fa ed in continua evoluzione... Quindi molte cose sono rimaste come erano ai tempi di test!!! Nonostante tutto fa il suo dovere...

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:51
da conraid
Scusate:
Ho un modem ethernet (AliceGate), a questo c'è collegato il mio serverino (tramite eth0), su cui lancio la connessione usando pppoe, quest'ultimo ha anche un'altra interfaccia di rete (eth1) a cui è collegato il laptop.
poi ora leggo questo

Codice: Seleziona tutto

 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 6667 -j DNAT --to 192.168.0.5:6667
iptables -A FORWARD -i ppp0 -o eth0 -d 192.168.0.5 -p tcp --dport 6667 -j ACCEPT
come fa un pacchetto ad entrare in ppp0, uscire in eth0 ed andare in altro pc?

non sto capendo niente io o avete situazioni diverse l'un l'altro?

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:54
da sardylan
Abbiamo più o meno le stesse situazioni... Solo che danix usa il server come gateway!!

Se vuoi rendere accessibile il sito che sta nel server, ti basta aprire la porta 80... STOP... Niente forwaridng...
Se vuoi invece (per esempio) rendere accessibili il sito sta su un altro PC della rete, allora c'è forwarding...

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:55
da conraid
sardylan ha scritto:Abbiamo più o meno le stesse situazioni... Solo che danix usa il server come gateway!!
allora quelle regole non hanno senso, o sbaglio?

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 18:58
da sardylan
No esatto!!! Servono solo nel caso voglia aprire delle porte che servono per ALTRI pc della lan... (ED2K, Torrent, etc)

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 19:01
da conraid
sardylan ha scritto:No esatto!!! Servono solo nel caso voglia aprire delle porte che servono per ALTRI pc della lan... (ED2K, Torrent, etc)
Torrent a me funziona ugualmente, ed2k no.
Comunque metterei anche IRC, FTP, etc... con i moduli appositi
io aggiungo
modprobe nf_nat_ftp
modprobe nf_nat_irc

anche se "dovrebbe" caricarlo automaticamente, ma non si sa mai

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 19:04
da conraid
Dimenticavo, se sei in pppoe è importante

Codice: Seleziona tutto

 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
come mi "suggerì" il buon mozzo zozzo :-)

anche se puoi lasciarlo gestire a pppoe tramite un'opportuna opzione

Codice: Seleziona tutto

# Do you want to clamp the MSS?  Here's how to decide:
# - If you have only a SINGLE computer connected to the DSL modem, choose
#   "no".
# - If you have a computer acting as a gateway for a LAN, choose "1412".
#   The setting of 1412 is safe for either setup, but uses slightly more
#   CPU power.
CLAMPMSS=1412
#CLAMPMSS=no

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 19:06
da sardylan
conraid ha scritto:
sardylan ha scritto:No esatto!!! Servono solo nel caso voglia aprire delle porte che servono per ALTRI pc della lan... (ED2K, Torrent, etc)
Torrent a me funziona ugualmente, ed2k no.
Comunque metterei anche IRC, FTP, etc... con i moduli appositi
io aggiungo
modprobe nf_nat_ftp
modprobe nf_nat_irc

anche se "dovrebbe" caricarlo automaticamente, ma non si sa mai
Si... Torrent anche a me!! Ma per DHT etc vuole delle porte... ED2K confermo!!
I moduli che fanno di preciso??? Sono funzioni (diciamo) automatizzate per iptables?? Apposite per FTP, IRC etc??



Questa mi è nuova!!

Codice: Seleziona tutto

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Thanks... Provvedo subito!! :)

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 19:14
da conraid
per quelle funzioni fai prima a vedere l'help del config del kernel :-)
FTP serve per gestire meglio il "tracciamento" delle connessioni FTP
IRC serve principalmente per inviare file tramite DCC

Re: iptables - creazione rc.firewall

Inviato: ven 20 mar 2009, 19:19
da sardylan
Ottima cosa!!! Grazie mille Conraid!! Dopo mi spulcio bene gli help :)

P.S. Il fatto di aver inserito tutto in un unico file è un mio "modo di fare"... Praticamente dando chmod -x rc.local ottengo una slackware pulita (nei limiti del possibile)... :) Ma ho ancora un bel po di cose da finire di configurare...