vendredi 3 novembre 2017

CISCO 887VA-K9 pour remplacer la Freebox sur VDSL2 - Part 2: Conf

On continue la conf du routeur.

Si vous avez suivi la première partie, alors vous disposez:
  • de l'adresse mac à spoofer
  • de l'IP de la gateway et de son adresse mac.
Prérequis: disposer de son adresse IP fixe fournie par free.

Voici la conf fonctionnelle permettant de remplacer la freebox:

router1#sh conf
Using 2224 out of 262136 bytes
!
! Last configuration change at 05:14:54 UTC Fri Jun 9 2017 by serge
version 15.2
no service pad
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
service password-encryption
!
hostname router1
!
boot-start-marker
boot-end-marker
!
!
logging monitor warnings
enable secret 5 xxx
enable password 7 xxx
!
aaa new-model
!
!
aaa authentication login default local
aaa authorization exec default local
!
!
!
!
!
aaa session-id common
no process cpu extended history
no process cpu autoprofile hog
memory-size iomem 10
!
!
!
!
!
ip dhcp excluded-address 192.168.1.0 192.168.1.10
!
ip dhcp pool GENERAL
 import all
 network 192.168.1.0 255.255.255.0
 default-router 192.168.1.1
 dns-server 8.8.8.8
 lease 10

!
!
!
ip domain name xenonserge.local
ip cef
no ipv6 cef
!
!
license udi pid CISCO887VA-K9 sn xxx
!

!
username serge privilege 15 secret 4 xxx
!
!
!
!
!
controller VDSL 0
!
ip ssh time-out 60
ip ssh logging events
ip ssh version 2
!
!
!
!
!
!
!
!
!
interface Ethernet0
 mac-address 0007.cbff.f4xx
 no ip address
!
interface Ethernet0.836
 encapsulation dot1Q 836
 ip address @ip_public_free 255.255.255.0
 ip nat outside
 ip virtual-reassembly in
!
interface ATM0
 no ip address
 shutdown
 no atm ilmi-keepalive
!
interface FastEthernet0
 no ip address
 no cdp enable
!
interface FastEthernet1
 no ip address
 shutdown
 no cdp enable
!
interface FastEthernet2
 no ip address
 shutdown
 no cdp enable
!
interface FastEthernet3
 no ip address
 no cdp enable
!
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
!
ip default-gateway 192.168.1.1
no ip classless
ip forward-protocol nd
no ip http server
no ip http secure-server
!
ip nat inside source list 23 interface Ethernet0.836 overload
ip route 0.0.0.0 0.0.0.0 88.xxx.4.254
!
access-list 23 permit 192.168.1.0 0.0.0.255
no cdp run
arp 88.xxx.4.254 0007.cba0.d6dc ARPA
!
!
!
!
!
line con 0
 exec-timeout 0 0
 no modem enable
line aux 0
line vty 0 4
 access-class 10 in
 password 7 xxx
 logging synchronous level all
 transport input telnet
!
!
end

router1#

Cette configuration fonctionne.
Néanmoins, je ne fais pas de requête DHCP sur le wan, ce qui explique que j'ai renseigné l'adresse IP fixe fournie par free.
Pour info, cela doit être possible en ajoutant ip address dhcp client-id Ethernet0.836, mais je n'ai pas testé. Je ferai un retour si je fais le test.


Aussi, la conf ajoute un serveur dhcp pour votre réseau privé. A adapter. Comme la plage ou le dns.
 
Je n'ai pas trop expliqué la conf, mais en reprenant la première partie, on peut s'y retrouver et corréler les adresses mac et l'adresse de la gateway.



dimanche 20 août 2017

Installer docker CE sur Redhat 7

Suivre la procédure suivante :

https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-docker-ce

A l'erreur suivante :

Erreur : Paquet : docker-ce-17.06.1.ce-1.el7.centos.x86_64 (docker-ce-stable)
             Requiert : container-selinux >= 2.9

Installer le repo extras-rpms:

[root@powernas1 ~]# subscription-manager repos --enable=rhel-7-server-extras-rpms Le référentiel « rhel-7-server-extras-rpms » est activé pour ce système.

Installer docker-ce et la dépendance sera résolue:


