Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Nota :
Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
L’objectif de ce tutoriel est de combler un vide qui est le suivant :
Les tutoriels pour
sont souvent là, mais isolés, pour un débutant c'est difficile de savoir par quoi commencer.
l'idée de ce tuto c'est d'avoir quelque chose de fonctionnel pour démarrer et donc de savoir par quoi commencer.
Les conseils [conseil] sous cette clause sont facultatifs mais peuvent faire gagner du temps.
Note, ce tutoriel est en cours de rédaction donc ne pas s'en servir pour le moment.
J'ai tenu à ce que ce soit fait avec debian , plutôt que d'autres distributions, les raisons sont multiples, mais en voici quelques-unes. Une distribution que je connais bien et donc les outils. Un deuxième pc qui peut dépanner. Apprendre, et pouvoir contrôler son réseau chez soi. etc etc.
Le schéma est le suivant:
[la box du FAI] ↔ [la box maison] ↔ vos machines on ne s'ocuppe pas de l'ipv6, j'ai malheureusement un FAI qui ne fournit pas ce type de prestation :( la configuration ipv6 n'est pas abordée, je vous recommande de fermer ipv6 si comme moi rien ne peux passer, l'ipv6 est en principe une norme qui devrait être acceptée.
iptables en premier pourquoi ? Parce que c'est aussi la sécurité, ensuite parce que cela peut loguer,
les lignes suivantes sont à adapter, car le nom de l'interface peut changer. la cible MASQUERADE indique de faire du nat, ce qui sera utilisé dans ce tutoriel, il est possible de faire autrement avec un pont/bridge
Requis :
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE iptables -A FORWARD -i enp1s0 -o wlanwifi -j ACCEPT iptables -A FORWARD -i wlanwifi -o enp1s0 -j ACCEPT
Facultatif :
Limit=30 Burst=10 iptables -t nat -A POSTROUTING -m limit --limit $Limit/h --limit-burst $Burst -j NFLOG --nflog-group 0 --nflog-prefix NAT_POSTROUTING iptables -t nat -A PREROUTING -m limit --limit $Limit/h --limit-burst $Burst -j NFLOG --nflog-group 0 --nflog-prefix NAT_PREROUTING iptables -t nat -A INPUT -m limit --limit $Limit/h --limit-burst $Burst -j NFLOG --nflog-group 0 --nflog-prefix NAT_INPUT iptables -t nat -A OUTPUT -m limit --limit $Limit/h --limit-burst $Burst -j NFLOG --nflog-group 0 --nflog-prefix "NAT_OUTPUT
Note : Il faut savoir que ces règles disparaissent au reboot. Comme il y beaucoup de tutoriels sur iptables. je vais plutôt vous donner les liens sur la documentation (ça chargerait trop le tutoriel). Sur Debian-Facilehttps://debian-facile.org/doc:reseau:iptables-pare-feu-pour-une-passerelle Lien externe plus complet: https://www.inetdoc.net/guides/iptables-tutorial/
isc-dhcp-server. Important.!
Ne démarre pas si le fichier /etc/network/interfaces n'est pas en relation parfaite, j'explique:
Il faut que l'interface soit opérationnelle/active et donc bien paramétrée , sinon isc-dhcp-server ne démarrera pas . si ce dernier ne démarre pas unbound en fera de même.
Si vous utilisez un client windows pour tester, je vous recommande de le redémarrer, Windows à du mal avec le réseau à se mettre à jour correctement avec une reconnexion >–> reconnexion, de même pour la box, certains paramètres peuvent changer, /etc/resolv.conf est un classique. Parfois c'est certaines interfaces qui ne s'activent pas.
L'ordre de démarrage peut jouer un rôle, je vous conseille de faire votre propre service ou de modifier la configuration de Debian pour que cela démarre comme cité plus haut.
Petite parenthèse pour les débutants et aussi facultative :
Je conseille d'utiliser les alias pour éditer les fichiers cela va grandement vous faciliter la tâche, comme cela se passe sous root. Soiyez vigilants à ne pas faire n'importe quoi sous Debian. Si vous voulez que cela soit pour tous les utilisateurs ça ce passe dans ce fichier :
/etc/bash.bashrc
Editeur="nano" alias ndhcp=$Editeur' /etc/dhcp/dhcpd.conf' alias ndhcps=$Editeur' /etc/default/isc-dhcp-server' alias ndhcp=$Editeur' /etc/dhcp/dhcpd.conf'
Ce fichier est en root mais vous pouvez aussi placer cela au niveau utilisateur. Cela va vous éviter de taper chaque fois le chemin et en plus de devoir savoir où il se trouve: un oubli ? : alias vous le montrera.
Ces fichiers sont sous root Donc penser à faire une sauvegarde avant toute chose ! éditer le fichier /etc/default/isc-dhcp-server
#ipv4 INTERFACESv4="enp2s0 enp3s0 enp4s0 wlx64f06d883452" #ipv6 si vide pas d'interface donc pas d'ipv6 INTERFACESv6=""
Vous remarquez qu'il manque l'interface enp1s0, car c'est celle qui a un câble relié à la box du FAI , donc en dhcp ou en static, regardez dans la doc de votre box du fournisseur pour y mettre une ip fixe c'est quand même plus pratique.
éditer le fichier : /etc/dhcp/dhcpd.conf
authoritative; option domain-name "domroxlan.dom"; default-lease-time 600; max-lease-time 7200; ddns-update-style none; log-facility local7; option subnet-mask 255.255.255.0; subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.20 192.168.2.29; option routers 192.168.2.21; option broadcast-address 192.168.2.255; option domain-name-servers 192.168.2.21; } subnet 192.168.3.0 netmask 255.255.255.0 { range 192.168.3.20 192.168.3.29; option routers 192.168.3.21; option broadcast-address 192.168.3.255; option domain-name-servers 192.168.3.21; } subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.20 192.168.4.29; option routers 192.168.4.21; option broadcast-address 192.168.4.255; option domain-name-servers 192.168.4.21; } subnet 192.168.50.0 netmask 255.255.255.0 { range 192.168.50.50 192.168.50.60; option routers 192.168.50.51; option broadcast-address 192.168.50.255; option domain-name-servers 192.168.50.51; }
Ici soyez précis dans la syntaxe car si vous trompez d'un chiffre cela ne vous donne la moindre info.
IMPORTANT: une fois que tout fonctionne changer ces valeurs pour des raison de sécurité évidentes, Pour les raisons qui m'ont poussé à faire cette documentation c'est le manque de wiki à fournir une ip complète… en gros une configuration qui fonctionne .
sujet : Le fichier /etc/network/interfaces
Conseil:
J'ai rencontré un bug à un moment donné en changeant la configuration de ce fichier. Je recommande donc d’arrêter le service AVANT de le modifier! Profitez de faire de même, et donc ce qui l'utilise.
Pas la peine de dire que la connection est coupée si vous faites cela :)
source /etc/network/interfaces.d/* auto lo iface lo inet loopback #============== wifi ============= allow-hotplug wlx234f0432556912 iface wlx234f0432556912inet static address 192.168.50.51 netmask 255.255.255.0 network 192.168.50.0 wireless-power off #============= rj45 ============== allow-hotplug enp1s0 iface enp1s0 inet static address 192.168.0.11/24 gateway 192.168.0.1 # dns-* options are implemented by the resolvconf package, if installed #dpkg -l |grep resolvconf = null #dns-nameservers 192.168.0.1 # dns-search domroxlan.dom allow-hotplug enp2s0 iface enp2s0 inet static address 192.168.2.21 netmask 255.255.255.0 network 192.168.2.0 allow-hotplug enp3s0 iface enp3s0 inet static address 192.168.3.21 netmask 255.255.255.0 network 192.168.3.0 allow-hotplug enp4s0 iface enp4s0 inet static address 192.168.4.21 netmask 255.255.255.0 network 192.168.4.0
A ce stade les connexions filaires ne marcheront pas car unbound n'est pas présent donc il faut faire la suite si vous voulez que cela marche ainsi utilisez le dns de la box à ce moment là :)
Je remercie Mikl et raleur dans cette démarche qui sans leur aide j'aurais bien plus galéré
Soiyer particulièrement prudent car ce service est sensible aux vulnérabilité.
Note. Je ne suis pas parvenu a trouver une traduction en français des paramètres, les valeurs sont à adapter selon vos besoins. j'ai donc juste indiquer les valeurs que j'utilise.
nano /etc/unbound/unbound.conf
cat /etc/unbound/unbound.conf # Unbound configuration file for Debian. # # See the unbound.conf(5) man page. # # See /usr/share/doc/unbound/examples/unbound.conf for a commented # reference config file. # # The following line includes additional configuration files from the # /etc/unbound/unbound.conf.d directory. include: "/etc/unbound/unbound.conf.d/*.conf" #server: port: 53 #port d'écoute do-ip4: yes # do-ip6: yes # do-udp: yes #protocole autorisé do-tcp: yes #indique de communiquer sur le protocole TCP #interface: 0.0.0.0 access-control: 192.168.50.0/24 allow interface: 192.168.50.51 #requi wifi interface: 192.168.4.21 #requi rj45 interface: 192.168.3.21 #requi rj45 interface: 192.168.2.21 #requi rj45 interface: 127.0.0.1 #? access-control: 127.0.0.1 allow #? access-control: 192.168.0.0/24 allow #requis rj45 access-control: 192.168.2.0/24 allow #requis rj45 access-control: 192.168.3.0/24 allow #requis rj45 access-control: 192.168.4.0/24 allow #requis rj45 access-control: 192.168.50.0/24 allow #requis wifi (pas en service) private-address: 192.168.0.0/24 #renforce le coter priver et protège de la technique des "Relais DNS" unwanted-reply-threshold: 10000000 #eviter l'empoisonnement DNS aggressive-nsec: yes harden-algo-downgrade: no #l algorithme le plus faible est exclut no hide-identity: yes # hide-version: yes harden-glue: yes #ssl-upstream: yes # oblige à communiquer sur le protocole TLS. :yes:erreur :debug: tcp error for address 8.8.8.8 port 53 #ssl-port: 853 prefetch: yes # garde en cache les bons résultats prefetch-key: yes # cache-min-ttl: 100000 #durée minimal cache-max-ttl: 200000 #durée max key-cache-size: 50m infra-cache-numhosts: 1000000 #nombre de host qui peuve etre mis en cache do-ip6: no #desactive les requetes ipv6 tcp-idle-timeout: 15000 #delai avant de signialer un timout sur la connextion harden-below-nxdomain: yes harden-dnssec-stripped: yes #DNSSEC pour les zones de confiance val-clean-additional: no #toutes les données DNS non sécurisées son effacee do-not-query-localhost: yes #permet d'interoger localhost so-reuseport: yes #linux seulment ameliore les performance udp #serve-expired: <yes or no> # tester num-threads: 4 key-cache-slabs: 8 infra-cache-slabs: 8 msg-cache-slabs: 8 rrset-cache-slabs: 8 key-cache-size: 100m key-cache-slabs: 2m harden-short-bufsize: yes #contre les très petites tailles de mémoire tampon EDNS. harden-large-queries: yes #contre les requêtes volumineuses num-queries-per-thread: 100 val-log-level: 2 #log verbosity: 5 #plage de 1 a 5 , 5 permet le plus parlant log-time-ascii: yes #valable sur un autre fichier que syslog log-queries: yes #affiche une ligne par requete log-replies: yes #affiche une ligne par requete,(réponse) log-local-actions: yes #affiche les info de la zone local log-servfail: yes #afficher pourquoi les requêtes renvoient SERVFAIL Ref doc logfile: /var/log/unbound.log #chemin d'accès #private-domain: "domroxlan.dom" #domaine local forward-zone: name: "." #forward-addr: 192.168.0.1@53 forward-addr: 1.1.1.1@53 forward-addr: 1.0.0.1@53 forward-addr: 65.2.17.60@53 forward-addr: 65.2.17.61@53 forward-addr: 66.2.24.158@53 forward-addr: 67.2.24.162@53 forward-addr: 8.8.8.8@53
il peux être nécessaire de changer le fichier
/etc/resolv.conf
de façons a ce qu'il contienne :
nameserver 127.0.0.1
Rappelle: Ce fichier a la fâcheuse tendance a ce modifier. Vous pouvez donc le verrouiller avec la commande chattr, Attention c'est pas anodin car le système ne peux plus mettre a jour le fichier. Par exemple, si vous supprimer le paquet unbound l'ip ne pourra plus ce mettre à jours. (c'est un exemple parmi les nombreuse autres mauvaise surprise qui en découle.)
Attention l'utilisation peux empêcher le système d'écrire du coup le répertoire /etc est utiliser a la place. vous aurez alors quelque chose de semblable
ls /etc |grep resolv.conf.dhclient -rw-r--r-- 1 root root 47 mai 25 03:31 resolv.conf.dhclient-new.12784 -rw-r--r-- 1 root root 47 mai 25 12:06 resolv.conf.dhclient-new.13099 -rw-r--r-- 1 root root 47 mai 25 20:57 resolv.conf.dhclient-new.13271
Pour tester utiliser la commande: dig
Si vous êtes sur un O.S propriétaire il peux s'avérer utile d'y effacer le cache dns sur un client windows on utilisera:
ipconfig /flushdns
A partir la cela devrai suffire pour une connexion filaire,
l'installation est assez simple.
<code root> aptitude install hostapd <\code>
fichier de configuration: /etc/hostapd/hostapd.conf
<code root> interface=wlx
#interface=wlan0 driver=nl80211 # Nom du spot Wi-Fi ssid=Rox country_code=Ch #hw_mode=g channel=7 macaddr_acl=0 #wifi fermer = 1 ouver 0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=15carracteconseillier:D wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP wpa_group_rekey=86400 ieee80211n=1 # Beacon interval in kus (1.024 ms) beacon_int=100 # mode Wi-Fi (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g) hw_mode=g wme_enabled=1 # DTIM (delivery trafic information message) dtim_period=2 # Maximum number of stations allowed in station table max_num_sta=10 # Fragmentation threshold; 2346 = disabled (default) fragm_threshold=2346 <\code>
j'ai pas trouver de documentation en français mai, il faut chercher a savoir 2 chose Si la carte/clé wifi est bien reconnu par le kernel.
Le nom qui est retenu ou plutôt attribuer a cette carte ici : wlx
Note avec iptables je vous conseil de filtrer les adresse mac, c' est pas infaillible mai sa va laisser des trace dans les log et prime de complique de compliquer la la tache du pirate. Dans le cas ou la clef serai craquée.
Pour ceux qui rencontre des difficulté. il peux s’avérer nécessaire d'avoir un kernel rescent et les driver qui vont avec votre système particulièrement si vous êtes en debian/stable.
Si quelqu'un veux me proposer une configuration ipv6 cela serai sympa car je ne peux malheureusement pas faire cela a cause de cette m… de box du fai:(
vous devriez a ce stade avoir une machine qui ser donc “pc/box” transportable n'importe ou, avec votre distribution ,un serveur dns,un point d'accès wifi.
Je remercie à tout ceux qui m'on apporter l'aide grâce aux forum.