web-dev-qa-db-fra.com

Serveur Ubuntu 16.04 à 2 passerelles en même temps

Je ne trouve pas de guide de travail pour faire fonctionner le scénario suivant:

Besoin de configurer un serveur pour pouvoir travailler avec 2 routeurs en même temps. C'est une machine virtuelle.

Réseau 1 192.168.1.0/24 Routeur 1 avec ip 192.168.1.1

Réseau 2 192.168.2.0/24 Routeur 2 avec ip 192.168.2.1

J'ai 2 adaptateurs de réseau local "ens160" primaire et "ens192" secondaire. Si je n'active qu'un seul adaptateur, je peux accéder à partir de clients VPN vers un serveur, en effectuant un ping ou SSH. Si je mets 2 adaptateurs sur je ne peux pas accéder à partir de clients VPN de "ens192" l'adaptateur par défaut.

Je cherche le serveur fonctionne avec le réseau 1 et 2, pas besoin de faire le réseau 1 peut voir le réseau 2 et vice versa. Je veux que mon serveur assiste aux pétitions du routeur 1 répondant au routeur 1 et aux pétitions du routeur 2 répondant au routeur 2

Je passe en revue quelques guides qui parlent d’ajouter des itinéraires, mais personne ne fonctionne et tous sont destinés à des versions plus anciennes d’Ubuntu. Peut-être que je perds quelques détails, mais je ne le trouve pas.

Quelqu'un peut indiquer un guide pour Ubuntu 16.04 travaillant avec 2 passerelles en même temps.

Modifier pour ajouter plus d'informations à Alvaro:

Merci pour votre aide.

oscar@LinuxTest:~$ route -n
Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 ens192

192.168.1.0     192.168.1.1     255.255.255.0   UG    0      0        0 ens160

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 ens160

192.168.2.0     192.168.2.1     255.255.255.0   UG    0      0        0 ens192

192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 ens192

C'est seulement avec les requêtes du routeur 2 de 192.168.2.1 que je travaille, si je supprime la passerelle par défaut, personne ne fonctionne.

La théorie est que si la requête vient de 192.168.1.1, répondez à 192.168.1.1 par ens160. Si la requête vient de 192.168.2.1, répondez à 192.168.2.1 par Ens192

1
Oscar Soriano

Mon erreur était de penser que je devais reconfigurer les 2 adaptateurs pour fonctionner, alors que tout ce dont j'avais besoin était d'indiquer au nouvel adaptateur d'utiliser sa propre passerelle (à partir du réseau configuré).

Merci à Alvaro pour ses réponses et son aide.

Les liens m'aident à résoudre était:

Deux passerelles par défaut sur un système

Introduction rapide au routage de politique Linux

SOLUTION: Créez une nouvelle table de routage pour le deuxième adaptateur "ens192" et ajoutez une ligne avec le nom de la nouvelle table de routage "2 rt2".

oscar@LinuxTest:~$ Sudo nano /etc/iproute2/rt_tables

GNU nano 2.5.3                                   File: /etc/iproute2/rt_tables

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
2 rt2

Ajoutez les lignes de post-up au "/ etc/network/interfaces"

oscar@LinuxTest:~$ Sudo nano /etc/network/interfaces

GNU nano 2.5.3                                   File: /etc/network/interfaces

# 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
# Normal configuration for static ip
auto ens160
iface ens160 inet static
    address 192.168.1.243
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 8.8.8.8
    dns-search testLinux

#Only address and mask for the new adapter
auto ens192
iface ens192 inet static
    address 192.168.2.244  
    netmask 255.255.255.0

#Every time the adapters goes Up the next lines are executed.
#these 2 lines fill the new table with 2 routes for the "ens192" adapter     and establish the default gateway for that adapter.
post-up ip route add 192.168.2.0/24 dev ens192 table rt2
post-up ip route add default via 192.168.2.1 dev ens192 table rt2

#these 2 lines add a rule from/to new network to use the new table.
post-up ip rule add from 192.168.2.0/24 table rt2
post-up ip rule add to 192.168.2.0/24 table rt2

oscar @ LinuxTest: ~ $ Sudo reboot

si vous perdez l'adaptateur par défaut ens160 cesser de fonctionner, recréez-lui l'itinéraire par défaut.

route add default dev ens160 gw 192.168.1.1
0
Oscar Soriano

C’est très simple, il suffit d’ajouter des itinéraires comme suit ... Dans ce cas, je considérerai ens160 comme itinéraire par défaut:

#!/bin/bash

route del default dev ens192
route add default dev ens160 gw 192.168.1.1
route add -net VPN_NETWORK_1/VPN_NETWORK_MASK_1 dev ens192 gw 192.168.0.1
route add -net VPN_NETWORK_2/VPN_NETWORK_MASK_2 dev ens192 gw 192.168.0.1
route add -net VPN_NETWORK_3/VPN_NETWORK_MASK_3 dev ens192 gw 192.168.0.1
.
.
.
route add -net VPN_NETWORK_X/VPN_NETWORK_MASK_X dev ens192 gw 192.168.0.1

Veuillez vérifier vos itinéraires. Une fois que vous avez tous vérifié, vous pouvez ajouter ce script à /etc/network/if-up.d/routes avec des autorisations d'exécution afin de disposer d'itinéraires permanents (je sais qu'il existe d'autres moyens de le faire, bien que ce soit le seul qui a fonctionné pour. moi pour les itinéraires permanents).

Si cela ne fonctionne pas, envoyez-moi un retour de votre commande route -n.

0
Alvaro Niño