[root@powernas1 ~]# yum install docker-ce
Modules complémentaires chargés : langpacks, product-id, search-disabled-repos, subscription-manager
rhel-7-server-extras-rpms                                                    | 3.4 kB  00:00:00
rhel-7-server-rpms                                                           | 3.5 kB  00:00:00
rhel-7-server-rt-beta-rpms                                                   | 4.0 kB  00:00:00
rhel-7-server-rt-rpms                                                        | 4.0 kB  00:00:00
(1/3): rhel-7-server-extras-rpms/x86_64/group                                |  104 B  00:00:00
(2/3): rhel-7-server-extras-rpms/x86_64/updateinfo                           | 191 kB  00:00:00
(3/3): rhel-7-server-extras-rpms/x86_64/primary_db                           | 277 kB  00:00:00
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet docker-ce.x86_64 0:17.06.1.ce-1.el7.centos sera installé
--> Traitement de la dépendance : container-selinux >= 2.9 pour le paquet : docker-ce-17.06.1.ce-1.el7.centos.x86_64
--> Lancement de la transaction de test
---> Le paquet container-selinux.noarch 2:2.21-1.el7 sera installé
--> Résolution des dépendances terminée

Dépendances résolues

====================================================================================================
 Package               Architecture
                                  Version                       Dépôt                         Taille
====================================================================================================
Installation :
 docker-ce             x86_64     17.06.1.ce-1.el7.centos       docker-ce-stable               21 M
Installation pour dépendances :
 container-selinux     noarch     2:2.21-1.el7                  rhel-7-server-extras-rpms      29 k

Résumé de la transaction
====================================================================================================
Installation   1 Paquet (+1 Paquet en dépendance)

Taille totale des téléchargements : 21 M
Taille d'installation : 74 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): container-selinux-2.21-1.el7.noarch.rpm                               |  29 kB  00:00:00
warning: /var/cache/yum/x86_64/7Server/docker-ce-stable/packages/docker-ce-17.06.1.ce-1.el7.centos.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
La clé publique pour docker-ce-17.06.1.ce-1.el7.centos.x86_64.rpm n'est pas installée
(2/2): docker-ce-17.06.1.ce-1.el7.centos.x86_64.rpm                          |  21 MB  00:00:06
----------------------------------------------------------------------------------------------------
Total                                                               3.0 MB/s |  21 MB  00:00:06
Récupération de la clé à partir de https://download.docker.com/linux/centos/gpg
Importation de la clef GPG 0x621E9F35 :
ID utilisateur : « Docker Release (CE rpm) <docker@docker.com> »
Empreinte      : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
Provient de    : https://download.docker.com/linux/centos/gpg
Est-ce correct [o/N] : o
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Avertissement : RPMDB a été modifiée par une autre application que yum.
  Installation : 2:container-selinux-2.21-1.el7.noarch                                          1/2
  Installation : docker-ce-17.06.1.ce-1.el7.centos.x86_64                                       2/2
rhel-7-server-extras-rpms/x86_64/productid                                   | 2.1 kB  00:00:00
  Vérification : docker-ce-17.06.1.ce-1.el7.centos.x86_64                                       1/2
  Vérification : 2:container-selinux-2.21-1.el7.noarch                                          2/2

Installé :
  docker-ce.x86_64 0:17.06.1.ce-1.el7.centos

Dépendances installées :
  container-selinux.noarch 2:2.21-1.el7

Terminé !

mardi 15 août 2017

Failed to load SELinux policy, freezing

Sur Redhat 7.3:


Modifier le grub au démarrage de Redhat:

Et désactiver selinux en ajoutant selinux=0


Ctrl-x pour booter.

Procédure pour réinstaller SELinux

  • Désinstaller SELinux: sudo dnf remove -y selinux-policy
  • Supprimer les fichiers et répertoire relatif à SELinux: sudo rm -rf /etc/selinux /var/lib/selinux
  • Réinstaller SELinux: sudo dnf install selinux-policy
  • Vérifier que SELinux est bien positionné à  "enforcing" dans /etc/selinux/config

vendredi 11 août 2017

CISCO 887VA-K9 pour remplacer la Freebox sur VDSL2 - Part 1: @mac

Première chose, trouver l’adresse MAC :

L’adresse MAC n’est pas celle de votre Freebox.
Il faudra donc un sniffer connecté sur un port ethernet du routeur. Le mieux est de prendre un PC connecté sur le routeur avec le logiciel WIRESHARK.

Il faut paramétrer le routeur en mode bridge transparent :

