10 Apr 2021, 00:00

Tester le débit entre 2 machines sous Linux

Source

Sur les 2 machines :
apt install iperf

Sur le serveur :
iperf -s

Sur le client :
iperf -c SERVER_IP

Par défaut, cela transmet du client vers le serveur (upload) pendant 10s. Ce temps peut se controler avec le paramètre -t num_sec.

29 Oct 2020, 00:00

Failover entre 2 box avec PfSense

Interfaces

Les interfaces sont des configurations réseau que l’on peut associer aux ports physiques du routeur, dans Interfaces -> Assignments.

Dans Interfaces -> iface_name, on peut configurer l’interface en question : lui donner un nom explicite, son adresse IP, et la passerelle qui lui est accessible.

Passerelles

Les passerelles sont à configurer individuellement, dans System -> Routing -> Gateway. La petite terre indique l’interface actuellement par défaut (peut changer en fonction de l’état des liens). Un double-clic sur une passerelle permet de la configurer.

On donne l’interface par laquelle cette passerelle est accessible (par exemple WAN), on donne un nom (que l’on choisit) à cette passerelle, on entre l’IP sur laquelle elle est accessible (par rexemple 192.168.1.1), et une adresse IP de monitoring (qui sera pinguée régulièrement, pour s’assurer que cette connexion est toujours vivante ; par exemple 8.8.8.8).

⚠ l’IP de monitoring ne sera jamais accessible depuis une autre interface du routeur PfSense. Faire attention de ne pas bloquer les serveurs DNS d’une interface.

⚠ Pour une connexion qui doit être utilisée même si elle est instable (par exemple une connexion basse qualité de secours, préférable à une absence de connexion), je conseille de cocher Disable Gateway Monitoring, afin qu’elle soit toujours considérée vivante.

En cliquant sur Display Advanced, on peut définir les seuils à partir desquels la connexion est considérée comme perdue.

DNS

Si le routeur est défini comme serveur DNS pour les clients, il faut configurer sa résolution DNS. Pour ça, on va dans System -> General Setup. Dans le cas de multi-WAN, il est nécessaire d’avoir au moins 1 serveur DNS par passerelle.

Par souci de simplicité, je choisis le serveur DNS de cette passerelle comme adresse de monitoring pour cette passerelle. Ainsi, si c’est le serveur DNS qui tombe (empêchant la navigation internet), la connexion sera considérée comme défectueuse, et le routeur basculera sur une autre connexion.

Dual WAN en failover

Dans System -> Routing -> Gateway Groups, on ajoute un groupe de passerelle. Il faut lui donner un nom (par exemple “Gateways_Failover”).

Dans Gateway Priority, on donne une priorité à chaque passerelle existante. Si “Never”, elle ne sera pas utilisée dans ce groupe de passerelles. Toutes les passerelles d’un même Tier seront utilisées en même temps, en commençant par le Tier 1. Si les conditions de ligne défectueuse (perte de paquet, forte latence ou lien coupé) se présentent, le routeur basculera sur la/les passerelles du Tier 2, etc. (C’est aussi en mettant plusieurs passerelles dans le même Tier que l’on peut faire de l’équilibrage de charge, dont on peut affiner la forme en modifiant le poids de chaque passerelle.)
Pour Virtual IP, on laisse généralement “Interface adress”. Il peut être utile de faire différemment si on a un cluster de routeurs PfSense redondants, pour simuler une même interface entre tous les routeurs.
Le Trigger Level permet de choisir l’évenement qui déclenche un basculement vers le Tier suivant (perte de paquets, haute latence, lien coupé). Le détail des seuils peut être reglé pour chaque passerelle individuellement (voir ci-dessus).

Dans System -> Routing, une fois le groupe de passerelle créé, on peut le définir comme passerelle par défaut, pour IPv4 et/ou IPv6.
NOTE : il semble que ce ne fut pas possible pendant longtemps. Dans le cas où ce choix ne serait pas disponible, il faut aller dans Firewall -> Rules, aller dans l’onglet LAN (car le choix de passerelle s’applique aux paquets qui se présentent sur l’interface LAN, dans le but de sortir sur une autre interface), éditer chaque règle pertinente (par défaut uniquement une règle pour IPv4 et une règle pour IPv6 qui autorise tout le trafic vers les autres interfaces), cliquer Display Advanced et définir la Gateway sur le groupe précedemment créé. C’est aussi la solution à choisir pour un filtrage plus granulaire.

