Freeradius, principe de fonctionnement

Freeradius, principe de fonctionnement - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 19-07-2007 à 21:09:28    

Bonjour à tous !
 
          J'ai une petite question: lorsque l'on a installé un serveur Freeradius sans spécifier de NAS, est-ce que le serveur FreeRadius bloque les accès au serveur sur toutes les interfaces tant qu'on ne s'est pas authentifié à travers un NAS ? En gros j'ai installé un serveur FreeRadius et depus je n'arrive plus à accéder à mon serveur en SSH, pourtant le seul NAS que j'ai spécifié est localhost....ça peut etre lié ?
 
Merci d'avance !
RedVivi

Reply

Marsh Posté le 19-07-2007 à 21:09:28   

Reply

Marsh Posté le 20-07-2007 à 14:14:00    

Je penses pas non.

 

Freeradius est simplement un serveur radius. Tu l'installes et par la suite tu configures les services qui nécessitent une authentification via radius. Regardes si il y a eu modification de ta configuration PAM ou si elle est foireuse.

 

je viens de l'installer sous debian (lenny), je n'ai pas eu ce genre de question. C'est dans quel cadre ? Quel OS ? Par NAS tu veux dire Network Attached Storage ou Network Access Server ? Peux tu préciser un peu ton environnement stp ?


Message édité par l0ky le 20-07-2007 à 14:14:14
Reply

Marsh Posté le 20-07-2007 à 15:33:40    

Un serveur Debian Etch tout bete sur lequel j'ai installé Freeradius pour une authentification par adresse MAC, voici le schema:
 
[WWW]===[Debian]===LAN
 
J'ai demandé à FreeRadius d'écouter sur toutes les cartes, en fait les NAS seront les switches du LAN (authentification 802.1), mais depuis que j'ai installé ce serveur, j'ai l'accès SSH bloqué depuis le WWW (server unexpectedly closed connection).


Message édité par redvivi le 20-07-2007 à 15:34:04
Reply

Marsh Posté le 20-07-2007 à 15:43:32    

En fait je me demande si tu n'as pas raison pour PAM car j'ai du utiliser plusieurs commandes pour générer un certificat root pour Freeradius....Comment restaurer / corriger cette configuration PAM ?
 
[EDIT] J'utilise forcément PAM si j'utilise SSH ?


Message édité par redvivi le 20-07-2007 à 15:45:21
Reply

Marsh Posté le 20-07-2007 à 15:45:58    

Tu pourrais décrire précisément comment tu l'as installé ton freeradius ? Tuto suivit ?

Reply

Marsh Posté le 20-07-2007 à 15:48:29    

Normalement tu dois avoir un fichier /etc/pam.d/ssh contenant ca
 
Pris sur une debian testing.

# PAM configuration for the Secure Shell service
 
# Read environment variables from /etc/environment and
# /etc/security/pam_env.conf.
auth       required     pam_env.so # [1]
# In Debian 4.0 (etch), locale-related environment variables were moved to
# /etc/default/locale, so read that as well.
auth       required     pam_env.so envfile=/etc/default/locale
 
# Standard Un*x authentication.
@include common-auth
 
# Disallow non-root logins when /etc/nologin exists.
account    required     pam_nologin.so
 
# Uncomment and edit /etc/security/access.conf if you need to set complex
# access limits that are hard to express in sshd_config.
# account  required     pam_access.so
 
# Standard Un*x authorization.
@include common-account
 
# Standard Un*x session setup and teardown.
@include common-session
 
# Print the message of the day upon successful login.
session    optional     pam_motd.so # [1]
 
# Print the status of the user's mailbox upon successful login.
session    optional     pam_mail.so standard noenv # [1]
 
# Set up user limits from /etc/security/limits.conf.
session    required     pam_limits.so
 
# Set up SELinux capabilities (need modified pam)
# session  required     pam_selinux.so multiple
 
# Standard Un*x password updating.
@include common-password


 
Par contre si tu as un message "server unexpectedly closed connection", je trouve bizarre que ca vienne de la. Il devrait plutot te dire que tu ne t'aies pas authentifier correctement

Reply

Marsh Posté le 20-07-2007 à 15:50:24    

Le voici: http://christian.caleca.free.fr/lansecure/radius/
 
