#!/bin/sh
# ports bas
dw_ports="0:1023"
# ports hauts
up_ports="1024:65535"
#adresse ip fourni par fai
ipv4_fai="xxx.yyy.zzz.ttt"
ipv4_tele="212.27.38.253"
#adresse ip machine perso
v4ip001="192.168.0.1"
#adresse ip esclave perso
v4ip002="192.168.0.11"
#adresse ip serveur gandi perso
v4ipext001="aaa.bbb.ccc.ddd"
case "$1" in
start)
$0 startipv4
$0 startipv4ftp
$0 ipv4ssh
$0 ipv4jelogue
;;
stop)
$0 stopipv4
;;
info|status)
$0 infoipv4
;;
restart|force-reload)
$0 stop
$0 start
;;
infoipv4)
iptables -L -n -v
;;
stopipv4)
iptables -F
iptables -X
# Politique par défaut : on accepte tout
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
;;
startipv4)
# Vider les tables actuelles
iptables -t filter -F
# Vider les règles personnelles
iptables -t filter -X
# Politique par défaut : on rejette tout
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# Initialisation de la table NAT (existe pas en ipv6)
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# Initialisation de la table MANGLE
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
# Ne pas casser les connexions etablies
#iptables -t filter -A INPUT -i eth0 -p tcp --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -t filter -A INPUT -i eth0 -p udp --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -t filter -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# autoriser les requetes dhcp
iptables -A INPUT -i eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT -m comment --comment "requete dhcp"
iptables -A OUTPUT -o eth0 -p udp -d 192.168.20.254 --dport 67:68 --sport 67:68 -j ACCEPT -m comment --comment "requete dhcp"
# Autoriser loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# DNS In/Out (Pour accepter les résolutions de nom)
iptables -t filter -A OUTPUT -o eth0 -p tcp --dport 53 -j ACCEPT -m comment --comment "tcp4 dns"
iptables -t filter -A INPUT -i eth0 -p tcp --sport 53 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT -m comment --comment "udp4 dns"
iptables -t filter -A INPUT -i eth0 -p udp --sport 53 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
# client didiwiki
#iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -d $v4ip002 -p tcp --dport 8000 -j ACCEPT -m comment --comment "client didiwiki"
#iptables -t filter -A INPUT -i eth0 -s $v4ip002 -p tcp --sport 8000 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
# client pop3 courier
iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -p tcp --dport 110 -j ACCEPT -m comment --comment "client pop"
iptables -t filter -A INPUT -i eth0 -p tcp --sport 110 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
# client http
iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -p tcp --dport 80 -j ACCEPT -m comment --comment "client http"
iptables -t filter -A INPUT -i eth0 -p tcp --sport 80 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -p tcp --dport 8080 -j ACCEPT
#iptables -t filter -A INPUT -i eth0 -p tcp --sport 8080 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
# client https
iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -p tcp --dport 443 -j ACCEPT -m comment --comment "client https"
iptables -t filter -A INPUT -i eth0 -p tcp --sport 443 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
# client NTP
#iptables -t filter -A OUTPUT -o eth0 -p udp --dport 123 -j ACCEPT
;;
ipv4jelogue)
#On logue le reste
iptables -A INPUT -j LOG -m limit --limit 500/hour --log-level 6 --log-prefix "[in4-reject]"
iptables -A OUTPUT -j LOG -m limit --limit 500/hour --log-level 6 --log-prefix "[out4-reject]"
;;
ipv4ssh)
# client SSH
iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -d $v4ip002 -p tcp --dport 22 -j ACCEPT -m comment --comment "client ssh"
iptables -t filter -A INPUT -i eth0 -s $v4ip002 -p tcp --sport 22 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
# client SSH
iptables -t filter -A OUTPUT -o eth0 -s $v4ip001 -d $v4ipext001 -p tcp --dport 22 -j ACCEPT -m comment --comment "client ssh"
iptables -t filter -A INPUT -i eth0 -s $v4ipext001 -p tcp --sport 22 --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
;;
startipv4ftp)
# client ftp Autoriser les requetes FTP
modprobe ip_conntrack_ftp
#pour la connection ftp puisse s'etablir
iptables -t filter -A INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
#connexion pour les données (en mode actif).
iptables -t filter -A INPUT -i eth0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
#la connexion pour les données (en mode passif).
iptables -t filter -A INPUT -i eth0 -p tcp --sport $up_ports --dport $up_ports -m state --state ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp --sport $up_ports --dport $up_ports -m state --state ESTABLISHED,RELATED -j ACCEPT
;;
*)
echo "Usage: {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Configuration
vendredi 10 avril 2009
Un script iptables
Par lepigeon le vendredi 10 avril 2009, 17:48
Lancer un process au demarage
Par lepigeon le vendredi 10 avril 2009, 17:39
pour Demarrer le daemon dans les niveaux 2,3,4,5 avec une priorité 99 et le stopper dans les niveaux 0,1,6 pour une priorite 20, il faut creer un script MonScripte (en s'inspirant de ceux presents dans /etc/init.d/) puis le rendre executable et le placer dans /etc/init.d/.
Il ne reste plus qu'a creer les liens symboliques par :
update-rc.d MonScripte start 99 2 3 4 5 . stop 20 0 1 6 .
Pour desactiver le script (supprimer les modules) :
update-rc.d -f MonScripte remove
pour voir les ressources utilisées, utiliser les commandes
ps -A
ou
top
Grub
Par lepigeon le vendredi 10 avril 2009, 17:24
title Debian GNU/Linux, kernel 2.6.26-1-686 root (hd0,1) kernel /boot/vmlinuz-2.6.26-1-686 root=/dev/hda2 ro initrd /boot/initrd.img-2.6.26-1-686 title Other operating systems: root ## This entry automatically added by the Debian installer for a non-linux OS on /dev/hda1 title Mon os sur hda1 root (hd0,0) savedefault makeactive chainloader +1
jeudi 9 avril 2009
Raid linux
Par lepigeon le jeudi 9 avril 2009, 16:32
detecter une panne
mdam --detail /dev/md0
ou
cat /proc/mdstat
retirer un disque defectueux
mdadm --manage /dev/md1 --remove /dev/sdb1
apres avoir
- eteint la machine
- enlevé le disque defectueux
- installé un nouveau disque ....
- lancer la commande
mdadm --manage /dev/md1 --add /dev/sdb1
si ca marche ...
mercredi 4 mars 2009
Test reseau
Par lepigeon le mercredi 4 mars 2009, 15:36
- liste des peripheriques pci
# lspci
- Pilote de la carte réseau
# dmesg | grep eth
- information sur la carte reseau
# ethtool -i eth0
# ethtool eth0
- afficher la configuration
# ifconfig -a
- teste debit et fonctionnement: ifstat iftop iperf
lundi 1 septembre 2008
Linux - associer un nom specifique a une interface reseau
Par lepigeon le lundi 1 septembre 2008, 20:17
pour associer un nom specifique a une interface reseau, il faut spécifier les adresse mac dans le fichier /etc/iftab (si le fichier n'existe pas, il faut le creer)
- eth0 mac 00:08:a1:40:8e:1a arp 1
- wlan0 mac 00:10:22:40:82:f0 arp 1
- eth0 = interface réseau filaire
- wlan0 = interface réseau wifi
if faut aussi installer ifrename puis le lancer
voir la configuration dans: /etc/udev/rules.d/25-persistent-net.rules
configuration des domaines ou sous domaines avec apache
Par lepigeon le lundi 1 septembre 2008, 20:15
repertoire apache /etc/apache2/sites-available
liste des configurations des domaines ou sous domaines Activer le site
- a2ensite default
Activer le mod ssl
- a2enmod ssl
dns chez gandi
Par lepigeon le lundi 1 septembre 2008, 20:12
configuration routage ipv4 chez gandi:
- www 10800 IN A aaa.bbb.ccc.ddd
- sousdomaine 10800 IN A aaa.bbb.ccc.ddd
- * 10800 IN A aaa.bbb.ccc.ddd
configuration routage ipv6 chez gandi:
- www 10800 IN AAAA 2a01:e0b:1:33:220:61ff:fce7:5e34
adresse web en ipv6
Par lepigeon le lundi 1 septembre 2008, 20:11
acceder a une adresse web ipv6
- http://2a01:f0b:1:39:241:61ff:fee7:2020:80
Linux - acceder a une partition du type fat32
Par lepigeon le lundi 1 septembre 2008, 20:08
pour acceder a une partition du type fat32, en tant que non root, modifier le fichier fstab :
- /dev/hdb2 /dos vfat rw,uid=10000,gid=10000 0 0
ou
- /deb/hdb2 est la partition que l'on veut acceder
- /dos est son point de montage
- rw,uid=10000,gid=10000
- rw est pour Read et Write
- uid=10000 est le n° de l'utilisateur propriétaire en lecture et ecriture
- gid=10000 est le n°du groupe qui aura les droits d'acces en lecture et ecriture
dimanche 31 août 2008
Linux - Changer l'ordre des disques
Par lepigeon le dimanche 31 août 2008, 20:17
pour booter comme on veut, gérer l'ordre des disque, il suffit d'identifier les disques par leur uuid
- ls -l /dev/disk/by-uuid/
Information sur une partition
- blkid /dev/hda1
Exemple de fichier fstab
- UUID=f0f68b8c-cf26-4c76-8a21-6a5c02c028dd / ext3 defaults,errors=remount-ro 0 1
Exemple pour grub
- kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/2d781b26-0285-421a-b9d0-d4a0d3b55680