router1#sh conf
Using 1834 out of 262136 bytes
!
! Last configuration change at 17:51:17 UTC Thu Jun 8 2017 by serge
version 15.2
no service pad
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
service password-encryption
!
hostname router1
!
boot-start-marker
boot-end-marker
!
!
logging monitor warnings
enable secret 5 $1$xxx
enable password 7 xxx
!
aaa new-model
!
!
aaa authentication login default local
aaa authorization exec default local
!
!
!
!
!
aaa session-id common
no process cpu extended history
no process cpu autoprofile hog
memory-size iomem 10
!
!
no ip routing
!
!
!
!
!
!
ip domain name xenonserge.local
no ip cef
no ipv6 cef
!
!
license udi pid CISCO887VA-K9 sn xxx
!
!
username serge privilege 15 secret 4 rxxx
!
!
!
!
!
controller VDSL 0
!
ip ssh time-out 60
ip ssh logging events
ip ssh version 2
!
!
!
!
!
!
!
!
!
interface Ethernet0
 no ip address
 no ip route-cache
!
interface Ethernet0.836
 encapsulation dot1Q 836
 ip address dhcp
 no ip route-cache
 bridge-group 1
!
interface ATM0
 no ip address
 no ip route-cache
 shutdown
 no atm ilmi-keepalive
!
interface FastEthernet0
 no ip address
 no cdp enable
!
interface FastEthernet1
 no ip address
 no cdp enable
!
interface FastEthernet2
 no ip address
 no cdp enable
!
interface FastEthernet3
 no ip address
 no cdp enable
!
interface Vlan1
 no ip address
 ip virtual-reassembly in
 no ip route-cache
 bridge-group 1
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
no cdp run
!
!
!
bridge 1 protocol ieee
!
!
line con 0
 exec-timeout 0 0
 no modem enable
line aux 0
line vty 0 4
 access-class 10 in
 password 7 xxx
 logging synchronous level all
 transport input telnet
!
!
end

router1#


Lancer le sniffer  et lancer une activité sur votre adresse IP. Par exemple, lancer un http sur l’adresse IP fixe fourni par FREE.

Sur votre sniffer, trouver votre IP dans Destination et sélectionner la ligne :



Et vous trouvez l’adresse MAC utilisée sur votre box.
Cette adresse MAC doit certainement permettre de filtrer les accès de la box sur le réseau Free.

Reste à configurer le routeur avec  l’adresse MAC coté box que l’on vient de trouver mais aussi il sera nécessaire d’avoir l’adresse  MAC coté free. (adresse MAC de la gateway)

En effet, le protocole ARP est désactivé.

On peut le voir dans le sniffer. Filtrer sur le protocole ARP.
Who has 88.xxx.4.254 Tell @ip fournie par Free
Notez que 88.xxx.4.254 est la gateway coté Free.

Normalement fourni par le DHCP de Free.


Je n’ai pas creusé mais le DHCP Request n’est pas correctement formaté par le routeur CISCO.
Mais il existe une solution.

Prochain post, la conf définitive pour remplacer la box.




dimanche 19 février 2017

Montage NFS Linux pour Kodi


Ce paramétrage a été fait sur une Redhat 7.3 donc valable pour une Fedora ou une Centos.

Installation du firewall:

yum -y install firewalld

Démarrer le firewall et activer son démarrage automatique au boot:

systemctl start firewalld.service
systemctl enable firewalld.service

Configuration du firewall:

firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --permanent --zone=public --add-service=mountd
systemctl reload firewalld.service

Installation du serveur NFS:

yum install nfs-server

Démarrer le serveur NFS et activer son démarrage automatique au boot:

systemctl enable nfs-server.service
systemctl start nfs-server.service


Installation du client:

yum install nfs-utils

Configuration du partage:

Dans /etc/exports:

/HDD_Videos/Videos 192.168.1.0/24(rw,no_root_squash,insecure)

Une fois le fichier exports modifié, appliquer avec la commande suivante:

exportfs -a

Vérification:

showmount -e

dimanche 22 janvier 2017

Surveiller la température et l'humidité extérieure avec une sonde Oregon Scientific THGR 810

Le but est de surveiller la température extérieure et d'utiliser une page web pour afficher les valeurs, mais aussi générer un graph de l'évolution de la température.