Diagnostic

Pour voir l’état actuel des passerelles, on peut aller dans Status -> Gateways. Ceci donne l’état de chaque passerelle, individuellement.
On peut aller dans l’onglet Gateway groups pour voir l’état du groupe de passerelle.

20 Jun 2020, 00:00

Nmap

Ping scan : nmap -sn 10.0.0.1-255

Nmap est plus efficace lorsqu’il est lancé avec les droits root, car il peut aller directement consulter la table ARP, alors que sans les droits root, il tente la connection sur un/des ports courants.

https://security.stackexchange.com/questions/74493/different-results-using-nmap-with-without-sudo

Parfois, même ainsi, tous les appareils en ligne ne sont pas listés (genre 10 resultats maximum). Il semble que passer l’option -v pour augmenter la verbosité aide à les visualiser tous.

Pour n’avoir que les IP affichées, on peut poser ça après notre commande nmap : | grep report | awk '{print $5}'

21 Dec 2019, 00:00

Compiler et installer inadyn sous Debian Buster

J’ai besoin du logiciel inadyn pour mettre à jours mes enregistrements dyndns chez OVH.
La version de Inadyn packagée par Debian est trop ancienne, et non compatible avec OVH, contrairement aux versions plus récentes dispos sur github.

Compilation et installation

## Prérequis
sudo aptitude install wget libssl-dev libgnutls28-dev autoconf libconfuse2 libconfuse-dev checkinstall pkg-config

## Répertoires nécessaires pour checkinstall
sudo mkdir /usr/local/share/doc
sudo mkdir /usr/local/share/man
sudo mkdir /usr/local/share/doc/inadyn


## libite
wget -c https://github.com/troglobit/libite/releases/download/v2.1.0/libite-2.1.0.tar.xz
tar -xvf libite-2.1.0.tar.xz
cd libite-2.1.0/
./configure
make -j5
sudo checkinstall ## Valider avec entrée plusieurs fois ; modifier les valeurs si souhaité
sudo dpkg -i libite_2.1.0-1_amd64.deb
sudo ldconfig	


## inadyn
cd ..
wget -c https://github.com/troglobit/inadyn/releases/download/v2.5/inadyn-2.5.tar.xz
tar -xvf inadyn-2.5.tar.xz
cd inadyn-2.5/
./configure
make
checkinstall
sudo dpkg -i inadyn_2.5-1_amd64.deb

Fichier de conf

/etc/inadyn.conf

provider default@ovh.com {
    ssl         = true
    username    = monsite-admin
    password    = superpassword
    hostname    = {domaine.monsite.fr}
    checkip-command = /root/.local/bin/scripts/checkIP.sh
}

provider default@ovh.com:2 {
    ssl         = true
    username    = monsite-admin
    password    = superpassword
    hostname    = {autredomaine.monsite.fr}
    checkip-command = /root/.local/bin/scripts/checkIP.sh
}

Pour que les utilisateurs du serveur ne puissent lire les identifiants :

sudo chmod 600 /etc/inadyn.conf

On peut ajouter autant de hostname qu’on veut, en changeant le chiffre après default@ovh.com:.
Les username/password doivent être définis sur l’interface OVH.

Script de reconnaissance d’IP (checkIP.sh)

#!/bin/sh
curl ipecho.net/plain; echo

Chemin à mettre en concordance avec inadyn.conf.
Ne pas oublier de sudo chmod +x checkIP.sh.

Crontab

Je préfère lancer le programme ponctuellement et régulièrement via cron que de le laisser tourner en demon.
Voici mon entrée dans le crontab pour ce faire :

# Lance inadyn toutes les 5 minutes
*/5 * * * * /usr/local/sbin/inadyn -1 -f /etc/inadyn.conf > /dev/null 2>&1

06 Dec 2019, 00:00

Serveur OpenVPN ponté sous Debian Buster

Mentionné sans aucun password, en rajouter si désiré.
Prévu pour permettre un lien avec le réseau local distant, mais sans redirection de l’ensemble du trafic via VPN.

Préparation générale

apt install bridge-utils openvpn

Création de la PKI et des certificats/clés

cd /etc/openvpn
make-cadir easy-rsa/
cd easy-rsa
nano vars

