___           ___           ___           ___           ___           ___     
     /\  \         /\__\         /\  \         /\__\         /\  \         /\  \    
     \:\  \       /:/  /        /::\  \       /::|  |       /::\  \       /::\  \   
      \:\  \     /:/__/        /:/\:\  \     /:|:|  |      /:/\:\  \     /:/\ \  \  
      /::\  \   /::\  \ ___   /:/  \:\  \   /:/|:|__|__   /::\~\:\  \   _\:\~\ \  \ 
     /:/\:\__\ /:/\:\  /\__\ /:/__/ \:\__\ /:/ |::::\__\ /:/\:\ \:\__\ /\ \:\ \ \__\
    /:/  \/__/ \/__\:\/:/  / \:\  \ /:/  / \/__/~~/:/  / \/__\:\/:/  / \:\ \:\ \/__/
   /:/  /           \::/  /   \:\  /:/  /        /:/  /       \::/  /   \:\ \:\__\  
   \/__/            /:/  /     \:\/:/  /        /:/  /        /:/  /     \:\/:/  /  
                   /:/  /       \::/  /        /:/  /        /:/  /       \::/  /   
                   \/__/         \/__/         \/__/         \/__/         \/__/    
				   .openmod.org





Initiation au routage VPN - sur CISCO 17xx Series



-|- A. Introduction



En rangeant le sombre merdier présent sur mon bureau, je suis tombé sur le carton d'un routeur VPN 
CISCO serie 1700. Il y a un moment déjà que je voulais faire un petit how to sur l'IOS cisco, et le 
routage VPN et vu que j'ai vraiment la flemme de bosser cette aprem, ce carton tombe à pic.

