Objectifs : autoriser ou interdire un PC élèves à accéder à internet
case à cocher pour chaque PC
Aide Passerelle
Démarrer le PC
Login : Prof
mot de passe: xxxx
1) Les fichiers au démarrage dans le sous repertoire démarrage
/etc/rc.local lancé automatiquement contient /etc/table_ip.sh
/etc/table_ip.sh lance la table de routage permet l'accès des PCprofs à internet
2)Pour autoriser les PC élèves
Dans une console fenêtre de gauche : "Ligne de commande Émulateur de terminal X"
taper après le dollar $./pc_eleve.py
Une fenêtre apparait cliquer sur un PC (case à cocher) pour l'autoriser à surfer,
(apparait en rouge)
Pour que le clic soit pris en compte taper sur le bouton "valider"
Exemple : valider PM1, les lignes suivantes apparaissent sur la console :
changement
ajouter PM1
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.11 -o eth1 -j MASQUERADE
Si vous recliquer il disparait (revient blanc) et le PC ne peut plus surfer.
exemple on dévalide PM9, les lignes suivantes apparaissent sur la console :
changement
PM9 enlever
/sbin/iptables -t nat -D POSTROUTING -s 192.168.0.19 -o eth1 -j MASQUERADE
Il y a 3 boutons Valider, Lire Iptables, Quitter
Le premier "Valider"prend en compte les changements des cases à cocher,
PC autoriser ou non à surfer.
Le dernier "Quitter" permet de quitter l'interface, tout simplement.
Le deuxième "Lire Iptables" permet de lire la table des Iptables,exemple :
Etat des Iptables
/sbin/iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE 0 -- 192.168.0.2 anywhere
MASQUERADE 0 -- 192.168.0.3 anywhere
MASQUERADE 0 -- 192.168.0.21 anywhere
MASQUERADE 0 -- 192.168.0.11 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
IMPORTANT si les IP 192.168.0.2 et 192.168.0.3 n'apparaissent pas, c'est que le fichier
/etc/rc.local s'est mal déroulé. Lancer alors en root ./prof_internet.sh voir plus bas
Dans ce répertoire passerelle/ se trouvent les fichiers :
pc_eleve.py tables.c tables internet_eleve.sh prof_internet.sh aide_passerelle.txt
Le fichier pc_eleve.py vu avant
aide_passerelle.txt le fichier que vous lisez !!!
IMPORTANT :
Le fichier tables.c est un fichier C lisibles uniquement en root
Le fichier tables fichier executable SUID, permet à un utilisateur prof
de faire des commandes root, les commandes iptables sont des commandes root,
hors il est dangereux de lancer des interfaces graphiques en root ou de
laisser des fenêtres root ouvertes.
Normalement tout doit se faire en prof.
Le fichier internet_eleve.sh
ce fichier permet très simplement d'autoriser ou d'interdire tous les pc élèves.
Voici son interface :
Internet pour les eleves
O interdire, 1 autoriser, 9 quitter
Ce fichier est resté au cas où le fichier pc_eleves.py ne marche plus, roue de secours.
Uniquement en cas de problèmes :
Le fichier prof_internet.sh est un fichier à lancer en root uniquement si on ne peut
accéder à internet sur les postes profs, ce fichier est un fichier pour se dépanner.
Il lance simplement les PC profs et valide les Iptables sur le réseau local.
Pour s'informer sur le réseau :
En tant que simple utilisateur prof :
Dans une console /sbin/ifconfig (correspond à ipconfig sous windows)
eth0 Lien encap:Ethernet HWaddr 00:30:F1:13:4C:13
inet adr:192.168.0.1 Bcast:192.168.0.255 Masque:255.255.255.0
adr inet6: fe80::230:f1ff:fe13:4c13/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7291 errors:0 dropped:0 overruns:0 frame:0
TX packets:10330 errors:0 dropped:0 overruns:0 carrier:0
collisions:72 lg file transmission:1000
RX bytes:1220207 (1.1 MiB) TX bytes:7359309 (7.0 MiB)
Interruption:185 Adresse de base:0x3400
eth1 Lien encap:Ethernet HWaddr
2 lignes enlevées
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13190 errors:0 dropped:0 overruns:0 frame:0
TX packets:6895 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:7750811 (7.3 MiB) TX bytes:1153639 (1.1 MiB)
Interruption:169 Adresse de base:0x3800
lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
Comme on le voit eth0 réseau local, eth1 réseau lycée
Pour connaitre le DNS, le fichier de référence est /etc/resolv.conf
avec le navigateur de fichiers allez dans Système de fichier : etc
recherchez resolv.conf et ouvrir avec un éditeur de texte, voici son contenu
search xxx.fr
nameserver xxx.xxx.xxx.xxx
Si par hasard l'adresse xxx.xxx.xxx.xxx change et que ce PC permet d'accèder à internet.
Il faudrait alors changer le DNS sur tous les PC.