Trouver les lignes qui définissent les noms de notre organisation et les modifier comme souhaité ;
Passer la taille de clés à 4096b ;
Changer le temps d’expiration par défaut du CA et des certificats en nombre de jours(ici, 10 ans)

set_var EASYRSA_REQ_COUNTRY    "FR"
set_var EASYRSA_REQ_PROVINCE   "IDF"
set_var EASYRSA_REQ_CITY       "Paris"
set_var EASYRSA_REQ_ORG        "Ma badass orga"
set_var EASYRSA_REQ_EMAIL      "me@example.net"
set_var EASYRSA_REQ_OU         "Mon OU qui déchire"

set_var EASYRSA_KEY_SIZE        4096

set_var EASYRSA_CA_EXPIRE       3650

set_var EASYRSA_CERT_EXPIRE     3650

# Le CRL a aussi une date d'expiration, on la passe à 10 ans
set_var EASYRSA_CRL_DAYS        3650

Puis on lance toute la procédure

# Initier la PKI ;
# Supprime la PKI si déjà existante
./easyrsa init-pki

# Créer les params Diffie-Hellman
./easyrsa gen-dh

# Créer les fichier de l'autorité de certif
./easyrsa build-ca nopass  # nopass pour absence de mot de passe
# Génération et signature de la CSR (signing request) du server, avec définition du Common Name
./easyrsa gen-req mon-server-vpn nopass
./easyrsa sign-req server mon-server-vpn # le "server" indique le type
# Vérification si souhaitée
openssl verify -CAfile pki/ca.crt pki/issued/mon-server-vpn.crt

# Génération et signature d'un kit de connexion pour un client
./easyrsa gen-req mon-pc-client nopass
./easyrsa sign-req client mon-pc-client

Les certificats sont dans issued, les clés dans private.

Génération TLS
Ce fichier devra être présent sur chacun des clients

openvpn --genkey --secret ta.key
mv ta.key /etc/openvpn/easy-rsa/pki/

Réseau

Activer forward IPv4

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.d/10-network.conf

Fichier /etc/network/interfaces qui crée le bridge et l’adaptateur TAP au démarrage ;
vérifier la cohérence des noms d’interface

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
    pre-up openvpn --mktun --dev tap0
    post-down openvpn --rmmtun --dev tap0
    bridge_hw 00:11:22:aa:bb:cc
    bridge_ports eth0 tap0
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

Les interfaces impliquées dans le bridge (eth0, tap0) n’ont pas besoin d’être configurées dans ce fichier.
La directive bridge_hw permet de spécifier l’adresse MAC du bridge (qui sera constatée depuis le réseau, le routeur etc). Par souci de simplicité, je conseille de la fixer à la même valeur que la carte réseau physique (eth0 par exemple). Sinon, il me semble qu’elle prendra la première valeur “alphabétique” entre les différentes cartes réseau impliquées, et l’adresse de la carte tap0 peut varier d’un démarrage à l’autre.

Définition du fichier de conf du server

On peut récupérer le fichier d’exemple ainsi :

cd /etc/openvpn/server
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz ./
gunzip ./server.conf.gz
mv server.conf mon-server-vpn.conf

En voici une version minimaliste, à mettre dans /etc/openvpn/server/ :

port 1194
proto udp
dev tap0 # doit être en accord avec le fichier interfaces
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/mon-serveur-vpn.crt
key /etc/openvpn/easy-rsa/pki/private/mon-server-vpn.key  # This file should be kept secret
dh /etc/openvpn/easy-rsa/pki/dh.pem
server-bridge
keepalive 10 120
cipher AES-256-CBC
compress lz4-v2
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1

# Pour TLS
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0  #" 0 pour le server, 1 pour les clients
#auth SHA256  ## ???

On peut vérifier qu’il se lance bien via

openvpn /etc/openvpn/server/mon-server-vpn.conf

Si “Initialization Completed”, c’est gagné.

Rotation des logs

Dans la section précédente, on a défini /var/log/openvpn/openvpn.log comme chemin pour les journaux de connexion.
On peut le logrotater avec le fichier /etc/logrotate.d/openvpn qui contiendra ceci :

/var/log/openvpn/openvpn.log {
    missingok
    weekly
    compress
    rotate 8
}

Source

Activation du service (donc démarrage automatique) via systemd

systemctl enable openvpn-server@mon-server-vpn.service

Le nom entre @ et .service doit correspondre au nom du fichier de configuration.

Ajout du timestamp dans les logs

nano /etc/systemd/system/multi-user.target.wants/openvpn-server@mon-server-vpn.service
et supprimer --suppress-timestamps de la ligne ExecStart=

(même remarque que ci-dessus concernant le nom du fichier)

Client

Installer le client VPN souhaité selon la plateforme.
Le fichier de conf doit être en conformité avec le serveur.
Sous Windows, avec OpenVPN GUI, si on met les chemins complets, syntaxe de type :

"C:\\Users\\myuser\\OpenVPN\\ca.crt"

Si les fichiers sont dans le même dossier que la conf, on peut mettre simplement les noms de fichier.
Un fichier de conf client compatible avec le fichier de conf serveur ci-dessus :

client

# Adapter les noms de fichier
ca ca.crt
cert mon-pc-client.crt
key mon-pc-client.key

# Adapter l'IP/domaine et le port
remote example.com 1194

dev tap
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
compress lz4-v2
verb 3
tls-auth ta.key 1

Pour lancement auto via systemd :

systemctl enable openvpn-client@mon-pc-client.service

Révocation de certificat

cd /etc/openvpn/easy-rsa/
./easyrsa revoke mon-pc-client
./easyrsa gen-crl   ## Crée/update pki/crl.pem

## Ajouter le fichier dans la conf server
echo "crl-verify /etc/openvpn/easy-rsa/pki/crl.pem" >> /etc/openvpn/server/mon-server-vpn.conf

Puis restart le server ; la clé de mon-pc-client ne sera désormais plus acceptée.
Il faut relancer la commande ./easy-rsa gen-crl à chaque fois qu’un certificat est révoqué, pour mettre à jour le fichier crl.pem.

Attention : le CRL a aussi une durée d’expiration ! Elle peut être paramétrée dans le fichier vars. Pour la visualiser :
openssl crl -in pki/crl.pem -text | grep "Next Update"

Réactivation d’un certificat révoqué

Je n’ai pas trouvé de commande intégrée pour ce faire. Voici comment le faire à la main, bien que ça semble un peu hacky.

D’abord on trouve le serial correspondant au client à réactiver (ici, “monClientRevoque”) :
cd /etc/openvpn/easy-rsa && cat pki/index.txt | grep monClientRevoque qui donne un résultat de ce genre :
R 300956789123Z 200356789123Z 40FDF33486D24371D96668D056CBF883 unknown /CN=monClientRevoque

Il faut éditer ce fichier pour remplacer le R initial par un V, et supprimer le 3e champ (ici 200356789123Z) ; on a donc une ligne de ce genre :
V 300956789123Z 40FDF33486D24371D96668D056CBF883 unknown /CN=monClientRevoque
ATTENTION, il faut que le nombre de tabulations aligne correctement la ligne avec les autres lignes valides, sinon on aura des erreurs plus tard.

Puis on regénère le CRL avec la commande suivante :
./easy-rsa gen-crl

Le client devrait à nouveau avoir le droit de se connecter. Si on besoin de récupérer les fichiers du kit de connexion, ils sont disponibles dans ./pki/revoked/certs_by_serial, ./pki/revoked/private_by_serial et ./pki/revoked/reqs_by_serial et nommés en fonction du numéro de série (ici 40FDF33486D24371D96668D056CBF883).

Il est conseillé de replacer ces 3 fichiers à leurs emplacements initiaux (pki/issued/, pki/private/ et pki/reqs/), et avec le nom initial (monClientRevoque), pour éviter des erreurs si l’on souhaite révoquer à nouveau ce client.
Il y’aura toutefois un message d’impossibilité de supprimer le fichier dans pki/certs_by_serial/, mais ce message n’est pas bloquant.

Lister les clients connectés

cat /var/log/openvpn/openvpn-status.log | sed '/CLIENT_LIST/!d' | cut -d"," -f2 | sed '/CLIENT_LIST/d' | sort -d

05 Mar 2019, 00:00

SPF et DMARC

Les enregistrements DNS de type SPF et DMARC servent à essayer d’assurer la bonne provenance d’un mail en identifiant l’IP du serveur qui a envoyé le message (SPF), et en définissant des attitudes à adopter dans le cas d’un échec (DMARC).
Il est aussi possible de signer cryptographiquement des messages (DKIM), mais ceci n’est pas couvert ici.

SPF

