admin:index
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
admin:index [2016/03/11 09:10] – [TP3 (Scapy et Divers Trucs)] orel | admin:index [2024/03/18 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 6: | Line 6: | ||
* [[admin: | * [[admin: | ||
- | * [[admin: | + | * [[admin: |
- | * [[admin: | + | * [[admin: |
+ | * [[admin: | ||
* [[admin: | * [[admin: | ||
- | * [[admin: | + | * [[admin: |
- | * [[admin: | + | * [[admin: |
+ | * [[admin: | ||
* [[admin: | * [[admin: | ||
- | * [[admin: | + | * [[admin: |
* [[admin: | * [[admin: | ||
Pour tester les TPs sur votre machine, c'est [[admin: | Pour tester les TPs sur votre machine, c'est [[admin: | ||
+ | Console Qemu : Ctrl-A + C puis system_reset pour reboot une machine. | ||
- | ==== TP4 (NAT) ==== | ||
- | __Préliminaires__ : | ||
- | Pour afficher la table NAT : | ||
- | $ iptables -t nat -L | ||
- | |||
- | Pour remettre la table à zéro : | ||
- | |||
- | $ iptables -t nat -F | ||
- | | ||
- | L' | ||
- | |||
- | __NAT Statique__ : association 1 @priv et 1 @pub (action SNAT / DNAT) | ||
- | |||
- | a) Paquet Entrant dans le Réseau Privé | ||
- | |||
- | On modifie l' | ||
- | |||
- | $ iptables -t nat -A PREROUTING -d @pub -i ethin -j DNAT --to-destination @priv | ||
- | |||
- | La translation inverse est implicite lors de la réponse. | ||
- | | ||
- | b) Paquet Sortant vers le Réseau extérieur | ||
- | |||
- | On modifie l' | ||
- | |||
- | $ iptables -t nat -A POSTROUTING -s @priv -o ethout -j SNAT --to-source @pub | ||
- | | ||
- | La translation inverse est implicite lors de la réponse. | ||
- | | ||
- | __NAT Dynamique__ : association N @priv et 1 @pub (action MASQUERADE) avec @priv une adresse de réseau et mask un masque en nb de bits | ||
- | | ||
- | $ iptables -t nat -A POSTROUTING -s @priv/mask -j MASQUERADE | ||
- | |||
- | __En résumé__ : | ||
- | |||
- | |||
- | * Connexion initié depuis l' | ||
- | * Connexion initié depuis l' | ||
- | |||
- | |||
- | __Exemple__ | ||
- | |||
- | Considérons les réseaux privés 192.168.0.0/ | ||
- | |||
- | immortal$ iptables -t nat -A POSTROUTING -s 192.168.0.0/ | ||
- | | ||
- | |||
- | __Port Forwarding__ | ||
- | |||
- | On veut mettre en place du port forwarding entre la passerelle // | ||
- | |||
- | immortal$ iptables -t nat -A PREROUTING -d 147.210.20.1 -p tcp --dport 2222 -j DNAT --to 192.168.0.3: | ||
- | atg$ ssh toto@147.210.20.1 | ||
- | atg$ ssh -p 2222 toto@147.210.20.1 | ||
- | | ||
- | |||
- | ==== TP5 (Firewall)==== | ||
- | |||
- | == Memento == | ||
- | |||
- | Voici quelques notes concernant l' | ||
- | * INPUT : tout ce qui rentre dans la machine ; | ||
- | * OUTPUT : tout ce qui sort dans la machine ; | ||
- | * FORWARD : tout ce qui traverse la machine (i.e. lors du routage). | ||
- | |||
- | Pour afficher les règles de la table filter : | ||
- | $ iptables -t filter -L -v | ||
- | |||
- | Pour effacer toutes les règles ajoutées : | ||
- | $ iptables -t filter -F | ||
- | |||
- | Pour chaque règle que l'on ajoute, trois actions sont possibles (notée < | ||
- | * ACCEPT : on accepte ; | ||
- | * REJECT : on rejette poliment (réponse d' | ||
- | * DROP : on jette à la poubelle (pas de réponse d' | ||
- | |||
- | Pour modifier la politique par défaut du firewall : | ||
- | $ iptables -t filter -P < | ||
- | |||
- | Pour ajouter une nouvelle règle à une chaîne du firewall (attention à l' | ||
- | $ iptables -t filter -A < | ||
- | |||
- | * avec <SRC> des indications sur la provenance des paquets IP, comme par exemple "-i eth0" ou "-s 192.168.0.0/ | ||
- | * avec <DST> des indications sur la destination des paquets IP, comme par exemple : "-o eth1" ou "-d 147.210.0.0/ | ||
- | * avec <...> des infos complémentaires sur par exemple la nature du protocole "-p icmp" ou "-p tcp", avec éventuellement des precisions spécifiques à ces protocoles (" | ||
- | |||
- | Pour plus d' | ||
- | |||
- | |||
- | ==Accepter le traffic partant du réseau interne vers des serveurs web ou SSH== | ||
- | |||
- | Soit 192.168.1.0/ | ||
- | |||
- | <code bash> | ||
- | $ iptables -F | ||
- | $ iptables -P FORWARD DROP | ||
- | $ iptables -P INPUT DROP | ||
- | $ iptables -P OUTPUT DROP | ||
- | |||
- | # traffic sortant | ||
- | $ iptables -A FORWARD -s 192.168.1.0/ | ||
- | |||
- | # traffic retour | ||
- | $ iptables -A FORWARD -d 192.168.1.0/ | ||
- | |||
- | </ | ||
- | |||
- | == Accepter un ping toutes les 10s à destination de nile == | ||
- | |||
- | Soit //nile// la machine 192.168.0.4. On configure le firewall sur // | ||
- | |||
- | <code bash> | ||
- | $ iptables -F | ||
- | $ iptables -P FORWARD DROP | ||
- | $ iptables -A FORWARD -d 192.168.0.4 -p icmp -m limit --limit 6/mn --limit-burst 1 -j ACCEPT | ||
- | $ iptables -A FORWARD -s 192.168.0.4 -p icmp -m state --state ESTABLISHED -j ACCEPT | ||
- | </ | ||
- | |||
- | Pour faire un test depuis une machine extérieure, | ||
- | |||
- | $ ping -i 5 192.168.0.4 | ||
- | |||
- | ==== TP6 (NIS & NFS) ==== | ||
- | |||
- | __Attention__ : Vérifier que le service //rpcbind// est bien démarré, sinon il faut penser à le lancer. | ||
- | |||
- | $/ | ||
- | |||
- | == Configuration du serveur NIS== | ||
- | |||
- | On choisit un nom de domaine // | ||
- | |||
- | root@immortal: | ||
- | |||
- | On positionne également le nom de domaine courant à // | ||
- | |||
- | root@immortal: | ||
- | |||
- | On peut vérifier que le domainne courant est bien positionné en tapant la commande // | ||
- | |||
- | On configure // | ||
- | |||
- | ... | ||
- | # Are we a NIS server and if so what kind (values: false, slave, master)? | ||
- | NISSERVER=master | ||
- | ... | ||
- | |||
- | Puis on construit la base de données, en exportant les comptes courants (définis dans / | ||
- | |||
- | root@immortal: | ||
- | |||
- | Un message d' | ||
- | |||
- | On démarre donc le serveur NIS : | ||
- | |||
- | root@immortal: | ||
- | Starting NIS services: ypserv yppasswdd ypxfrd ypbind. | ||
- | |||
- | OK c'est parti... sinon on vérifie les logs (/ | ||
- | |||
- | On regénère proprement la basse de données NIS. | ||
- | |||
- | root@immortal: | ||
- | root@immortal: | ||
- | root@immortal: | ||
- | |||
- | Updating passwd.byname... | ||
- | Updating passwd.byuid... | ||
- | Updating group.byname... | ||
- | Updating group.bygid... | ||
- | Updating hosts.byname... | ||
- | Updating hosts.byaddr... | ||
- | Updating rpc.byname... | ||
- | Updating rpc.bynumber... | ||
- | Updating services.byname... | ||
- | Updating services.byservicename... | ||
- | Updating netid.byname... | ||
- | Updating protocols.bynumber... | ||
- | Updating protocols.byname... | ||
- | Updating netgroup... | ||
- | Updating netgroup.byhost... | ||
- | Updating netgroup.byuser... | ||
- | Updating shadow.byname... | ||
- | |||
- | Tous les utilisateurs locaux sur le serveur NIS avec un UID > 1000 sont exportés dans la database. | ||
- | |||
- | En lançant la commande | ||
- | |||
- | |||
- | ==Configuration du client== | ||
- | |||
- | On vérifie que le fichier / | ||
- | |||
- | root@grave: | ||
- | root@grave: | ||
- | root@grave: | ||
- | Starting NIS services: ypbind. | ||
- | |||
- | Pour vérifier que l'on trouve bien le serveur NIS depuis le client : | ||
- | |||
- | root@grave: | ||
- | 192.168.0.1 | ||
- | |||
- | Pour afficher la liste des comptes utilisateur NIS : | ||
- | |||
- | root@grave: | ||
- | |||
- | Il faut ensuite éditer le fichier / | ||
- | |||
- | passwd: | ||
- | group: | ||
- | shadow: | ||
- | ... | ||
- | |||
- | Attention, il faut recharger le fichier // | ||
- | |||
- | / | ||
- | |||
- | Avec la séquence //files nis//, on vérifie d' | ||
- | |||
- | |||
- | == Ajouter des nouveaux utilisateurs NIS sur le serveur == | ||
- | |||
- | On commence par désactiver kerberos & ldap | ||
- | |||
- | root@immortal: | ||
- | |||
- | Puis on ajoute les utilisateurs Unix //titi// et //tutu// : | ||
- | |||
- | root@immortal: | ||
- | password titi | ||
- | root@immortal: | ||
- | pasword tutu | ||
- | |||
- | On met à jour la base de données NIS : | ||
- | |||
- | root@immortal: | ||
- | |||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | Maj de la base, pas besoin de restarter le serveur NIS... | ||
- | |||
- | root@grave: | ||
- | tutu: | ||
- | titi: | ||
- | toto: | ||
- | |||
- | Pour tester NIS on passe par un tiers utilisateur plutôt que par root (root ne vérfie pas le password) ! | ||
- | |||
- | root@grave: | ||
- | toto@grave:/ | ||
- | Mot de passe : xxxx | ||
- | titi@grave:/ | ||
- | |||
- | |||
- | ==Configuration de NFS== | ||
- | |||
- | Il ne faut pas oublier de configurer le serveur NFS comme un client NIS ! Pour mettre à jour le cache des utilisateurs NIS sur un client, il est utile de relancer le démon NSCD (NameService Cache Daemon) / | ||
- | |||
- | __Côté serveur NFS__ | ||
- | |||
- | On configure le serveur NFS sur syl ; grave sert de client. | ||
- | |||
- | Sur le serveur, le répertoire NFS sera /pub. | ||
- | |||
- | root@syl$ mkdir /pub | ||
- | |||
- | On indique cela / | ||
- | |||
- | /pub (rw, | ||
- | |||
- | Autres Exemples (man exports) : | ||
- | |||
- | /pub host1(ro) host2(rw, | ||
- | /pub @netgroup(rw) | ||
- | /pub (ro) | ||
- | |||
- | Par defaut, // | ||
- | |||
- | On démarre le common et le serveur NFS (nécessaire après chaque modif de / | ||
- | |||
- | root@grave$ / | ||
- | root@grave$ / | ||
- | |||
- | |||
- | __Côté client NFS__ | ||
- | |||
- | Sur grave, déjà configuré comme un client NIS. | ||
- | |||
- | On démarre le //common// NFS (après chaque modif de / | ||
- | |||
- | root@grave$ / | ||
- | |||
- | On crée le montage NFS dans /mnt/pub : | ||
- | |||
- | root@grave$ mkdir /mnt/pub | ||
- | root@grave$ chmod 777 /mnt/pub | ||
- | root@grave$ mount -t nfs -o nfsvers=3 192.168.0.1:/ | ||
- | |||
- | |||
- | On crée des fichiers vides (commande //touch//) sur la machine client en tant que //tutu// et //titi//. | ||
- | |||
- | root@grave:/ | ||
- | tutu@grave:/ | ||
- | root@grave:/ | ||
- | titi@grave:/ | ||
- | | ||
- | On vérifie les droits... | ||
- | | ||
- | root@grave:/ | ||
- | -rw-r--r-- 1 titi titi 0 2008-03-11 13:28 titi | ||
- | -rw-r--r-- 1 tutu tutu 0 2008-03-11 13:28 tutu | ||
- | |||
- | On peut également configurer le point de montage de manière permanente dans /etc/fstab | ||
- | |||
- | root@grave$ jmacs /etc/fstab | ||
- | |||
- | <file system> | ||
- | 192.168.0.3:/ | ||
- | | ||
- | ==En conclusion== | ||
- | |||
- | Donc on a : | ||
- | |||
- | * immortal : serveur NIS (compte NIS tutu et titi) | ||
- | * syl : serveur NFS (export de /pub) & client NIS | ||
- | * grave : client NIS & NFS (montage dans / | ||
- | |||
- | Pour terminer de tout bien configurer, il faut créer sur le serveur NFS les repertoires /pub/tutu et /pub/titi appartenant respectivement aux utilsateurs tutu et titi, avec les bons droits d' | ||
- | |||
- | |||
- | ==== TP7 LDAP ==== | ||
- | |||
- | NIS c'est un peu démodé... Aujourd' | ||
- | |||
- | |||
- | == 1) Configuration du serveur LDAP== | ||
- | |||
- | On configure le serveur LDAP sur la machine // | ||
- | |||
- | < | ||
- | immortal$ adduser tutu | ||
- | immortal$ adduser titi | ||
- | </ | ||
- | |||
- | Création d'un password pour l' | ||
- | |||
- | < | ||
- | immortal$ slappasswd | ||
- | New password: admin | ||
- | Re-enter new password: admin | ||
- | {SSHA}XSd0QXLAiNz734f/ | ||
- | </ | ||
- | |||
- | Editer le fichier / | ||
- | | ||
- | < | ||
- | # nom du domaine LDAP | ||
- | | ||
- | |||
- | # nom de l' | ||
- | | ||
- | |||
- | # ajout d'un mot de passe admin | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | __Attention__ : Ne pas oublier de corriger le nom de domaine pour les ACLs en fin de fichier ! En gros, il faut remplacer tous les @XXXXXXXXX@ ! | ||
- | |||
- | __Nota Bene__ : dc = domain component | ||
- | |||
- | Dans le fichier / | ||
- | |||
- | < | ||
- | SLAPD_CONF="/ | ||
- | </ | ||
- | |||
- | Démarrage du serveur LDAP : | ||
- | |||
- | < | ||
- | immortal$ / | ||
- | </ | ||
- | |||
- | On vérifie que le démon a démarré ! | ||
- | |||
- | < | ||
- | immortal$ ps aux |grep slapd | ||
- | </ | ||
- | |||
- | ==2) Ajout des comptes dans le serveur LDAP== | ||
- | |||
- | On va utiliser un script pour peupler automatiquement la base LDAP avec les comptes des utilisateurs (et d' | ||
- | |||
- | < | ||
- | # Default DNS domain | ||
- | $DEFAULT_MAIL_DOMAIN = " | ||
- | |||
- | # Default base | ||
- | $DEFAULT_BASE = " | ||
- | </ | ||
- | |||
- | Ensuite, il faut lancer le script : | ||
- | |||
- | < | ||
- | immortal$ cd / | ||
- | immortal$./ | ||
- | |||
- | Enter the X.500 naming context you wish to import into: [dc=mydomain, | ||
- | Enter the hostname of your LDAP server [ldap]: localhost | ||
- | Enter the manager DN: [cn=admin, | ||
- | Enter the credentials to bind with: <-- mot de passe de l' | ||
- | Do you wish to generate a DUAConfigProfile [yes|no]? no | ||
- | |||
- | Importing into dc=mydomain, | ||
- | |||
- | Creating naming context entries... | ||
- | Migrating groups... | ||
- | Migrating hosts... | ||
- | Migrating networks... | ||
- | Migrating users... | ||
- | Migrating netgroups... | ||
- | Migrating netgroups (by user)... | ||
- | Migrating netgroups (by host)... | ||
- | Importing into LDAP... | ||
- | adding new entry " | ||
- | ... | ||
- | adding new entry " | ||
- | ... | ||
- | adding new entry " | ||
- | adding new entry " | ||
- | adding new entry " | ||
- | ... | ||
- | adding new entry " | ||
- | adding new entry " | ||
- | ... | ||
- | adding new entry " | ||
- | adding new entry " | ||
- | adding new entry " | ||
- | </ | ||
- | |||
- | ==En cas d' | ||
- | |||
- | Bon, si ça ne marche pas, on fait le ménage : | ||
- | |||
- | $/ | ||
- | $ rm -rf / | ||
- | |||
- | On vérifie ses configs et on recommence !!! | ||
- | |||
- | $/ | ||
- | |||
- | ==Test client== | ||
- | |||
- | On effectue une recherche sur toutes les entrées " | ||
- | |||
- | immortal$ ldapsearch -x -b " | ||
- | |||
- | ou plus simplement si tout le monde peut consulter le serveur LDAP (cf. ACL) : | ||
- | |||
- | immortal$ ldapsearch -x " | ||
- | |||
- | Comparer le nombre de répondes avec / | ||
- | |||
- | < | ||
- | immortal$ wc -l /etc/passwd | ||
- | </ | ||
- | |||
- | L' | ||
- | |||
- | immortal$ grep tutu /etc/passwd > tutu | ||
- | immortal$ migrate-passwd.pl tutu > tutu.ldif | ||
- | immortal$ ldapadd -x -D " | ||
- | |||
- | |||
- | == 3) Configuration d'un client LDAP== | ||
- | |||
- | __Nota Bene__ : Il n'y a pas de démon côté client! | ||
- | |||
- | Editer le fichier / | ||
- | |||
- | < | ||
- | BASE dc=mydomain, | ||
- | URI | ||
- | </ | ||
- | |||
- | Un petit test sur le client (pas besoin de mettre l' | ||
- | |||
- | $ ldapsearch -x -D " | ||
- | |||
- | |||
- | == 4) Authentification via LDAP == | ||
- | |||
- | Dans le fichier / | ||
- | |||
- | < | ||
- | passwd: | ||
- | group: | ||
- | shadow: | ||
- | </ | ||
- | | ||
- | __Attention__ : Ne pas oublier //files//, sinon mieux vaut que //ldap// fonctionne du premier coup !!! | ||
- | |||
- | $ / | ||
- | |||
- | A partir d'ici, les comptes LDAP sont visibles, mais l' | ||
- | |||
- | On lance la commande suivante et on sélectionne Unix + LDAP. | ||
- | |||
- | $ pam-auth-update | ||
- | |||
- | Ensuite : | ||
- | |||
- | $ dpkg-reconfigure libpam-ldap | ||
- | $ dpkg-reconfigure libnss-ldapd | ||
- | |||
- | Attention, il faut saisir ldap:// | ||
- | |||
- | Pour finir : | ||
- | $ dpkg-reconfigure nslcd | ||
- | |||
- | A vous de jouer... on peut ajouter le serveur NFS ! | ||
- | |||
- | ==== TP8 DNS & DHCP ==== | ||
- | |||
- | |||
- | == Config Serveur DNS == | ||
- | |||
- | domain: metal.fr | ||
- | server: immortal (192.168.0.2) | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | zone " | ||
- | type master; | ||
- | file "/ | ||
- | }; | ||
- | |||
- | zone " | ||
- | type master; | ||
- | file "/ | ||
- | }; | ||
- | </ | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | ; $ORIGIN metal.fr | ||
- | $TTL 86400 | ||
- | @ IN SOA dns1.metal.fr. mailer.metal.fr. ( | ||
- | 1 ; Serial | ||
- | 604800 ; Refresh | ||
- | 86400 ; Retry | ||
- | 2419200 ; | ||
- | 86400 ) ; Negative Cache TTL | ||
- | ; | ||
- | |||
- | @ IN NS immortal | ||
- | @ IN MX 10 nile | ||
- | |||
- | immortal IN A 192.168.0.2 | ||
- | syl IN A 192.168.0.1 | ||
- | nile IN A 192.168.0.3 | ||
- | |||
- | ; alias | ||
- | mailer IN CNAME nile | ||
- | dns1 IN CNAME immortal | ||
- | </ | ||
- | |||
- | __Nota Bene__ : NS = DNS Server, IN = Internet (optionel), mailer.metal.fr => mailer@metal.fr (@email du DNS admin) | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | ; $ORIGIN 0.168.192.in-addr.arpa | ||
- | $TTL 86400 | ||
- | @ IN SOA dns1.metal.fr. mailer.metal.fr. ( | ||
- | 1 ; Serial | ||
- | 604800 ; Refresh | ||
- | 86400 ; Retry | ||
- | 2419200 ; | ||
- | 86400 ) ; Negative Cache TTL | ||
- | ; | ||
- | |||
- | @ IN NS dns1.metal.fr. | ||
- | |||
- | ; reverse | ||
- | 2 IN PTR immortal.metal.fr. | ||
- | 1 IN PTR syl.metal.fr. | ||
- | 3 IN PTR nile.metal.fr. | ||
- | </ | ||
- | |||
- | Vérif Config Serveur : | ||
- | |||
- | < | ||
- | $ named-checkzone 0.168.192.in-addr.arpa db.0.168.192 | ||
- | $ named-checkzone metal.fr db.metal | ||
- | $ named-checkconf | ||
- | </ | ||
- | |||
- | Démarrage du serveur : | ||
- | |||
- | $ / | ||
- | |||
- | Les logs : | ||
- | |||
- | $ tail / | ||
- | |||
- | ==Config Client DNS== | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | search metal.fr | ||
- | nameserver 192.168.0.2 | ||
- | </ | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | ... | ||
- | hosts: | ||
- | ... | ||
- | </ | ||
- | |||
- | Ne pas oublier de redémarrer le daemon //nscd//. | ||
- | |||
- | Test Client, sur syl par exemple : | ||
- | |||
- | < | ||
- | $ nslookup nile | ||
- | Server: | ||
- | Address: | ||
- | Name: | ||
- | Address: 192.168.0.3 | ||
- | |||
- | $ ping nile | ||
- | PING nile.metal.fr (192.168.0.3) 56(84) bytes of data. | ||
- | 64 bytes from nile.metal.fr (192.168.0.3): | ||
- | </ | ||
- | |||
- | |||
- | == Config du serveur DHCP == | ||
- | |||
- | //Serveur DHCP su syl.// | ||
- | |||
- | __Configuration sans DNS__ | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | default-lease-time 600; | ||
- | max-lease-time 7200; | ||
- | |||
- | subnet 192.168.0.0 netmask 255.255.255.0 { | ||
- | range 192.168.0.10 192.168.0.20; | ||
- | option broadcast-address 192.168.0.255; | ||
- | } | ||
- | </ | ||
- | |||
- | On démarre le serveur DHCP : | ||
- | |||
- | | ||
- | |||
- | __Configuration avec DNS__ | ||
- | |||
- | On suppose le serveur DNS bien configuré sur immortal... | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | subnet 192.168.0.0 netmask 255.255.255.0 { | ||
- | range 192.168.0.10 192.168.0.30; | ||
- | option domain-name " | ||
- | option domain-name-servers 192.168.0.2; | ||
- | # option routers 192.168.0.254; | ||
- | option subnet-mask 255.255.255.0; | ||
- | option broadcast-address 192.168.0.255; | ||
- | |||
- | host nile { | ||
- | hardware ethernet A2: | ||
- | fixed-address 192.168.0.9; | ||
- | } | ||
- | |||
- | } | ||
- | </ | ||
- | |||
- | On redémarre le serveur DHCP. | ||
- | |||
- | |||
- | == Configuration du Client DHCP== | ||
- | |||
- | Dans / | ||
- | |||
- | < | ||
- | auto eth0 | ||
- | iface eth0 inet dhcp | ||
- | </ | ||
- | |||
- | Puis on démarre le client... | ||
- | |||
- | $/ | ||
- | |||
- | Ou encore : | ||
- | |||
- | < | ||
- | root@nile:~ #dhclient -v | ||
- | |||
- | Listening on LPF/ | ||
- | Sending on | ||
- | Sending on | ||
- | DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 | ||
- | DHCPOFFER from 192.168.0.1 | ||
- | DHCPREQUEST on eth0 to 255.255.255.255 port 67 | ||
- | DHCPACK from 192.168.0.1 | ||
- | bound to 192.168.0.10 -- renewal in 265 seconds. | ||
- | </ | ||
- | |||
- | |||
- | On peut vérifier les entrées ajoutées dynamiquement sur le serveur DHCP dans le fichier / | ||
- | |||
- | |||
- | ==Configuration avançée du serveur DHCP== | ||
- | |||
- | On souhaite maintenant faire en sorte que le serveur DHCP collabore avec le serveur DNS pour mettre à jour automatiquement la liste desnouvelles machines reconnues par DNS. | ||
- | |||
- | On utilise le secret définie dans / | ||
- | |||
- | On modifie la config DHCP du serveur dans / | ||
- | |||
- | < | ||
- | ddns-update-style interim; | ||
- | ddns-updates on; | ||
- | deny client-updates; | ||
- | ddns-domainname " | ||
- | ddns-rev-domainname " | ||
- | authoritative; | ||
- | |||
- | key " | ||
- | algorithm hmac-md5; | ||
- | secret " | ||
- | } | ||
- | |||
- | zone metal.fr. { | ||
- | primary 192.168.0.2; | ||
- | key rndc-key; | ||
- | } | ||
- | |||
- | zone 0.168.192.in-addr.arpa. { | ||
- | primary 192.168.0.2; | ||
- | key rndc-key; | ||
- | } | ||
- | | ||
- | subnet 192.168.0.0 netmask 255.255.255.0 { | ||
- | range 192.168.0.10 192.168.0.30; | ||
- | option domain-name " | ||
- | option domain-name-servers 192.168.0.2; | ||
- | option subnet-mask 255.255.255.0; | ||
- | option broadcast-address 192.168.0.255; | ||
- | } | ||
- | </ | ||
- | |||
- | Puis on modifie la config su serveur DNS dans / | ||
- | |||
- | < | ||
- | key " | ||
- | | ||
- | | ||
- | }; | ||
- | |||
- | zone " | ||
- | type master; | ||
- | file "/ | ||
- | allow-update {key " | ||
- | }; | ||
- | |||
- | zone " | ||
- | type master; | ||
- | file "/ | ||
- | allow-update {key " | ||
- | }; | ||
- | </ | ||
- | |||
- | Ne pas oublier chmod g+wx /etc/bind (pour le group " | ||
- | |||
- | Finalement, côté client DHCP (nile), dans / | ||
- | |||
- | < | ||
- | send host-name " | ||
- | </ | ||
- | |||
- | Puis : | ||
- | |||
- | $ dhclient -v | ||
- | |||
- | |||
- | ==== TP9 WINDOWS ==== | ||
- | |||
- | On considère le réseau suivant : une machine Windows 7 (172.16.1.1/ | ||
- | |||
- | ==Configuration des machines Linux== | ||
- | |||
- | <code bash> | ||
- | |||
- | immortal$ ifconfig eth1 172.16.0.1/ | ||
- | immortal$ echo 1 > / | ||
- | immortal$ ifconfig eth0 192.168.0.1/ | ||
- | immortal$ ifconfig eth2 192.168.1.1/ | ||
- | |||
- | syl$ ifconfig eth0 192.168.0.2/ | ||
- | syl$ route add default gw 192.168.0.1 | ||
- | |||
- | nile$ ifconfig eth0 192.168.1.2/ | ||
- | nile$ route add default gw 192.168.1.1 | ||
- | </ | ||
- | |||
- | ==Configuration de la machine Windows== | ||
- | |||
- | Configurez l' | ||
- | |||
- | En ligne de commande, il faut lancer le //Command Prompt// dans le menu Windows. Faire un clic droit, //Run as Administrator// | ||
- | |||
- | La machine Windows et déjà configuré : on vérifie : | ||
- | | ||
- | win$ ipconfig.exe /all | ||
- | win$ route.exe print | ||
- | | ||
- | |||
- | Si tout est OK, on doit pouvoir faire un ping vers notre UML | ||
- | |||
- | win$ ping.exe 172.16.0.1 | ||
- | |||
- | Lancer MMC (Microsoft Management Console), qui va permettre de gérer toute la config... | ||
- | |||
- | win$ mmc.exe | ||
- | |||
- | /* Il faut commencer par ajouter via le menu " | ||
- | |||
- | Attention, il y a plusieurs " | ||
- | |||
- | On peut commencer par inactiver le firewall... puis par faire des tests ICMP vers toutes les machines Linux, en ajoutant par exemple 172.16.0.1 comme default gateway dans Windows (interface graphique). | ||
- | |||
- | Si on active le firewall, le ping de windows vers linux fonctionne (pas de firewall sur immortal), mais en revanche l' | ||
- | |||
- | __Nota Bene__: Windows autorise le Established de base ! | ||
- | |||
- | Il faut rajouter une petite règle ICMP qui va bien via la MMC, pour autoriser le ping. Add "New Inbound Rules" / Custom Rule / et après c'est facile... On peut maintenant, vérifier que le ping fonctionne de manière | ||
- | symétrique. | ||
- | |||
- | Pour définir une route par défaut, il faut utiliser 0.0.0.0 comme réseau cible et 255.255.255.255 comme masque ! | ||
- | |||
- | # route par défaut (gateway immortal) | ||
- | win$ route add 0.0.0.0 mask 0.0.0.0 172.16.0.1 | ||
- | |||
- | |||
- | On va virer la default gateway, pour rajouter à la main... des routes spécifiques vers les réseaux de syl et opeth... | ||
- | |||
- | # vers opeth | ||
- | win$ route add 192.168.0.0 mask 255.255.255.0 172.16.0.1 [if 16] | ||
- | # vers syl | ||
- | win$ route add 192.168.1.0 mask 255.255.255.0 172.16.0.1 [if 16] | ||
- | |||
- | Le numéro d' | ||
- | |||
- | Un peu plus d' | ||
- | |||
- | win$ route.exe /? | ||
- | |||
- | |||
- | Un petit test avec Netcat. On lance le programme en mode serveur //nc.exe//, dans c: | ||
- | |||
- | win$ nc.exe -l -p 5555 | ||
- | |||
- | Windows vous demande si vous souhaitez ajouter une exception dans le firewall pour autoriser les connexions vers le programme nc.exe (all IPs, all ports, TCP & UDP). Si on dit Allow, bah ça marche tout seul ! | ||
- | |||
- | syl$ telnet 172.16.1.1 5555 # connexion au serveur netcat de la machine windows ! | ||
- | | ||
- | Pour sortir de Telne, faire ctrl-], puis taper telnet> quit ;-) | ||
- | |||
- | __Nota Bene__ : Firewall Windows, regarde en premier les règles " | ||
admin/index.1457687416.txt.gz · Last modified: 2024/03/18 15:04 (external edit)