Ho un problema con Quake3...
Tale gioco come altri nel suo genere misura il ritardo di reazione
tramite un suo "ping", bene, se disattivo il firewall iptables il ping è
"umano" (70-90), se lo lascio attivo schizzo a 200-400.
Pensavo fosse il router che si imbananava con gli UDP (ho problemi anche
quando mi nmappo dall'esterno), invece ho scoperto che il router non
centra nulla, è il pc, l'ho appurato tenendo su un altro pc la console
del router aperta, l'occupazione CPU del router non supera mai il 7%,
ergo non è lui.
Fornisco qualche numero, sperando che qualcuno mi sappia dire cosa ho
sbagliato e/o cosa devo controllare...
ifconfig:
eth0 Link encap:Ethernet HWaddr 00:60:67:90:09:02
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:186095 errors:0 dropped:0 overruns:0 frame:0
TX packets:240663 errors:0 dropped:0 overruns:3 carrier:0
collisions:0 txqueuelen:100
RX bytes:30672351 (29.2 MiB) TX bytes:32272904 (30.7 MiB)
Interrupt:5 Base address:0xc000
Script firewall.sh (in rc.boot), fatto da me su howto MrShark e aggiunte
varie:
#!/bin/sh
printf "Loading firewall."
IPC=/sbin/iptables
IF=eth0
printf "."
$IPC -F
$IPC -X
$IPC -Z
$IPC -t nat -F
$IPC -t nat -X
$IPC -t nat -Z
printf "."
$IPC -I INPUT -i lo -j ACCEPT
$IPC -I OUTPUT -o lo -j ACCEPT
$IPC -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP
printf "."
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
fi
printf "."
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]
then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi
printf "."
if [ -e /proc/sys/net/ipv4/ip_dynaddr ]
then
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
fi
printf "."
echo 1 > /proc/sys/net/ipv4/ip_forward
#echo 1 > /proc/sys/net/ipv4/ip_always_defrag
printf "."
#$IPC -M -S 14400 60 600
printf "."
$IPC -A INPUT -j DROP -s 10.0.0.0/8 -i $IF
$IPC -A INPUT -j DROP -s 127.0.0.0/8 -i $IF
$IPC -A INPUT -j DROP -s 172.16.0.0/12 -i $IF
$IPC -A INPUT -j ACCEPT -s 192.168.0.0/16 -i $IF
$IPC -A INPUT -p tcp -i $IF --dport 3306 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 3306 -j DROP
$IPC -A INPUT -p tcp -i $IF --dport 998 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 998 -j DROP
printf "."
#Block Back Orifice
$IPC -A INPUT -p tcp -i $IF --dport 31337 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 31337 -j DROP
#Block NetBus
$IPC -A INPUT -p tcp -i $IF --dport 12345:12346 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 12345:12346 -j DROP
$IPC -A INPUT -p tcp -i $IF --dport 1524 -j DROP
$IPC -A INPUT -p tcp -i $IF --dport 27665 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 27444 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 31335 -j DROP
printf "."
#Block Multicast
$IPC -A INPUT -s 224.0.0.0/8 -d 0/0 -j ACCEPT
$IPC -A INPUT -s 0/0 -d 224.0.0.0/8 -j ACCEPT
printf "."
$IPC -A INPUT -p tcp -i $IF --dport 21 -j ACCEPT
$IPC -A INPUT -p tcp -i $IF --dport 22 -j ACCEPT
$IPC -A INPUT -p tcp -i $IF --dport 25 -j ACCEPT
$IPC -A INPUT -p tcp -i $IF --dport 80 -j ACCEPT
#$IPC -A INPUT -p tcp -i $IF --dport 443 -j ACCEPT
$IPC -A INPUT -p tcp -i $IF --dport 110 -j ACCEPT
$IPC -A INPUT -p tcp -i $IF --dport 113 -j REJECT
$IPC -A INPUT -p udp -i $IF --dport 113 -j REJECT
$IPC -A INPUT -p tcp -i $IF --dport 5999:6003 -j DROP
$IPC -A INPUT -p udp -i $IF --dport 5999:6003 -j DROP
$IPC -A INPUT -p tcp -i $IF --dport 7100 -j DROP
printf "."
$IPC -A INPUT -p icmp -i $IF -j ACCEPT
$IPC -A OUTPUT -p icmp -o $IF -j ACCEPT
printf "."
$IPC -A INPUT -m state --state ESTABLISHED -j ACCEPT
$IPC -A INPUT -m state --state RELATED -j ACCEPT
$IPC -A INPUT -p tcp -i $IF --dport 1023:65535 -j ACCEPT
$IPC -A INPUT -p udp -i $IF --dport 1023:65535 -j ACCEPT
printf "."
$IPC -P FORWARD DROP
printf "."
$IPC -P OUTPUT ACCEPT
$IPC -A INPUT -i $IF -j DROP
printf "."
echo .
echo Firewall Loaded ^__^
--fine--
Troppo pesante? Che cavolo può essere a far rallentare coì tanto il pc
in presenza di connessioni abbondanti? Già che ci sono, alcune voci sono
presenti perchè caldamente raccomandate dagli howto (dyn_addr ad es.),
ma "forward" serve se il router adsl ha già un nat suo (e io non ho nat
sul pc)? Le regole vanno bene, sono inutili? Sono pericolose e/o
controproducenti?
--
Sythos - http://www.sythos.net
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12 - GE d- s+:+ a+ C++ U P! L+++ E-- W+++ N++ o K- w O-- M-
V-- PS+ PE++ Y+ PGP++ t++ 5 X+ R+ tv b++ DI++ D++ G++ e+++ h+ r y+
------END GEEK CODE BLOCK------
|