erlug
[Top] [All Lists]

[Erlug] Problema luddistico...

To: ErLUG <erlug@xxxxxxxxxxxxxx>
Subject: [Erlug] Problema luddistico...
From: Sythos <sythos@xxxxxxxxxx>
Date: Sun, 9 Feb 2003 16:33:00 +0100
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------

<Prev in Thread] Current Thread [Next in Thread>