Par contre à un moment il me parle de générer des certificats, j'ai utilisé /usr/share/..../certs.sh qui m'a fait une erreur, alors j'ai utilisé le CA.all (même répertoire) et il m'a généré les certificats, quelques temps après j'exécuté mon script iptables et puis plus rien .....alors que avant ce script iptables me permettzit d'accéder à la machine et je n'ai rien changé dans ce script ! De tout de façon la communication se fait sinon j'obtiendrai un timeout si le port était bloqué...

Reply

Marsh Posté le 20-07-2007 à 15:51:32    

l0ky a écrit :


Par contre si tu as un message "server unexpectedly closed connection", je trouve bizarre que ca vienne de la. Il devrait plutot te dire que tu ne t'aies pas authentifier correctement


 
Attends je n'ai pas le prompt SSH, je lance putty, j'attend une minute et j'ai ce message.

Reply

Marsh Posté le 20-07-2007 à 15:53:09    

Si tu fais un telnet sur le port 22, ca te donne quoi ?

SSH-2.0-OpenSSH_4.6p1 Debian-4

?
Ca ressemble à un probleme de FW.
Vérifie tes règles (iptables -t filter -L -v -n)


Message édité par l0ky le 20-07-2007 à 15:54:20
Reply

Marsh Posté le 20-07-2007 à 15:54:26    

Je te promets que je l'ai testé en long en large et en travers ! le voici d'ailleurs:  
 
eth1 est la connection Internet, eth2 celle du lan et eth0 ne sert pas
 

