Bonjour à tous,
Je reviens vers vous car je coince sur un problème, qui je pense, à déjà du être traité.
Mais malgré mes recherches et tests,cela ne fonctionne pas.
Voilà l’ architecture:
—ppp0—|-sshd-|
|Debian|-----Lan-------
—ppp1—|------|
2 liens ADSL chez Orange: oui je n’ai pas choisi, donc 2 ip fixes.
Une sur ppp0 et l’autre sur ppp1.
Derrière ce routeur Debian, on trouve un lan en 192.168.x.x qui est naté
Voilà le résultat de la commande ip route show:
default
nexthop via 217.128.xxx.xxx dev ppp0 weight 1
nexthop via 217.128.yyy.yyy dev ppp1 weight 1
…
192.168.200.0/24 dev eth1 proto kernel scope link src 192.168.200.10
193.253.160.A dev ppp0 proto kernel scope link src 217.128.xxx.xxx
193.253.160.A dev ppp1 proto kernel scope link src 217.128.yyy.yyy
Donc, je fais une sorte de partage de charge entre ppp0 et ppp1 grâce a un poids équivalent entre ppp0 et ppp1
je veux me connecter en ssh sur mon routeur de l’Internet.
Le problème est que la connexion arrive bien sur ppp0 mais le retour est dispaché entre ppp0 et ppp1 : problème!!!.
La solution est le routage sélectif avec ip route2 et iptables mais je coince.
Voilà ma démarche:
1)Marquer les paquet grâce à la table mangle :
iptables -t mangle -I OUTPUT -o ppp0 -p tcp --sport 22 -j MARK --set-mark 22
Le résultat:
Chain OUTPUT (policy ACCEPT 10493 packets, 675K bytes)
pkts bytes target prot opt in out source destination
552 79772 MARK tcp – any ppp0 anywhere anywhere tcp spt:ssh MARK set 0x16
Les paquets sont donc bien marqués.
2) Créer une entrée dans le fichier /etc/iproute2/rt_tables
reserved values
200 ssh
255 local
254 main
253 default
0 unspec
local
#1 inr.ruhep
-
rajouter la règle de routage:
ip rule list
0: from all lookup local
32765: from all fwmark 0x16 lookup ssh
32766: from all lookup main
32767: from all lookup default -
la table de routage sélective :
ip route show table ssh
default via 217.128.214.63 dev ppp0
Lorsque je connecte de l’extérieur, je vois repartir des paquets sur ppp1???
tcpdump -i ppp1 -n -t tcp port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp1, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
IP 217.128.xxx.xxx.22 > 37.161.bbb.ccc.35291: Flags [S.], seq 2127963651, ack 592174929, win 14160, options [mss 1416,nop,nop,sackOK,nop,wscale 6], length 0
Est-ce bien sur la chaîne OUTPUT que je dois marquer les paquets car c’est peut être trop tard.
J’ai essayé d’autre marquages mais dans ce cas ils ne sont pas modifiés.
Merci de votre aide.