Un enregistrement spf est de type TXT, s’applique au (sous-)domaine dont on veut essayer de légitimer les mails. Il peut ressembler à ceci, pour example.com :

v=spf1 mx ip4:1.2.3.4 include:spf.fournisseurmailing.fr -all
  • v= déclare la version
  • mx déclare que tous les serveurs MX de example.com ont le droit d’envoyer des mails en tant que someone@example.com
  • ip4: déclare une adresse (ou une plage grâce à un masque) qui a le droit d’envoyer des mails
  • include: donne une (sous-)domaine sur lequel aller chercher un enregistrement spf qui déclarerait encore d’autres entrées.

Danc cet exemple, via l’entrée include, tous les serveurs que mon fournisseur de mailing-list a lui-même autorisé via le paramétrage spf de son domaine on le droit d’envoyer des mails en notre nom. On peut vérifier le contenu de ce spf via la commande dig TXT spf.fournisseurmailing.fr.

Le -all sert à définir strictement ces serveurs autorisés, voir cette page.

Dans un cas où il y’aurait besoin d’entrer beaucoup d’adresses ip différentes, cela peut ne pas rentrer dans un seul champ DNS. Il est alors possible de se créer un sous-domaine (par exemple spf.example.com), qui sera inclus dans le spf principal.
Par exemple, pour example.com :

v=spf1 mx ip4:1.2.3.4 ip4:5.6.7.8 ip4:9.10.11.12 include:spf.example.com -all

et pour spf.example.com

v=spf1 ip4:188.12.0.0/16 -all

pour autoriser les adresses IP 1.2.3.4 , 5.6.7.8 , 9.10.11.12 ainsi que toutes les adresses de type 188.12.X.X à envoyer des mails au nom de example.com

Attention, il ne faut toutefois pas déclencher plus 10 requêtes DNS pour évaluer le SPF (y compris les requêtes DNS provoquées par des entrées au sein d’un include).

DMARC

DMARC est apparu après, et a pour objectif de dire aux serveurs qui reçoivent des mails d’une adresse nous appartenant comment recouper les tests SPF et/où DKIM, et quelle action appliquer dans le cas d’un échec.

Ceci se fait également sous la forme d’une entrée DNS, qui doit être appliquée au domaine _dmarc.example.com, et est aussi une entrée TXT.

Elle peut ressembler à ceci :

v=DMARC1; p=quarantine; pct=100; sp=quarantine; aspf=s; adkim=r;
  • v= déclare la version
  • p= déclare la politique à appliquer en cas d’échec, pour une adresse du domaine. Peut être none, quarantine ou reject
  • pct= déclare le pourcentage de mails auxquels on doit appliquer ce filtrage (permet de l’appliquer au fur et à mesure)
  • sp= déclare la politique à appliquer en cas d’échec pour une adresse d’un sous-domaine
  • aspf= déclare l’alignement concernant SPF. Peut être r (relaxed) ou s (strict)
  • adkim= déclare l’alignement concernant DKIM.

Par défaut, le DMARC est passé lorsque soit DKIM soit SPF passe avec succès. Si l’un de ces 2 alignements est défini sur strict, alors il devra être passé avec succès pour que DMARC soit validé.

On peut aussi voir dans des mails une en-tête de type Authentication-Results qui contient les résultats d’un analyse ARC. Elle peut notamment contenir les chaînes dmarc=pass spf=pass dkim=none par exemple. Cette chaîne ARC peut être mise en place lors du transfert d’un mail (par ex liste de diffusion)

17 Feb 2019, 00:00

Forcer Firefox à accepter un coller d'une adresse mail même si le site l'interdit

Certains sites interdisent à un utilisateur de coller une adresse mail dans le champ prévu à cet effet.
N’étant plus un enfant, je souhaite pouvoir le faire malgré tout. Pour ceci :
about:config puis chercher la valeur dom.event.clipboardevents.enabled et la passer à “false”.

Source : https://www.pcastuces.com/pratique/astuces/4713.htm

23 Nov 2018, 00:00

Centre réseau qui n'est plus connecté

J’ai eu récemment un poste dont le Centre réseau et partage m’indiquait systématiquement comme non connecté, alors que le DHCP faisait son office correctement, et que la connexion fonctionnait. Il y avait systématiquement une croix rouge au lieu du symbole de connexion, et il était impossible de gérer les réseaux wifi. Après de longues recherches sur le net, c’est la commande suivante, en administrateur, qui a résolu le souci :