Code :
  1. #Fichier de configuration permettant de d‚finir les politique de routage,
  2. #de pare-feu, et de gestion de la bande passante (QoS)
  3. echo "Activation du routage..."
  4. echo 1 > /proc/sys/net/ipv4/ip_forward
  5. echo "Activation de l'anti IP-Spoofing..."
  6. if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
  7. then
  8. for f in /proc/sys/net/ipv4/conf/*/rp_filter
  9. do
  10. echo 1 > $f
  11. done
  12. fi
  13. # Nous vidons les chaŒs :
  14. iptables -F
  15. # Nous supprimons d'‚ntuelles chaŒs personnelles :
  16. iptables -X
  17. # Nous les faisons pointer par d‚ut sur DROP
  18. iptables -P INPUT DROP
  19. iptables -P OUTPUT DROP
  20. iptables -P FORWARD DROP
  21. # Nous faisons de mˆ avec toutes les autres tables,
  22. # …avoir "nat" et "mangle", mais en les faisant pointer
  23. # par d‚ut sur ACCEPT. Ca ne pose pas de problŠs
  24. # puisque tout est bloqu‚u niveau "filter"
  25. iptables -t nat -F
  26. iptables -t nat -X
  27. iptables -t nat -P PREROUTING ACCEPT
  28. iptables -t nat -P POSTROUTING ACCEPT
  29. iptables -t nat -P OUTPUT ACCEPT
  30. iptables -t mangle -F
  31. iptables -t mangle -X
  32. iptables -t mangle -P PREROUTING ACCEPT
  33. iptables -t mangle -P INPUT ACCEPT
  34. iptables -t mangle -P OUTPUT ACCEPT
  35. iptables -t mangle -P FORWARD ACCEPT
  36. iptables -t mangle -P POSTROUTING ACCEPT
  37. # Nous consid‚ns que la machine elle mˆ est s–# et que les processus locaux peuvent communiquer entre eux
  38. # via l'interface locale :
  39. iptables -A INPUT -i lo -j ACCEPT
  40. iptables -A OUTPUT -o lo -j ACCEPT
  41. # Nous consid‚ns que notre r‚au local est
  42. # ‚lement s–e qui n'est pas forc‚nt vrai, d'ailleurs).
  43. iptables -A INPUT -i eth0 -j ACCEPT
  44. iptables -A OUTPUT -o eth0 -j ACCEPT
  45. iptables -A INPUT -i eth2 -j ACCEPT
  46. iptables -A OUTPUT -o eth2 -j ACCEPT
  47. # Translation d'adresses pour tout ce qui traverse la passerelle
  48. # en sortant par eth1 (AccŠInternet)
  49. echo "Application du partage de connexion Internet..."
  50. iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
  51. # Toutes les connexions qui sortent du LAN vers le Net
  52. # sont accept‚
  53. echo "Mise en place de l'ouverture dynamique de ports..."
  54. iptables -A FORWARD -i eth2 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  55. # Seules les connexions d‚ ‚blies ou en relation avec
  56. # des connexions ‚blies sont accept‚ venant du Net vers le LAN
  57. iptables -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
  58. # Autorisation des requˆs DNS locales
  59. iptables -A OUTPUT -o eth1 -p udp --sport 1024: --dport 53 -m state --state ! INVALID -j ACCEPT
  60. iptables -A INPUT -i eth1 -p udp --sport 53 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
  61. # Autorisation des requˆs DNS sur Internet
  62. iptables -A OUTPUT -o eth2 -p udp --sport 1024: --dport 53 -m state --state ! INVALID -j ACCEPT
  63. iptables -A INPUT -i eth2 -p udp --sport 53 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
  64. # Autorisation des requˆs DWeb de la passerelle
  65. iptables -A OUTPUT -o eth1 -p tcp -m state --state ! INVALID -j ACCEPT
  66. iptables -A INPUT -i eth1 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
  67. # Autorisation des envois SMTP locaux
  68. iptables -A OUTPUT -o eth1 -p tcp --sport 1024: --dport 25 -m state --state ! INVALID -j ACCEPT
  69. iptables -A INPUT -i eth1 -p tcp --sport 25 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
  70. # AccŠSSH depuis le Net
  71. iptables -A INPUT -p tcp --dport 2145 -i eth1 -j ACCEPT
  72. iptables -A OUTPUT -p tcp --sport 2145 -o eth1 -j ACCEPT
  73. #On accepte la transmission des erreurs de ping
  74. iptables -A INPUT -p icmp -m state --state RELATED -j ACCEPT
  75. # Options de configuration pour limitation:
  76. #  DEV    - correspond au p‚ph‚que ethX connect‚u modem
  77. #  RATEUP - …ositionner …ne valeur inf‚eure …a bande
  78. #            passante montante de la ligne.
  79. #            Pour ma ligne ADSL en 1500/128, RATEUP=90 convient au rythme
  80. #            montant de 128 kbps.
  81. #  RATEDN - …ositionner en dessous de la bande passante descendante de
  82. DEV=eth1
  83. RATEUP=4000
  84. RATEDN=2500 # Nettement inf‚eur …a capacit‚e la ligne de 1500.
  85.             # On n'a donc pas …imiter le trafic entrant jusqu'…e
  86.             # qu'une meilleure r‚isation telle que la modification
  87.             # de fenˆe TCP soit disponible.
  88. #
  89. # Fin des options de configuration
  90. #
  91. # Remise …‚
  92. tc qdisc del dev $DEV root    2> /dev/null > /dev/null
  93. tc qdisc del dev imq0 root 2> /dev/null > /dev/null
  94. iptables -t mangle -D POSTROUTING -o $DEV -j LIMITATION-OUT 2> /dev/null > /dev/null
  95. iptables -t mangle -F LIMITATION-OUT 2> /dev/null > /dev/null
  96. iptables -t mangle -X LIMITATION-OUT 2> /dev/null > /dev/null
  97. iptables -t mangle -D PREROUTING -i $DEV -j LIMITATION-IN 2> /dev/null > /dev/null
  98. iptables -t mangle -F LIMITATION-IN 2> /dev/null > /dev/null
  99. iptables -t mangle -X LIMITATION-IN 2> /dev/null > /dev/null
  100. ip link set imq0 down 2> /dev/null > /dev/null
  101. rmmod imq 2> /dev/null > /dev/null
  102. ###########################################################
  103. #
  104. # Limitation de trafic sortant (limite sup‚eure …ATEUP)
  105. # positionnement de la taille de la file d'‚ssion pour obtenir
  106. # une latence d'environ 2 secondes pour les paquets de la file
  107. # de faible priorit‚#i
  108. ip link set dev $DEV qlen 30
  109. # modification de MTU du p‚ph‚que sortant.
  110. # - Diminuer la MTU abaisse la latence mais d‚ade le d‚t en raison de
  111. #   la surcharge IP et TCP.
  112. #ip link set dev $DEV mtu 1000
  113. # ajout de la strat‚e HTB
  114. tc qdisc add dev $DEV root handle 1: htb default 25
  115. # ajout de la classe de limitation principale
  116. tc class add dev $DEV parent 1: classid 1:1 htb rate ${RATEUP}kbit
  117. # ajout des classes filles:
  118. # - chaque classe dispose AU MOINS de son quota de bande passante. Aucune
  119. #   classe n'est donc ‚uff‚par les autres. Chaque classe peut ‚lement
  120. #   consommer toute la bande passante si aucune autre classe ne l'emploie.
  121. tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[$RATEUP/8]kbit \
  122. ceil ${RATEUP}kbit prio 0
  123. tc class add dev $DEV parent 1:1 classid 1:21 htb rate $[$RATEUP/8]kbit \
  124. ceil ${RATEUP}kbit prio 1
  125. tc class add dev $DEV parent 1:1 classid 1:22 htb rate $[$RATEUP/8]kbit \
  126. ceil ${RATEUP}kbit prio 2
  127. tc class add dev $DEV parent 1:1 classid 1:23 htb rate $[$RATEUP/8]kbit \
  128. ceil ${RATEUP}kbit prio 3
  129. tc class add dev $DEV parent 1:1 classid 1:24 htb rate $[$RATEUP/8]kbit \
  130. ceil ${RATEUP}kbit prio 4
  131. tc class add dev $DEV parent 1:1 classid 1:25 htb rate $[$RATEUP/8]kbit \
  132. ceil ${RATEUP}kbit prio 5
  133. tc class add dev $DEV parent 1:1 classid 1:26 htb rate $[$RATEUP/8]kbit \
  134. ceil ${RATEUP}kbit prio 6
  135. tc class add dev $DEV parent 1:1 classid 1:27 htb rate $[$RATEUP/8]kbit \
  136. ceil ${RATEUP}kbit prio 7
  137. # ajout de la strat‚e aux classes filles
  138. # - SFQ offre un traitement sensiblement ‚itable de chaque classe.
  139. tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
  140. tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10
  141. tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10
  142. tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10
  143. tc qdisc add dev $DEV parent 1:24 handle 24: sfq perturb 10
  144. tc qdisc add dev $DEV parent 1:25 handle 25: sfq perturb 10
  145. tc qdisc add dev $DEV parent 1:26 handle 26: sfq perturb 10
  146. tc qdisc add dev $DEV parent 1:27 handle 27: sfq perturb 10
  147. # r‚rtition du trafic en classe via fwmark
  148. # - le trafic est r‚rti en classes de priorit‚uivant l'indicateur
  149. #   fwmark des paquets (ceux-ci sont positionn‚avec iptables un peu plus
  150. #   loin). La classe de priorit‚ar d‚ut a ‚ mise …:25 de telle sorte
  151. #   que les paquets qui ne sont pas marqu‚se retrouvent dans la classe de
  152. #   priorit‚a plus faible.
  153. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
  154. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21
  155. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22
  156. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23
  157. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24
  158. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 25 fw flowid 1:25
  159. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 26 fw flowid 1:26
  160. tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 27 fw flowid 1:27
  161. # ajout de LIMITATION-OUT …a table de modification des paquets d'iptables
  162. # - ceci d‚are la table employ‚pour filtrer et classer les paquets
  163. iptables -t mangle -N LIMITATION-OUT
  164. iptables -t mangle -I POSTROUTING -o $DEV -j LIMITATION-OUT
  165. # ajout de fwmark pour classer les diff‚nts types de trafic
  166. # - fwmark est positionn‚e 20 …7 suivant la classe. 20 correspond …a
  167. #   priorit‚a plus forte.
  168. #ATTENTION A L'ORDRE, SCAN DES PAQUETS DE HAUT EN BAS. RETURN PERMET DE PASSER
  169. #AU PAQUET SUIVANT DES QUE LE BON PATTERN EST TROUVE POUR LE STREAM (EVITE UN SCAN COMPLET)
  170. iptables -t mangle -A LIMITATION-OUT -p tcp -m length --length :64 -j MARK --set-mark 20
  171. iptables -t mangle -A LIMITATION-OUT -p tcp -m length --length :64 -j RETURN
  172. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto dns -j MARK --set-mark 20
  173. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto dns -j RETURN
  174. iptables -t mangle -A LIMITATION-OUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 20
  175. iptables -t mangle -A LIMITATION-OUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
  176. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto ntp -j MARK --set-mark 21
  177. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto ntp -j RETURN
  178. iptables -t mangle -A LIMITATION-OUT -p icmp -j MARK --set-mark 21
  179. iptables -t mangle -A LIMITATION-OUT -p icmp -j RETURN
  180. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto validcertssl -j MARK --set-mark 21
  181. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto validcertssl -j RETURN
  182. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto ssl -j MARK --set-mark 21
  183. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto ssl -j RETURN
  184. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto tls -j MARK --set-mark 21
  185. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto tls -j RETURN
  186. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto socks -j MARK --set-mark 21
  187. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto socks -j RETURN
  188. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto aimwebcontent -j MARK --set-mark 21
  189. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto aimwebcontent -j RETURN
  190. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto pop3 -j MARK --set-mark 23
  191. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto pop3 -j RETURN
  192. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto smtp -j MARK --set-mark 23
  193. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto smtp -j RETURN
  194. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto msnmessenger -j MARK --set-mark 23
  195. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto msnmessenger -j RETURN
  196. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto aim -j MARK --set-mark 23
  197. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto aim -j RETURN
  198. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto yahoo -j MARK --set-mark 23
  199. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto yahoo -j RETURN
  200. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto irc -j MARK --set-mark 23
  201. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto irc -j RETURN
  202. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto jabber -j MARK --set-mark 23
  203. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto jabber -j RETURN
  204. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto shoutcast -j MARK --set-mark 24
  205. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto shoutcast -j RETURN
  206. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto live365 -j MARK --set-mark 24
  207. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto live365 -j RETURN
  208. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http-rtsp -j MARK --set-mark 24
  209. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http-rtsp -j RETURN
  210. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto rtsp -j MARK --set-mark 24
  211. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto rtsp -j RETURN
  212. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto quicktime -j MARK --set-mark 24
  213. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto quicktime -j RETURN
  214. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto httpvideo -j MARK --set-mark 24
  215. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto httpvideo -j RETURN
  216. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto httpaudio -j MARK --set-mark 24
  217. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto httpaudio -j RETURN
  218. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http-itunes -j MARK --set-mark 24
  219. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http-itunes -j RETURN
  220. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto sip -j MARK --set-mark 24
  221. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto sip -j RETURN
  222. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto skypeout -j MARK --set-mark 24
  223. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto skypeout -j RETURN
  224. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto skypetoskype -j MARK --set-mark 24
  225. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto skypetoskype -j RETURN
  226. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto h323 -j MARK --set-mark 24
  227. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto h323 -j RETURN
  228. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http -j MARK --set-mark 21
  229. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http -j RETURN
  230. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto ftp -j MARK --set-mark 26
  231. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto ftp -j RETURN
  232. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http-dap -j MARK --set-mark 26
  233. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto http-dap -j RETURN
  234. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto msn-filetransfer -j MARK --set-mark 26
  235. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto msn-filetransfer -j RETURN
  236. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7dir /etc/l7-protocols/ --l7proto bittorrent -j MARK --set-mark 27
  237. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7dir /etc/l7-protocols/ --l7proto bittorrent -j RETURN
  238. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto edonkey -j MARK --set-mark 27
  239. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto edonkey -j RETURN
  240. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto fasttrack -j MARK --set-mark 27
  241. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto fasttrack -j RETURN
  242. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto imesh -j MARK --set-mark 27
  243. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto imesh -j RETURN
  244. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto gnutella -j MARK --set-mark 27
  245. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto gnutella -j RETURN
  246. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto openft -j MARK --set-mark 27
  247. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto openft -j RETURN
  248. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto napster -j MARK --set-mark 27
  249. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto napster -j RETURN
  250. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto mute -j MARK --set-mark 27
  251. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto mute -j RETURN
  252. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto 100bao -j MARK --set-mark 27
  253. iptables -t mangle -A LIMITATION-OUT -m layer7 --l7proto 100bao -j RETURN
  254. iptables -t mangle -A LIMITATION-OUT -m mark --mark 0 -j MARK --set-mark 25
  255. # Fin de la limitation sortante
  256. #
  257. ####################################################
  258. echo "Limitation de trafic sortant activ‚ur $DEV.  D‚t: ${RATEUP}kbit/sec."
  259. # D‚mmenter la ligne suivante pour n'avoir que la limitation de trafic montant.
  260. # exit
  261. # Limitation du trafic entrant (d‚t maximal de RATEDN)
  262. # on force le chargement du module imq
  263. modprobe imq numdevs=1
  264. ip link set imq0 up
  265. # ajout de la strat‚e de mise en file d'attente
  266. # - par d‚ut une classe 1:21 …aible priorit‚
  267. tc qdisc add dev imq0 handle 1: root htb default 21
  268. # ajout de la classe de limitation principale
  269. #
  270. tc class add dev imq0 parent 1: classid 1:1 htb rate ${RATEDN}kbit
  271. # ajout des classes filles
  272. # - trafic TCP en 21, le reste en 20
  273. #
  274. tc class add dev imq0 parent 1:1 classid 1:20 htb rate $[$RATEDN/2]kbit \
  275. ceil ${RATEDN}kbit prio 0
  276. tc class add dev imq0 parent 1:1 classid 1:21 htb rate $[$RATEDN/2]kbit \
  277. ceil ${RATEDN}kbit prio 1
  278. # ajout de la strat‚e de limitation aux classes filles
  279. # - voir les remarques ci-dessus sur SFQ.
  280. tc qdisc add dev imq0 parent 1:20 handle 20: sfq perturb 10
  281. tc qdisc add dev imq0 parent 1:21 handle 21: red limit 1000000 \
  282. min 5000 max 100000 avpkt 1000 burst 50
  283. # r‚rtition du trafic en classe via fwmark
  284. # - le trafic est r‚rti en classes de priorit‚uivant l'indicateur
  285. #   fwmark des paquets (ceux-ci sont positionn‚avec iptables un peu plus loin).
  286. tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
  287. tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21
  288. # ajout de LIMITATION-IN …a table de modification des paquets d'iptables
  289. iptables -t mangle -N LIMITATION-IN
  290. iptables -t mangle -I PREROUTING -i $DEV -j LIMITATION-IN
  291. # ajout de fwmark pour classer les diff‚nts types de trafic
  292. # - fwmark est positionn‚e 20 …1 suivant la classe. 20 correspond …a
  293. #   priorit‚a plus forte.
  294. # Forte priorit‚our les paquets non TCP
  295. iptables -t mangle -A LIMITATION-IN -p ! tcp -j MARK --set-mark 20
  296. iptables -t mangle -A LIMITATION-IN -p ! tcp -j RETURN
  297. # Les petits paquets TCP sont probablement des ACK
  298. iptables -t mangle -A LIMITATION-IN -p tcp -m length --length :64 -j MARK --set-mark 20
  299. iptables -t mangle -A LIMITATION-IN -p tcp -m length --length :64 -j RETURN
  300. iptables -t mangle -A LIMITATION-IN -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 20
  301. iptables -t mangle -A LIMITATION-IN -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
  302. # R‚tition - les paquets sans marque sont positionn‚…1 (faible priorit‚
  303. iptables -t mangle -A LIMITATION-IN -m mark --mark 0 -j MARK --set-mark 21
  304. iptables -t mangle -A LIMITATION-IN -m mark --mark 0 -j RETURN
  305. # on envoie les paquets pr‚dents …'interface imq0.
  306. iptables -t mangle -A LIMITATION-IN -j IMQ
  307. # Fin de la limitation de trafic entrant.
  308. #
  309. ####################################################
  310. echo "Limitation de trafic entrant activ‚sur $DEV.  D‚t: ${RATEDN}kbit/sec."


Message édité par redvivi le 20-07-2007 à 15:55:46
Reply

Marsh Posté le 20-07-2007 à 15:54:26   

Reply

Marsh Posté le 20-07-2007 à 22:14:17    

[EDIT] Je confirme, c'est un probleme avec iptables mais je vois pas d'ou ça vient !


Message édité par redvivi le 20-07-2007 à 22:17:51
Reply

Marsh Posté le 20-07-2007 à 22:21:12    

J'ai trouvé, en fait quand je lance mon script 2 fois à la suite, tout fonctionne, si je le lance une fois ça ne fonctionne pas...autant ne pas chercher à comprendre !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed