4 votes

Deux passerelles sur le même réseau

Ma machine fonctionne sous Ubuntu Server 16.04 et possède deux cartes réseau, eth0 et eth1, comme le montre le diagramme du réseau. Son rôle était initialement d'acheminer le trafic du sous-réseau 192.168.50.0/24 vers le sous-réseau 192.168.1.0/24 où se trouve le routeur DSL qui se connecte à l'internet. Ma configuration réseau est donc la suivante

Sortie de (eth0) cat /etc/network/interfaces.d/eth0

#auto eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Sortie de (eth1) cat /etc/network/interfaces.d/eth1

#auto eth0
#iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.50.7
netmask 255.255.255.0

J'ai ajouté un autre routeur cellulaire qui se connecte également à l'internet et qui est connecté au sous-réseau 192.168.50.0/24. J'ai besoin de faire passer une partie du trafic internet par ce routeur cellulaire, mais pas la totalité (par exemple les connexions ssh). Comment faire ?

Network diagram

4voto

2707974 Points 9957

Nous prendrons ici ssh comme service de routage. Utiliser mangle d'iptable pour modifier la table ssh paquets.

sudo iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 0x1

Nous marquons tous les paquets avec le port de destination 22 como 0x1 .

Sauvegardez et redémarrez iptables .

sudo service iptables save
sudo service iptables restart

Ensuite, créez une nouvelle table de routage IP dans /etc/iproute2/rt_tables en donnant simplement une entrée

100 sshtable

Règle d'écriture pour ssh paquets.

ip rule add fwmark 0x1 lookup sshtable

Ajouter un itinéraire à la nouvelle table sshtable . Tous les autres trafics passeront par la passeront par la passerelle par défaut, que l'on peut voir par ip route show commande.

Nous copions toutes les entrées à l'exception de l'entrée de la passerelle par défaut de la table principale.

sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table sshtable $ROUTE; done

Ajouter une entrée de passerelle par défaut pour ssh paquets vers le tableau sshtable

sudo ip route add default gw 192.168.50.254 table sshtable

Utilisation ip route show table sshtable pour afficher tous les itinéraires à sshtable .

Essayez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X