A peine deballé, on s'apperçois que chez cisco, le pognon ne part pas dans la documentation. On 
préfère foutre tout un tas de polystyrène de merde.. c'est bien plus interessant. Vu le prix des 
routeurs on laissera le soin aux 'vaches à lait' d'utilisateurs d'aller acheter un bouquin CISCO 
hors de prix (comme leur routeurs d'ailleurs) pour avoir un peu plus d'info sur le produit... bref 
c bien sympa, Merci Mr cisco

La misérable documentation fournie avec le routeur est décidement bien lamentable. Premièrement 
elle est en Anglais.. je n'ai rien contre nos amis les Beefs, mais bon ... De plus, cette 
documentation est truffée d'incoherences et d'erreurs.Avant de se lancer corps et âme dans la 
configuration du routeur. Nous allons faire un bref
resumé de ce que l'on va faire




-|- B. Shema



Nous allons configurer un routeur de manière à établir une connexion VPN avec un hote distant,



 PC1 | >>                  INTERNET ADSL >>                        Serveur
                               + | | +
                         Routeur | | Routeur
                       ----------| |----------
| |                                                                  | |
| |__________________________________________________________________| |
|______________________________________________________________________|
                          >> TUNNEL VPN >>


-|- C. Interface Graphique




INTERFACE GRAPHIQUE. Cisco Security Device Manager

Cisco permet de paramétrer le routeur via une interface + conviviale que l'habituelle 'mode 
console'. Une fois branché pour la premiere fois, le paramétrage du routeur via l'interface 
graphique est accessible par cette adresse : HTTPS://10.10.10.1/flash/sdm.shtml
Là il vous demandera un username et un password. ATTENTION . la doc cisco vous indiquera de mettre

username sdm
password sdm

..erreur .. merci la doc de merde. Il faudra indiquer "cisco" en username et password.

L'interface est très intuitive et vous permettra de configurer aisement votre routeur vos tunnels
VPN et tout un tas d'autres conneries. On peux même y voir la version de l'IOS (Internetworking 
Operating System), ici le 12.3(2)XE, la version de l'interface graphique SDM 1.0, faire des 
rapports de securité...
voir les logs .. bref la total quoi.

Cependant, j'ai toujours eu une préfèrence pour le mode console. Certes, beaucoup moins 'belle', 
moins 'intuitive' .. mais elle a le mérite d'être plus precise.. En utilisant l'interface 
graphique j'ai bien peur que cela me rajoute tout un tas de codes parasites... Nous allons donc 
zappé la SDM et passer en mode console.


-|- D. Mode Console - Première partie



Avant de se lancer à corps perdu dans la conf d'un cisco, je pense qu'il conviendra d'en rappeler 
quelques notions. Une fois le cable console branché. je créé la connexion avec l'hyper terminal de windo :

Pour configurer des routeurs Cisco, vous devez accéder directement à l'interface utilisateur du 
routeur via un terminal ou accéder à distance au routeur. Avant d'entrer une quelconque commande, 
vous devez vous connecter au routeur.

Pour des raisons de sécurité, le routeur offre deux niveaux d'accès aux commandes :

Mode utilisateur - Les tâches typiques comprennent, notamment, la vérification du fonctionnement 
du routeur. Ce mode ne permet pas de modifier la configuration du routeur.

Mode privilégié - Les tâches typiques comprennent, notamment, les changements de configuration du routeur.

La première fois que vous vous connectez à un routeur, vous voyez une invite en mode utilisateur. 
Les commandes offertes à ce niveau sont un sous-ensemble des commandes offertes en mode privilégié.
La plupart de ces commandes vous permettent d'afficher des données sans changer les paramètres de 
configuration du routeur.

Pour accéder à l'ensemble des commandes, vous devez activer le mode privilégié. À l'invite " > ", 
entrez "enable ". À l'invite " password ", entrez le mot de passe qui a été défini à l'aide de la 
commande "enable secret ". Dès que vous avez terminé ces étapes de connexion, l'invite se transforme 
en # (dièse) car vous êtes passé en mode privilégié.

Authorized access only!
Disconnect IMMEDIATELY if you are not an authorized user!

User Access Verification
Password:
Routeur> < INVITE MODE UTILISATEUR
Routeur> en < ENABLE
Password:
Routeur# < INVITE MODE PRIVILEGIE
Routeur# disable
Routeur>Routeur> exit


Si vous appuyez sur le "?" vous obtiendrez les commandes les plus fréquements utilisées.

Routeur# ?
Exec commands:
<1-99> Session number to resume
access-enable Create a temporary Access-List entry
access-profile Apply user-profile to interface
access-template Create a temporary Access-List entry
archive manage archive files
auto Exec level Automation
bfe For manual emergency modes setting
cd Change current directory
clear Reset functions
clock Manage the system clock
cns CNS agents
configure Enter configuration mode
connect Open a terminal connection
copy Copy from one file to another
crypto Crypto
debug Debugging functions (see also 'undebug')
delete Delete a file
dir List files on a filesystem
disable Turn off privileged commands
disconnect Disconnect an existing network connection
dot1x Dot1x Exec Commands
enable Turn on privileged commands
erase Erase a filesystem
exit Exit from the EXEC
help Description of the interactive help system
isdn Run an ISDN EXEC command on an ISDN interface
lock Lock the terminal
login Log in as a particular user
logout Exit from the EXEC
modemui Start a modem-like user interface
monitor Monitoring different system events
more Display the contents of a file
mrinfo Request neighbor and version information from a multicast
--More--
....

prennez garde tout de meme, car les données affichées varient selon la version de la
plate-forme logicielle Cisco IOS et la configuration du routeur.

Prennons l'exemple que vous desirez modifier l'horloge du routeur :

Router# clock
% Incomplete command.
Routeur# clock ?
set Set the time and date
Routeur# clock set ?
hh:mm:ss Current time
Routeur# clock set 14:33:00
% Incomplete command.
Routeur# clock set 13:33:00 26 May 2004

Vous avez compris la technique ? De toute façon dés qu'il y a une erreur Cisco vous
l'indiquera par un '^'.

pour voir la configuration acutelle de votre routeur :

Routeur# show running-config
.. OP il vous deballe tout

Les données de configuration d'un routeur peuvent être générées de plusieurs façons. Vous
pouvez utiliser la commande EXEC configure du mode privilégié pour configurer un routeur à
partir d'un terminal virtuel (distant), d'une connexion par modem ou d'une console. Vous pouvez
ainsi modifier à tout moment une configuration existante. Vous pouvez également utiliser la
commande EXEC configure du mode privilégié pour charger une configuration à partir d'un serveur
de réseau TFTP, ce qui vous permet de gérer et de stocker les informations de configuration sur
un site central. La liste suivante décrit brièvement certaines commandes de configuration :

+configure terminal -- permet de configurer manuellement un routeur à partir d'une console.

+configure memory -- charge les informations de configuration à partir de la mémoire NVRAM.

+copy tftp running-config -- charge les informations de configuration à partir d'un serveur de réseau
TFTP dans la mémoire RAM.

+show running-config - affiche la configuration en cours dans la mémoire RAM.

+copy running-config startup-config -- copie la configuration en cours à partir de la mémoire RAM pour
la stocker dans la mémoire NVRAM.

+copy running-config tftp - copie la configuration en cours à partir de la mémoire RAM pour la stocker sur
un serveur de réseau TFTP.

+show startup-config - affiche la configuration enregistrée, qui représente le contenu de la mémoire NVRAM.

+erase startup-config - efface le contenu de la mémoire NVRAM.


-|- E. Mode Console - Seconde partie



Bon la préparation de la conf. C'est ici LE chapitre crucial. Je vais tenter d'être le plus explicite
possible avec la configuration que j'ai installé. Ma configuration vous paraittra un poil bordelique et 
surement optimisable mais elle a le mérite de fonctionner :-D Je vais procéder étape par étape afin que 
vous ne soyez pas trop perdu.


version 12.3
no parser cache
service timestamps debug datetime localtime
service timestamps log datetime localtime
no service password-encryption
!
hostname routeur_vpn
!
boot-start-marker
boot-end-marker
!
logging buffered 51200 warnings
no logging console
enable secret 5 $1$XLSV$VucWRTbqurmXS9dVZ0FQI.
enable password 7 082D435B000E1412
!
username cisco privilege 15 password 0 cisco
no aaa new-model
ip subnet-zero
!
no ip domain lookup
no ip cef
ip audit notify log
ip audit po max-events 100
vpdn enable
!
vpdn-group pppoe
request-dialin
protocol pppoe
!
no ftp-server write-enable
no scripting tcl init
no scripting tcl encdir
!
!
!
!> CETTE SECTION DEFINIT L ENCRYPTION VPN
!
crypto isakmp policy 30
hash md5
authentication pre-share
group 2
lifetime 1000
!
!> DEFINIE LA CLE PARTAGE QUI DOIT ETRE ECHANGEE
!
crypto isakmp key crousVPNt0PIXFW address 195.146.234.134
!
!> DEFINITION DU MODE DE TRANSPORT
!
crypto ipsec transform-set dsltest esp-des esp-md5-hmac
!
!> APPLICATION DU MODE DE TRANSPORT A DES IP FIXE
!
crypto map bureau.lille 10 ipsec-isakmp
set peer 195.146.234.134
set transform-set dsltest
match address 101
!
!
!
!
interface Ethernet0
no ip address
half-duplex
pppoe enable
pppoe-client dial-pool-number 1
!
interface FastEthernet0
description connected to EthernetLAN
ip address 10.247.235.254 255.255.255.0
ip nat inside
speed auto
!
interface Dialer1
mtu 1372
ip address negotiated
ip nat outside
encapsulation ppp
no ip route-cache
no ip mroute-cache
dialer pool 1
no cdp enable
ppp authentication chap pap callin
ppp chap hostname LOGIN
ppp chap password 0 MOTDEPASSE
!
!> LA CRYPTO-MAP EST ASSIGNEE AU DIALER 1
!
crypto map routeur_vpn
!
!
ip nat inside source route-map nonat interface Dialer1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer1
no ip http server
no ip http secure-server
!
!
!
access-list 101 permit ip 10.247.235.0 0.0.0.255 host 10.247.192.200
access-list 105 deny ip 10.247.235.0 0.0.0.255 10.247.192.0 0.0.0.255
access-list 105 permit ip 10.247.235.0 0.0.0.255 any
snmp-server community public RO
snmp-server enable traps tty
!
route-map nonat permit 10
match ip address 105
!
!
control-plane
!
!
line con 0
match ip address 105
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
password 7 0703EE59471E08
login
line aux 0
line vty 0 4
privilege level 15
password 7 060E0034455918
login
transport input telnet ssh
line vty 5 15
privilege level 15
login local
transport input telnet ssh
!
!
end



-|- F. Mode Console - Troisieme partie


Maintenant que l'on a notre conf, on va pas modifier directement le routeur. Il est préférable de faire
au préalable une sauvegarde. Plusieurs options sont possible pour récuperer la conf actuelle du routeur.

Routeur# Show running-config
ou encore
Routeur# show conf

et OP on se fait un mega copier coller.. direction notepad.

Sinon il existe une methode + 'propre' qui consiste à envoyer la configuration du routeur vers un serveur
TFTP.

Routeur# copy runnin-config tftp
Address or name of remote host []? METTRE_IP_DU_SERVER_TFTP
Destination filename [Routeur-confg]? INDIQUER_LE_NOM_DE_SAUVEGARDE
!!
2262 bytes copied in 4.100 secs (552 bytes/sec)


une fois cette manip effectuée, on va directement faire un copier coller de notre nouvelle conf et la 
claquer dans la fenêtre telnet du routeur.. une fois ceci fait.. on regarde que tout fonctionne 
impécablement bien ..et on save :

routeur#write mem

terminé !


-|- F. Conclusion

Voila c'est fini .. encore une fois les fautes d'orthographes sont copyrightées.

a+ !