Outils pour utilisateurs

Outils du site


anthony_messe:ansible:roles

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
anthony_messe:ansible:roles [2018/05/25 09:20]
Anthony Messé
anthony_messe:ansible:roles [2018/06/14 13:02] (Version actuelle)
Anthony Messé
Ligne 10: Ligne 10:
  
 ===== Avec des roles ===== ===== Avec des roles =====
 +
 +Attention, pour que les logs soient récupérés correctement,​ veillez à ce que [[anthony_messe:​banana_pi:​logs_des_connexions#​configuration_du_serveur|le serveur de logs]] soit correctement configuré
  
 Chaque rôle peut être exécuté en l'​appelant. Il contient une suite d'​instructions,​ un peu comme une fonction d'un programme. Chaque rôle peut être exécuté en l'​appelant. Il contient une suite d'​instructions,​ un peu comme une fonction d'un programme.
Ligne 22: Ligne 24:
 └── roles └── roles
     ├── configure_interfaces     ├── configure_interfaces
 +    │   ├── files
 +    │   │   ├── interface_ap
 +    │   │   └── interfaces
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── dnsmasq     ├── dnsmasq
 +    │   ├── files
 +    │   │   └── dnsmasq.conf
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── hostapd     ├── hostapd
 +    │   ├── files
 +    │   │   └── hostapd.conf
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── iptables     ├── iptables
 +    │   ├── files
 +    │   │   ├── iptables_access_point.service
 +    │   │   └── iptables_access_point.sh
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── logs     ├── logs
 +    │   ├── files
 +    │   │   └── rsyslog.conf
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
Ligne 43: Ligne 57:
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── tor     ├── tor
 +    │   ├── files
 +    │   │   └── torrc
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
     ├── update_upgrade     ├── update_upgrade
 +    │   ├── files
 +    │   │   └── sources.list
     │   └── tasks     │   └── tasks
     │   ​    ​└── main.yml     │   ​    ​└── main.yml
Ligne 65: Ligne 83:
   * logs   * logs
  
-Qui contiennent eux-mêmes ​le dossier ​suivant : +Qui contiennent eux-mêmes ​les dossiers ​suivant : 
   * tasks  ​   * tasks  ​
 +  * files (pas pour tous)
  
  
Ligne 81: Ligne 100:
      "​wifi_driver":​ "​nl80211"​      "​wifi_driver":​ "​nl80211"​
      "​wlan_interface":​ "​wlx503eaa3d7d6c"​      "​wlan_interface":​ "​wlx503eaa3d7d6c"​
-     "​phy_interface":​ "​eth0"​ 
      ​ansible_connection:​ ssh      ​ansible_connection:​ ssh
      ​ansible_ssh_user:​ user      ​ansible_ssh_user:​ user
Ligne 126: Ligne 144:
     path: /​etc/​network/​interfaces     path: /​etc/​network/​interfaces
     state: absent     state: absent
-- name: Création du fichier de configuration /​etc/​network/​interfaces+- name: Création du fichier de configuration /​etc/​network/​interfaces.d/interfaces
   copy:   copy:
-    ​content: "source ​/etc/network/interfaces.d/*\n# The loopback network interface\nauto lo\niface lo inet loopback\n\n#​ The primary network interface\nallow-hotplug eth0\niface eth0 inet dhcp\n# This is an autoconfigured IPv6 interface\niface eth0 inet6 auto"+    ​src: "{{ role_path }}/files/​interfaces"​
     dest: /​etc/​network/​interfaces     dest: /​etc/​network/​interfaces
-    force: no 
 - name: Création du fichier de configuration /​etc/​network/​interfaces.d/​interface_ap - name: Création du fichier de configuration /​etc/​network/​interfaces.d/​interface_ap
   copy:   copy:
-    ​content: "auto wlx503eaa3d7d6c\niface wlx503eaa3d7d6c inet static\nhostapd ​/etc/hostapd/​hostapd.conf\naddress 10.255.255.254\nnetmask 255.0.0.0"+    ​src: "{{ role_path }}/files/interface_ap"
     dest: /​etc/​network/​interfaces.d/​interface_ap     dest: /​etc/​network/​interfaces.d/​interface_ap
-    force: no+</​code>​ 
 + 
 +Dans le dossier /​configure_interfaces/​files/​ créez un fichier interface_ap et collez-y le contenu suivant 
 + 
 +<​code>​ 
 +auto wlx503eaa3d7d6c 
 +iface wlx503eaa3d7d6c inet static 
 +hostapd /​etc/​hostapd/​hostapd.conf 
 +address 10.255.255.254 
 +netmask 255.0.0.0 
 +</​code>​ 
 + 
 +Dans le dossier /​configure_interfaces/​files/​ créez un fichier interfaces et collez-y le contenu suivant 
 + 
 +<​code>​ 
 +# This file describes the network interfaces available on your system 
 +# and how to activate them. For more information,​ see interfaces(5). 
 + 
 +source /​etc/​network/​interfaces.d/​* 
 + 
 +# The loopback network interface 
 +auto lo 
 +iface lo inet loopback 
 + 
 +# The primary network interface 
 +allow-hotplug eth0 
 +iface eth0 inet dhcp 
 +# This is an autoconfigured IPv6 interface 
 +iface eth0 inet6 auto
 </​code>​ </​code>​
  
Ligne 150: Ligne 195:
 - name: Création du fichier de configuration /​etc/​hostapd/​hostapd.conf - name: Création du fichier de configuration /​etc/​hostapd/​hostapd.conf
   copy:   copy:
-    ​content: "#​L'​interface wifi\ninterface=wlx503eaa3d7d6c\n#​Le SSID (le nom du point d'​accès wifi)\nssid=🐧 OPEN WIFI 🐧\n#Le driver wifi\ndriver=nl80211\n#​On choisit le channel\nchannel=6\n#​Mettre le paramètre à \"​g\"​ pour la bande à 2.4Ghz, et à \"​a\"​ pour la bande à 5Ghz\nhw_mode=g\n\n#​Vous pouvez décommenter les paramètres suivants pour utiliser l'​authentification\nwpa=2\nwpa_passphrase=votre_mot_de_passe\nwpa_key_mgmt=WPA-PSK\nwpa_pairwise=CCMP\nrsn_pairwise=CCMP\n\n#​On log le trafic\nlogger_syslog=-1\nlogger_syslog_level=1\nlogger_stdout=-1\nlogger_stdout_level=2\n\n#​ Levels (minimum value for logged events):​\n# ​ 0 = verbose debugging\n# ​ 1 = debugging\n# ​ 2 = informational messages\n# ​ 3 = notification\n# ​ 4 = warning\n# ​ -1 = all"+    ​src: "{{ role_path }}/​files/​hostapd.conf"
     dest: /​etc/​hostapd/​hostapd.conf     dest: /​etc/​hostapd/​hostapd.conf
-    forceno+</​code>​ 
 + 
 +Dans le dossier /​hostapd/​files/​ créez un fichier hostapd.conf et collez-y le contenu suivant 
 + 
 +<​code>​ 
 +#​L'​interface wifi 
 +interface=wlx503eaa3d7d6c 
 +#Le SSID (le nom du point d'​accès wifi) 
 +ssid=🐧 OPEN WIFI 🐧 
 +#Le driver wifi 
 +driver=nl80211 
 +#On choisit le channel 
 +channel=6 
 +#Mettre le paramètre à "​g"​ pour la bande à 2.4Ghz, et à "​a"​ pour la bande à 5Ghz 
 +hw_mode=g 
 + 
 +#Vous pouvez décommenter les paramètres suivants pour utiliser l'​authentification 
 +wpa=2 
 +wpa_passphrase=votre_mot_de_passe 
 +wpa_key_mgmt=WPA-PSK 
 +wpa_pairwise=CCMP 
 +rsn_pairwise=CCMP 
 + 
 +#Pour nous permettre d'​obtenir la liste des stations connectées 
 +ctrl_interface=/​var/​run/​hostapd 
 +ctrl_interface_group=0 
 + 
 +#On log le trafic 
 +logger_syslog=-1 
 +logger_syslog_level=1 
 +logger_stdout=-1 
 +logger_stdout_level=2 
 + 
 +# Levels (minimum value for logged events): 
 +#  0 = verbose debugging 
 +#  1 = debugging 
 +#  2 = informational messages 
 +#  3 = notification 
 +#  4 = warning 
 +#  -1 = all
 </​code>​ </​code>​
  
Ligne 167: Ligne 251:
 - name: Création du fichier de configuration /​etc/​tor/​torrc - name: Création du fichier de configuration /​etc/​tor/​torrc
   copy:   copy:
-    ​content: "#Adresse virtualle de Tor (voir le man pour plus d'​infos)\nVirtualAddrNetworkIPv4 10.192.0.0/10\n#Pour résoudre les noms de domaine via Tor\nAutomapHostsOnResolve 1\n#Port vers lequel on va rediriger le trafic\nTransPort 10.255.255.254:​9040\n#​Port vers lequel on va rediriger les requêtes DNS\nDNSPort 10.255.255.254:​5353"+    ​src: "{{ role_path }}/files/torrc"
     dest: /​etc/​tor/​torrc     dest: /​etc/​tor/​torrc
-    forceno+</​code>​ 
 + 
 +Dans le dossier /tor/files/ créez un fichier torrc et collez-y le contenu suivant 
 + 
 +<​code>​ 
 +#Adresse virtualle de Tor (voir le man pour plus d'​infos) 
 +VirtualAddrNetworkIPv4 10.192.0.0/​10 
 +#Pour résoudre les noms de domaine via Tor 
 +AutomapHostsOnResolve 1 
 +#Port vers lequel on va rediriger le trafic 
 +TransPort 10.255.255.254:9040 
 +#Port vers lequel on va rediriger les requêtes DNS 
 +DNSPort 10.255.255.254:​5353
 </​code>​ </​code>​
  
Ligne 194: Ligne 290:
 - name: Création du fichier de configuration /​etc/​dnsmasq.conf - name: Création du fichier de configuration /​etc/​dnsmasq.conf
   copy:   copy:
-     ​content: "#​L'​interface wifi sur laquelle on va distribuer les adresses\ninterface=wlx503eaa3d7d6c\n#​Les interfaces sur lesquelles on ne distribue pas d'​adresses\nno-dhcp-interface=lo,​ eth0\n#La plage d'​adresses distribuées\ndhcp-range=10.0.0.10,​10.255.255.250,​255.0.0.0,​12h\n#​On désactive le serveur DNS de dnsmasq ​(activé par défaut)\nport = 0\n#On donne le serveur DNS (quelle que soit l'​adresse,​ les requêtes seront redirigées vers Tor)\ndhcp-option=6,​10.255.255.254\n#​On active les logs\nlog-queries\nlog-facility=/​var/​log/​syslog+    src: "{{ role_path }}/files/dnsmasq.conf
-     ​dest: /​etc/​dnsmasq.conf +    dest: /​etc/​dnsmasq.conf
-     ​force:​ no+
 </​code> ​   </​code> ​  
 +
 +Dans le dossier /​dnsmasq/​files/​ créez un fichier dnsmasq.conf et collez-y le contenu suivant
 +
 +<​code>​
 +#​L'​interface wifi sur laquelle on va distribuer les adresses
 +interface=wlx503eaa3d7d6c
 +#Les interfaces sur lesquelles on ne distribue pas d'​adresses
 +no-dhcp-interface=lo,​ eth0
 +#La plage d'​adresses distribuées
 +dhcp-range=10.0.0.10,​10.255.255.250,​255.0.0.0,​12h
 +#On désactive le serveur DNS de dnsmasq (activé par défaut)
 +port = 0
 +#On active les logs
 +log-queries
 +log-facility=/​var/​log/​syslog
 +#On donne le serveur DNS (quelle que soit l'​adresse,​ les requêtes seront redirigées vers Tor)
 +dhcp-option=6,​10.255.255.254
 +</​code>​
  
 === iptables === === iptables ===
Ligne 205: Ligne 318:
 - name: Création du script iptables - name: Création du script iptables
   copy:   copy:
-     ​content: "#!/bin/sh\n#​Variables\n_trans_port=\"​9040\"​\n_dns_port=\"​5353\"​\n_interface_wifi=\"​wlx503eaa3d7d6c\"​\n_tor_uid=`id -u debian-tor`\n_router=\"​10.255.255.254\"​ #Adresse du router(adresse de la machine ayant le point d'​accès wifi)\n_reseau_wifi=\"​10.0.0.0/​8\"​\n_unreachable=\"​192.168.16.20/​24\"​ #Adresse dont on empêche l'​accès\n_eth0_ip=`ip -4 addr show eth0 | grep -oP \'​(?<​=inet\\s)\\d+(\\.\\d+){3}\'​`\n\n#​On efface toutes les règles iptables\niptables -F\niptables -X\niptables -t nat -F\niptables -t nat -X\niptables -t mangle -F\niptables -t mangle -X\n\n#On met les policy\niptables -P INPUT DROP\niptables -P FORWARD DROP\niptables -P OUTPUT DROP\nip6tables -P INPUT DROP\nip6tables -P FORWARD DROP\nip6tables -P OUTPUT DROP\n\n#On redirige le traffic TCP vers Tor\niptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port\n#​On redirige les requêtes DNS vers Tor\niptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port\n\n#​On log le trafic entrant\niptables -A INPUT -i $_interface_wifi -m state --state NEW -j LOG --log-prefix \"New input connection: \"​\n#​On autorise les requêtes DHCP à entrer\niptables -A INPUT -i $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT\n#On autorise les connexion SSH\niptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -j ACCEPT\n#On autorise les connexions déja établies\niptables -A INPUT -m state --state ESTABLISHED,​RELATED -j ACCEPT\n#On autorise la boucle locale\niptables -A INPUT -i lo -j ACCEPT\n#On autorise les requêtes vers le routeur et le port DNS\niptables -A INPUT -d $_router -i $_interface_wifi -p udp -m udp --dport $_dns_port -j ACCEPT\n#On autorise les requêtes vers le routeur pour le traffic TCP\niptables -A INPUT -d $_router -i $_interface_wifi -p tcp -m tcp --dport $_trans_port --tcp-flags FIN,​SYN,​RST,​ACK SYN -j ACCEPT\n\n#​On log le trafic sortant\niptables -I OUTPUT -m owner --uid-owner $_tor_uid -j LOG --log-prefix \"New output connection: \"​\n#​On drop le paquet si il n est pas dans l état new, established,​ ou related\niptables -A OUTPUT -m state --state INVALID -j DROP\n#On autorise ls connexions déja établies\niptables -A OUTPUT -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT\n#On autorise les requêtes DHCP à sortir\niptables -A OUTPUT -o $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT\n#On autorise le traffic issu de la carte et venant de root\niptables -A OUTPUT ! -s $_reseau_wifi -m owner --uid-owner 0 -j ACCEPT+    src: "{{ role_path }}/files/iptables_access_point.sh" 
-     ​dest: /​usr/​local/​sbin/​iptables_access_point.sh +    dest: /​usr/​local/​sbin/​iptables_access_point.sh 
-     forceno +    ownerroot 
-     ​group: sys +    group: root 
-     owner: root +    mode: 01777
-     ​mode: 0777+
 - name: Création du fichier service iptables - name: Création du fichier service iptables
   copy:   copy:
-     ​content: "[Unit]\nDescription=Setup firewall\nAfter=network.target local-fs.target\n[Service]\nRemainAfterExit=true\nExecStart=/​usr/​local/sbin/​iptables_access_point.sh\n[Install]\nWantedBy=multi-user.target+    src: "{{ role_path }}/files/​iptables_access_point.service
-     ​dest: /​etc/​systemd/​system/​iptables.service +    dest: /​etc/​systemd/​system/​iptables_access_point.service
-     ​force:​ no+
 - name: Activation du service iptables - name: Activation du service iptables
   systemd:   systemd:
-     ​name: ​iptables+     ​name: ​iptables_access_point
      ​enabled:​ yes      ​enabled:​ yes
      ​masked:​ no      ​masked:​ no
 +</​code>​
 +
 +Dans le dossier /​iptables/​files/​ créez un fichier iptables_access_point.sh et collez-y le contenu suivant
 +
 +<​code>​
 +#!/bin/sh
 +#Variables
 +_trans_port="​9040"​
 +_dns_port="​5353"​
 +_interface_wifi="​wlx503eaa3d7d6c"​
 +_tor_uid=`id -u debian-tor`
 +_router="​10.255.255.254"​ #Adresse du router (adresse de la machine ayant le point d'​accès wifi)
 +_reseau_wifi="​10.0.0.0/​8"​
 +_interface_phy="​eth0"​
 + 
 +#On efface toutes les règles iptables
 +iptables -F
 +iptables -X
 +iptables -t nat -F
 +iptables -t nat -X
 +iptables -t mangle -F
 +iptables -t mangle -X
 + 
 +#On met les policy
 +iptables -P INPUT DROP
 +iptables -P FORWARD DROP
 +iptables -P OUTPUT DROP
 +ip6tables -P INPUT DROP
 +ip6tables -P FORWARD DROP
 +ip6tables -P OUTPUT DROP
 +#On redirige le traffic TCP vers Tor
 +iptables -t nat -A PREROUTING -i $_interface_wifi -p tcp --syn -j REDIRECT --to-ports $_trans_port
 +#On redirige les requêtes DNS vers Tor
 +iptables -t nat -A PREROUTING -i $_interface_wifi -p udp --dport 53 -j REDIRECT --to-ports $_dns_port
 + 
 +#On log le trafic entrant
 +iptables -A INPUT -i $_interface_wifi -m state --state NEW -j LOG --log-prefix "New input connection: "
 +#On autorise les requêtes DHCP à entrer
 +iptables -A INPUT -i $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT
 +#On autorise les connexions déja établies
 +iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
 +#On autorise la boucle locale
 +iptables -A INPUT -d $_router -i $_interface_wifi -p udp -m udp --dport $_dns_port -j ACCEPT
 +#On autorise les requêtes vers le routeur pour le traffic TCP
 +iptables -A INPUT -d $_router -i $_interface_wifi -p tcp -m tcp --dport $_trans_port --tcp-flags FIN,​SYN,​RST,​ACK SYN -j ACCEPT
 +#On autorise le trafic vers eth0
 +iptables -A INPUT -i $_interface_phy -j ACCEPT
 +ip6tables -A INPUT -i $_interface_phy -j ACCEPT
 +
 +#On drop le paquet si il n'est pas dans l état new, established,​ ou related
 +iptables -A OUTPUT -m state --state INVALID -j DROP
 +#On autorise ls connexions déja établies
 +iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
 +#On autorise les requêtes DHCP à sortir
 +iptables -A OUTPUT -o $_interface_wifi -p udp --dport 67:68 --sport 67:68 -j ACCEPT
 +#On autorise le traffic issu de la carte
 +iptables -A OUTPUT -o $_interface_phy -j ACCEPT
 +ip6tables -A OUTPUT -o $_interface_phy -j ACCEPT
 +</​code>​
 +
 +Dans le dossier /​iptables/​files/​ créez un fichier iptables_access_point.service et collez-y le contenu suivant
 +
 +<​code>​
 +[Unit]
 +Description=Setup firewall
 +After=network.target local-fs.target
 +
 +[Service]
 +RemainAfterExit=true
 +ExecStart=/​usr/​local/​sbin/​iptables_access_point.sh
 +
 +[Install]
 +WantedBy=multi-user.target
 +
 </​code>​ </​code>​
  
Ligne 238: Ligne 423:
 <​code>​ <​code>​
 --- ---
-- name: Suppression du script ​de logs+- name: Installation du paquet rsyslog-relp 
 +  apt: pkg=rsyslog-relp state=installed update_cache=true 
 +- name: Suppression du fichier ​de configuration /​etc/​rsyslog.conf
   file:   file:
-    path: /usr/local/​sbin/​logs_analyzer.sh+    path: /etc/rsyslog.conf
     state: absent     state: absent
-- name: Création du script ​de logs+- name: Création du fichier ​de configuration /​etc/​rsyslog.conf
   copy:   copy:
-     ​content: "#!/bin/sh\n_date=`date +%Y-%m-%d`\nmkdir -p /​root/​logs_wifi\necho \"​\nRécupération des logs...\"​\ncat /​var/​log/​syslog | grep -e hostapd -e DST| grep -v CRON > /​tmp/​$_date.log\ncd /tmp\necho \"​Compression...\"​\ngzip $_date.log -f\necho \"​Copie...\"​\ncp $_date.log.gz /​root/​logs_wifi/​\nrm $_date.log.gz+    src: "{{ role_path }}/files/rsyslog.conf
-     ​dest: /usr/local/​sbin/​logs_analyzer.sh +    dest: /etc/rsyslog.conf
-     ​force:​ no +
-     ​group:​ sys +
-     ​owner:​ root +
-     mode: 0777 +
-- cron: +
-    name: "​ap_logs"​ +
-    state: absent +
-- cron: +
-    name: "​ap_logs"​ +
-    minute: "​0"​ +
-    hour: "​1"​ +
-    job: "/​bin/​sh /​usr/​local/​sbin/​logs_analyzer.sh"​+
 </​code>​ </​code>​
 +
 +Dans le dossier /​logs/​files/​ créez un fichier rsyslog.conf et collez-y le contenu suivant
 +
 +<​code>​
 +module(load="​imuxsock"​) # provides support for local system logging
 +module(load="​imklog"​) ​  # provides kernel logging support
 +
 +# Use traditional timestamp format.
 +$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
 +
 +# Set the default permissions for all log files.
 +$FileOwner root
 +$FileGroup adm
 +$FileCreateMode 0640
 +$DirCreateMode 0755
 +$Umask 0022
 +
 +# Where to place spool and state files
 +$WorkDirectory /​var/​spool/​rsyslog
 +
 +#On charge le module relp (output)
 +module(load="​omrelp"​)
 +#On log avec le protocole relp vers une adresse et un port précis
 +action(type="​omrelp"​ target="​192.168.16.11"​ port="​20514"​ tls="​on"​)
 +</​code>​
 +
  
 === ntp === === ntp ===
Ligne 278: Ligne 479:
 - name: Création du fichier sources.list - name: Création du fichier sources.list
   copy:   copy:
-    ​content: "deb http://deb.debian.org/​debian stretch main contrib non-free\ndeb-src http://​deb.debian.org/​debian stretch main contrib non-free\n\ndeb http://​deb.debian.org/​debian stretch-updates main contrib non-free\ndeb-src http://​deb.debian.org/​debian stretch-updates main contrib non-free\n\ndeb http://​security.debian.org/​debian-security/​ stretch/​updates main contrib non-free\ndeb-src http://​security.debian.org/​debian-security/​ stretch/​updates main contrib non-free"+    ​src: "{{ role_path }}/files/sources.list"
     dest: /​etc/​apt/​sources.list     dest: /​etc/​apt/​sources.list
-    force: no 
 - name: Installation du paquet aptitude - name: Installation du paquet aptitude
   apt: pkg=aptitude state=installed update_cache=true   apt: pkg=aptitude state=installed update_cache=true
Ligne 289: Ligne 489:
 </​code>​ </​code>​
  
 +Dans le dossier /​update_upgrade/​files/​ créez un fichier sources.list et collez-y le contenu suivant
 +
 +<​code>​
 +deb http://​deb.debian.org/​debian stretch main contrib non-free
 +deb-src http://​deb.debian.org/​debian stretch main contrib non-free
 + 
 +deb http://​deb.debian.org/​debian stretch-updates main contrib non-free
 +deb-src http://​deb.debian.org/​debian stretch-updates main contrib non-free
 + 
 +deb http://​security.debian.org/​debian-security/​ stretch/​updates main contrib non-free
 +deb-src http://​security.debian.org/​debian-security/​ stretch/​updates main contrib non-free
 +</​code>​
  
 Puis comme précédemment,​ on exécute le fichier ansible Puis comme précédemment,​ on exécute le fichier ansible
   ansible-playbook access_point.yml   ansible-playbook access_point.yml
anthony_messe/ansible/roles.1527232821.txt.gz · Dernière modification: 2018/05/25 09:20 par Anthony Messé