petits debugs du jour (RewriteRule, iptables udp dns, ulimit)

que des petites choses. allons voir :

avant, toto.fr ne pointait pas au même endroit que www.toto.fr (mais sur tartar.com), un oubli qui n’a pas été modifié de peur que google perde la bonne indexation….

berk c’est laid, je corrige.

Mais pour google je rajoute :

 

RewriteCond /home/sites/toto.fr/www/{REQUEST_URI} !-f
RewriteCond /home/sites/tartar.com/www/%{REQUEST_URI} -f
RewriteRule ^(.+)$ http://www.tartar.com/$1 [R=301,L]
 
RewriteCond /home/sites/toto.fr/www/{REQUEST_URI} !-d
RewriteCond /home/sites/tartar.com/www/%{REQUEST_URI} -d
RewriteRule ^(.+)$ http://www.tartar.com/$1 [R=301,L]

 

autre chose, une machine ne résoud pas les noms depuis que j’ai réparé la config iptables.

faut dire qu’on avait :

 

:INPUT ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

pourtant ça marche sur une machine identique

ah non , ya une différence :

-A INPUT -j REJECT -p tcp –reject-with icmp-host-prohibited

eh oui, du coup les “mauvaises requetes” udp passent , et passent aussi grâce au INPUT:ACCEPT.

faut modifier

INPUT:DROP

-A INPUT -j REJECT –reject-with icmp-host-prohibited

et iptable rules to allow outgoing DNS lookups  wikipedia

les requêtes udp utilisent pour répondre la même ouverture créée par la requête entrante.
-A INPUT -p udp -m udp –sport 53 -j ACCEPT
-A INPUT -p udp -m udp –sport 67 -j ACCEPT


:INPUT DROP
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 67 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

et une correction sur une partie de script qui lit le contenu de limit.conf pour un user et génère les commandes ulimit qui correspondent :

 

# use ulimits from original user
if [ -f "/etc/security/limits.conf" ];then
#syntaxe de ulimit differente selon version de ksh
KSH_ISPDKSH="`ksh -c 'echo \$KSH_VERSION'|sed -e 's/^.*PD *KSH.*$/pdksh/'`"
if [ "$KSH_ISPDKSH" = "pdksh" ];then
KSH_TR_ULIMIT="core-c data-d fsize-f memlock-l rss-m nofile-n stack-s cpu-t nproc-p"
else
KSH_TR_ULIMIT="core-c data-d nice-e fsize-f sigpending-i memlock-l rss-m nofile-n pipe-p msqqueue-q rtprio-r stack-s cpu-t nproc-u"
fi
ULIMIT_SYSUSER=`grep ^$GSCRIPT_SYSUSER /etc/security/limits.conf \
| sed -e 's/\t/ /g' -e 's/ */ /g' |sort -r \
| sed -e 's/^.* soft *//' -e 's/^.* hard *//' -e 's/ /_/g'`
for ULIMTR in $KSH_TR_ULIMIT;do
ULIMTRCNF=`echo $ULIMTR|sed -e 's/-.*$//'`
ULIMTRCMD=`echo $ULIMTR|sed -e 's/^.*-//'`
ULIMIT_SYSUSER=`echo "$ULIMIT_SYSUSER"|sed -e s/$ULIMTRCNF/-$ULIMTRCMD/`
done
for ULIMCMD in $ULIMIT_SYSUSER;do
if [ "`echo x$ULIMCMD|sed -e 's/^x-.*$//'`" = "" ];then
ulimit `echo $ULIMCMD|sed -e 's/_/ /g' -e 's/ -1/ unlimited/'`
fi
done
fi

en plus c’est différent suivant la version de pdksh

(fixed: -1 dans ulimit.conf doit être transcrit en unlimited)

 

Pocket