net localgroup Administrateurs localservice /add

11 May 2018, 00:00

Installer une interface réseau virtuelle sous Debian et utilisation par Virtualbox

Création de l’interface virtuelle

[EDIT] J’ai finalement opté pour un pont br0 qui associe dummy0 et une carte réseau physique eth1. Dans ces conditions, aucune des 2 cartes n’a d’adresse IP directement, seul br0 en possède une, et dummy0 peut rester en NOARP, cela ne genera pas la circulation des paquets.
br0 est toujours en up (contrairement à eth1 qui ne l’est pas si pas de cable branché, ce qui empeche de bridger une VM VBox dessus sans cable) et l’ARP est activé par défaut (contrairement à dummy0, ce qui empêche de bridger la VM VBox sur dummy0 sans scripter l’activation de l’ARP…)

La suite reste ici à titre informatif [/EDIT]

On ajoute ensuite une entrée dans le /etc/network/interfaces

auto dummy0
iface dummy0 inet static
    address 192.168.2.1
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.255

pour une adresse statique. On redémarre le service :

sudo service networking restart

et on vérifie que la carte est bien détectée avec sudo ifconfig dummy0, qui doit donner quelque chose comme ça :

dummy0: flags=195<UP,BROADCAST,RUNNING,NOARP>  mtu 1500
        inet 192.168.2.1  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::440f:8eff:fe69:4e35  prefixlen 64  scopeid 0x20<link>
        ether 46:0f:8e:69:4e:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 107  overruns 0  frame 0
        TX packets 606  bytes 43672 (42.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

On voit qu’elle porte le flag NOARP, alors que l’arp est nécessaire pour pouvoir communiquer en ethernet. On tape donc

sudo ip l set dummy0 up arp on

On peut aussi, si on le souhaite, activer le flag multicast

sudo ip l set dummy0 up multicast on

La route vers le nouveau réseau est normalement configurée automatiquement.

Lien avec VirtualBox

Mon LAN principal est en 192.168.1.x.
Je souhaite mettre en place un réseau distinct derrière cette carte, qui aie sa propre plage IP (192.168.2.x) et serveur DHCP, pour faire des tests de serveur. Je souhaite toutefois que les VM dans ce réseau puissent avoir accès à mon LAN principal (et vice-versa), et à Internet.

Config dans VBox

Il suffit de paramétrer la carte réseau de la VM en accès ponté avec la carte dummy0.
Plusieurs VM peuvent être bridgées à cette interface, elles pourront toutes communiquer ensemble (comme autour d’un switch) ainsi qu’avec Internet via l’hôte.

Forward ipv4 et routage

Voir ce post.

Il faut activer le masquerading (NAT) sur les paquets sortant par l’interface eth0 (à adapter avec le nom de l’interface réseau principale, connectée à internet. Ainsi, les périphériques ne connaissant pas le réseau VBox auront l’impression que les requêtes viennent directement de l’hôte, connu.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Cela suffit à donner au système invité un accès complet à routes les ressources LAN/Internet.

Sous Debian, les règles iptables sont défaut perdues au reboot. Le paquet iptables-persistent peut s’occuper de les sauvegarder et restaurer au démarrage.

Cependant, je souhaitais aussi que les machines de mon LAN principal puissent accéder à toutes les machines virtuelles de mon réseau VBox. Pour ceci, il faut utiliser une route qui va vers le réseau 192.168.2.0/24 et qui a pour passerelle l’ip de la machine hôte sur le réseau principal, par exemple en 192.168.1.x. Ainsi, n’importe quel machine du LAN physique pourra accéder à n’importe quelle machine du LAN virtuel.

Cette route doit être paramétrée en statique dans le routeur, et peut éventuellement être distribuée directement aux clients par DHCP. Tous les routeurs ne permettent hélas pas ces 2 possibilités.

06 Dec 2016, 00:00

Trouver des fichers en direct download grâce à google

Il suffit de faire une recherche google de ce type :

"nom a chercher" -inurl:(htm|html|php) intitle:"index of" +"last modified" +"parent directory"

Si on trouve une adresse intéressante, il suffit ensuite de lancer

wget -c -r --no-parent http://adresse-interessante.com/folder/

pour récupérer l’ensemble des fichiers (avec un peu de tri à faire)