On utilisera la sonde Oregon Scientific THGR 810 Détecteur de Température/Humidité
  • Description du produit: Oregon Scientific - THGR 810
  • Type de produit: Détecteur de température/humidité
  • Relevé de température: -30°C à + 60 °C
  • Relevé hygrométrique (en %): 25% à 90%
  • Canaux sélectionnables: Jusqu'à 10
  • Portée: 100 mètres
  • Fréquence de transmission: 433 MHz
  • Gamme de l'humidité: 5% à 95%
  • Résolution de l'humidité: 1%
  • Fréquence de transmission radio: 433 MHz
  • Alimentation: 2x Piles AAA 1,5 V
  • Dimensions: 92 x 60 x 20 mm
  • Poids: 62 g
On la trouve sur Amazon au prix de 32 euros. C'est le prix le plus bas, sinon, utiliser le site camelcamelcamel pour surveiller le prix.

Voici à quoi elle ressemble:

Oregon Scientific THGR 810



Afin de récupérer les valeurs, nous utiliserons le RFXCOM 433 MHz:

http://www.planete-domotique.com/rfxcom/


On utilisera le script python RFXcmd suivant :
https://github.com/xenonserge/rfxcmd-restored-wiki

Pour commencer, vous devez avoir installé Python 2.7.

Vérifier que c'est le cas avec la commande suivante, et l'installer dans le cas échéant :

$ python -V

Installer Python-serial qui permettra de communiquer avec le RFXCom.

# yum install pyserial

Cloner le repo RFXCmd dans votre home directory ou dans /opt

# cd /opt
# git clone https://github.com/digiltd/rfxcmd.git

Trouver le device RFXCom sur le port USB auquel il est branché:

$ lsusb
Bus 002 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 002 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 002 Device 002: ID 8087:8002 Intel Corp.

Chercher sur le port USB exact:

$ dmesg |grep idVendor=0403
[    4.240141] usb 2-1.7: New USB device found, idVendor=0403, idProduct=6001

Trouver sur quel device est attaché le RFXCom:

$ dmesg | grep '2-1.7'
[    4.144360] usb 2-1.7: new full-speed USB device number 4 using ehci-pci
[    4.240141] usb 2-1.7: New USB device found, idVendor=0403, idProduct=6001
[    4.240145] usb 2-1.7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.240147] usb 2-1.7: Product: RFXtrx433
[    4.240149] usb 2-1.7: Manufacturer: RFXCOM
[    4.240150] usb 2-1.7: SerialNumber: A14GVIX
[   18.770258] ftdi_sio 2-1.7:1.0: FTDI USB Serial Device converter detected
[   18.770345] usb 2-1.7: Detected FT232RL
[   18.770848] usb 2-1.7: FTDI USB Serial Device converter now attached to ttyUSB0

Vérifier le status du RFXCom:

# cd /opt/rfxcmd/
# ./rfxcmd.py -d /dev/ttyUSB0 -f -v
RFXCMD Version 0.3 (739)
------------------------------------------------
Send                    = 0D 00 00 00 02 00 00 00 00 00 00 00 00 00
Date/Time               = 2017-08-27 09:50:42
Packet Length           = 0D
Packettype              = Interface Control


Vérifier que les valeurs des sondes arrivent bien sur le RFXCom:

# ./rfxcmd.py -d /dev/ttyUSB0 -l -v
RFXCMD Version 0.3 (739)
------------------------------------------------
Received                = 14 01 00 00 02 53 0D 00 00 27 00 01 03 1C 03 00 00 00 00 00 00
Date/Time               = 2017-08-27 09:52:46
Packet Length           = 14
Packettype              = Interface Message
------------------------------------------------
Received                = 0A 52 02 00 8C 01 00 C3 4A 03 69
Date/Time               = 2017-08-27 09:53:30
Packet Length           = 0A
Packettype              = Temperature and humidity sensors
Subtype                 = THGR810, THGN800
Seqnbr                  = 00
Id                      = 8C01
Temperature             = 19.5 C
Humidity                = 74%
Humidity Status         = Wet
Battery                 = 9
Signal level            = 6
------------------------------------------------
Received                = 0A 52 02 01 8C 01 00 C3 4A 03 69
Date/Time               = 2017-08-27 09:54:23
Packet Length           = 0A
Packettype              = Temperature and humidity sensors
Subtype                 = THGR810, THGN800
Seqnbr                  = 01
Id                      = 8C01
Temperature             = 19.5 C
Humidity                = 74%
Humidity Status         = Wet
Battery                 = 9
Signal level            = 6


Prochaine étape: config.xml et page web ...