Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
guide:installation_serveur_agregation_connexion_2014 [2014/06/09 20:13] – vivi | guide:installation_serveur_agregation_connexion_2014 [2021/04/18 20:24] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Installation serveurs agrégation connexion 2014 ====== | ||
+ | |||
+ | Mis en place en 2014. | ||
+ | |||
- | **Installation serveurs agrégation connexion 2014** | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | L' | + | L' |
Tout sera connecté au serveur chez moi qui fournira une connexion internet unifiée. Même combat côté internet, mon serveur installé servira de point de sortie unifié vers le net. | Tout sera connecté au serveur chez moi qui fournira une connexion internet unifiée. Même combat côté internet, mon serveur installé servira de point de sortie unifié vers le net. | ||
Ligne 14: | Ligne 17: | ||
* Je parlerai de __**serveur maison**__// | * Je parlerai de __**serveur maison**__// | ||
* Je parlerai de __**serveur dédié**__// | * Je parlerai de __**serveur dédié**__// | ||
+ | |||
+ | |||
====== 1. Installation du serveur dédié ====== | ====== 1. Installation du serveur dédié ====== | ||
+ | |||
+ | |||
===== 1.1. Installation initiale du serveur ===== | ===== 1.1. Installation initiale du serveur ===== | ||
Ligne 28: | Ligne 35: | ||
**TODO SCREENS** | **TODO SCREENS** | ||
+ | |||
+ | |||
===== 1.2. Préparation de la configuration ===== | ===== 1.2. Préparation de la configuration ===== | ||
Ligne 36: | Ligne 45: | ||
* Le système de bridging //(voir // // | * Le système de bridging //(voir // // | ||
* Le module de bonding //(voir // // | * Le module de bonding //(voir // // | ||
+ | |||
+ | |||
==== 1.2.1. Installation d' | ==== 1.2.1. Installation d' | ||
Ligne 44: | Ligne 55: | ||
Nous utiliserons OpenVPN pour monter **2 tunnels VPN** l'un avec notre première connexion internet (la 4G) pour moi et l' | Nous utiliserons OpenVPN pour monter **2 tunnels VPN** l'un avec notre première connexion internet (la 4G) pour moi et l' | ||
+ | |||
+ | |||
==== 1.2.2. Installation du système de bridging ==== | ==== 1.2.2. Installation du système de bridging ==== | ||
Ligne 50: | Ligne 63: | ||
sudo apt-get install bridge-utils | sudo apt-get install bridge-utils | ||
</ | </ | ||
+ | |||
+ | |||
==== 1.2.3. Activation du module de bonding ==== | ==== 1.2.3. Activation du module de bonding ==== | ||
Ligne 71: | Ligne 86: | ||
rtc | rtc | ||
bonding | bonding | ||
+ | dummy | ||
</ | </ | ||
Ligne 78: | Ligne 94: | ||
sudo modprobe bonding | sudo modprobe bonding | ||
</ | </ | ||
+ | |||
+ | |||
==== 1.2.4. Activation de l'ip forwarding ==== | ==== 1.2.4. Activation de l'ip forwarding ==== | ||
Ligne 92: | Ligne 110: | ||
net.ipv4.ip_forward=1 | net.ipv4.ip_forward=1 | ||
</ | </ | ||
+ | |||
+ | ==== 1.2.6. Activation du NAT ==== | ||
+ | |||
+ | C'est le nat qui va permettre le routage final. | ||
+ | |||
+ | Une bonne idée est de s' | ||
+ | |||
+ | Ce qui va donner chez moi ce genre de chose: | ||
+ | |||
+ | <code bash> | ||
+ | nano nat.sh | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # | ||
+ | # Configure here your interfaces | ||
+ | # | ||
+ | EXTIF=" | ||
+ | INTIF=" | ||
+ | |||
+ | # | ||
+ | # Commands path | ||
+ | # | ||
+ | DEPMOD=/ | ||
+ | MODPROBE=/ | ||
+ | |||
+ | # | ||
+ | # General information | ||
+ | # | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | # | ||
+ | # Checking requested linux kernel modules | ||
+ | # | ||
+ | echo " | ||
+ | $DEPMOD -a | ||
+ | echo " | ||
+ | $MODPROBE ip_tables | ||
+ | echo " | ||
+ | $MODPROBE nf_conntrack | ||
+ | echo " | ||
+ | $MODPROBE nf_conntrack_ftp | ||
+ | echo " | ||
+ | $MODPROBE nf_conntrack_irc | ||
+ | echo " | ||
+ | $MODPROBE iptable_nat | ||
+ | echo " | ||
+ | $MODPROBE nf_nat_ftp | ||
+ | |||
+ | # | ||
+ | # Enabling ip forwarding | ||
+ | # | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | |||
+ | # | ||
+ | # Setting iptables rules | ||
+ | # | ||
+ | echo " | ||
+ | iptables-restore << | ||
+ | *nat | ||
+ | -A POSTROUTING -o " | ||
+ | COMMIT | ||
+ | *filter | ||
+ | :INPUT ACCEPT [0:0] | ||
+ | :FORWARD DROP [0:0] | ||
+ | :OUTPUT ACCEPT [0:0] | ||
+ | -A FORWARD -i " | ||
+ | -A FORWARD -i " | ||
+ | -A FORWARD -j LOG | ||
+ | COMMIT | ||
+ | EOF | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | After configuring the 2 variables, save the script below as nat.sh and make it executable by doing | ||
+ | |||
+ | <code bash> | ||
+ | chmod a+x nat.sh | ||
+ | </ | ||
+ | |||
+ | Now, test the script by running as root | ||
+ | |||
+ | <code bash> | ||
+ | sudo sh nat.sh | ||
+ | </ | ||
+ | |||
+ | Investigate the messages from the console output to see if any error happened. If everything looks fine, use another host in the internal network to test if it can access the external network (presumably the Internet). A quick way to test is pinging Google public DNS from the console. | ||
+ | |||
+ | <code bash> | ||
+ | ping -c 3 -W 10 8.8.8.8 | ||
+ | </ | ||
+ | |||
+ | If ping responds, make our new script bootable so we don't have to run the script every time we restart. | ||
+ | |||
+ | <code bash> | ||
+ | sudo mv nat.sh / | ||
+ | </ | ||
+ | |||
+ | See : https:// | ||
+ | |||
+ | <code bash> | ||
+ | sudo systemctl enable rc-local.service | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | sudo nano / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # Executing nat script | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | As a final test, restart your computer and test to see if you still have the same functionality. If so then congratulations! If not then make sure you followed the above correctly so the script is bootable. | ||
+ | |||
+ | |||
+ | Mais pour mémoire le point important est celui-ci: | ||
+ | |||
+ | <code bash> | ||
+ | iptables -A POSTROUTING -t nat -j MASQUERADE | ||
+ | </ | ||
+ | |||
+ | Pour ne pas perdre le NAT, lancer cette commande à chaque boot par exemple en l' | ||
==== 1.2.5. Récupérer des ip / mac online.net ==== | ==== 1.2.5. Récupérer des ip / mac online.net ==== | ||
Ligne 110: | Ligne 257: | ||
Dernier détail important, comme online.net (et probablement n' | Dernier détail important, comme online.net (et probablement n' | ||
+ | |||
+ | |||
===== 1.3. Configurer OpenVPN ===== | ===== 1.3. Configurer OpenVPN ===== | ||
+ | |||
+ | |||
==== 1.3.1. Introduction ==== | ==== 1.3.1. Introduction ==== | ||
Ligne 118: | Ligne 269: | ||
__**Note importante :**__ il est essentiel de comprendre que l' | __**Note importante :**__ il est essentiel de comprendre que l' | ||
+ | |||
+ | |||
==== 1.3.2. Préparation de la configuration ==== | ==== 1.3.2. Préparation de la configuration ==== | ||
Ligne 242: | Ligne 395: | ||
* TO_CHANGE_PORT_1 => TO_CHANGE_PORT_2 | * TO_CHANGE_PORT_1 => TO_CHANGE_PORT_2 | ||
* tap1 => tap2 | * tap1 => tap2 | ||
+ | |||
+ | |||
==== 1.3.4. up-restart down et ipchange sont dans un bateau ==== | ==== 1.3.4. up-restart down et ipchange sont dans un bateau ==== |