web-dev-qa-db-fra.com

Demandes de transfert IP / PORT vers un autre serveur

J'ai le PORT d'écoute suivant: IP configuré sur mon serveur UBuntu.

12.345.67.890:3636

Il reçoit parfaitement les demandes, cependant, je voudrais maintenant transmettre toutes les demandes à cet IP: PORT vers un autre IP: PORT, c.-à-d.:

09.876.54.321:3636

En gros, je veux faire une requête en avant 12.345.67.890:3636 -> 09.876.54.321:3636.

Comment puis-je m'y prendre dans Terminal et si je voulais le modifier, comment puis-je y remédier également? Existe-t-il également un moyen de vérifier que les données sont transférées et correctement configurées?

Merci!

Edit: Puis-je simplement procéder comme suit en me demandant comment je pourrais le tester et comment le désactiver?

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 3636 -j DNAT --to-destination 09.876.54.321:3636
iptables -t nat -A POSTROUTING -j MASQUERADE
6
DT.DTDG

Les commandes de votre question sont suffisantes pour activer le routage et le transfert 12.345.67.890:3636 à 9.876.54.321:3636.


Utilisez la cible LOG d'iptables pour surveiller ce qui se passe:

iptables -I FORWARD -j LOG

Vous devriez voir quelque chose comme ceci dans/var/log/syslog:

Aug 19 08:43:23 hostname kernel: [190951.964227] IN=eth0 OUT=eth0 SRC=11.22.33.44 DST=09.876.54.321 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=51600 DF PROTO=TCP SPT=41960 DPT=3636 WINDOW=246 RES=0x00 ACK URGP=0
  • SRC: adresse IP source
  • DST: adresse IP de destination
  • SPT: port source
  • DPT: port de destination

Règles Flush iptables pour tout nettoyer:

iptables -F
3
Eric Carvalho

Désactiver le transfert de port

En ce qui concerne la suppression de la fonctionnalité de routage de port , aucune réponse n’a été donnée qui puisse désactiver la transmission (vérifiée de manière expérimentale sous Ubuntu 18.04.2).

Crédits: La question posée par @ DT.DTDG est précisée avec précision, merci. Cette question ainsi que la réponse de @ Eric m'ont aidé à résoudre quelque chose, merci! Et je suis allé plus loin dans la recherche sur ce sujet, donc je veux partager les connaissances avec la communauté.

Purger les règles

Afin de nettoyer les règles de routage, vous devez les supprimer de la table de routage NAT (table de traduction des adresses réseau). Vous y parvenez:

iptables -F -t nat

Sinon: si vous manquez le paramètre "-t nat", les règles mentionnées dans la question continueront de fonctionner (par exemple dans Ubuntu 18.04.2).

Désactiver le transfert

De plus, le paramètre de noyau nécessite une commande séparée. Si vous voulez tout nettoyer, vous devez également:

sysctl net.ipv4.ip_forward=0

Il est généralement fortement conseillé de ne pas l'activer pour le transfert de paquets entre interfaces sur des systèmes autres que des routeurs , pour des raisons de sécurité.

Appendice

  1. Toutes les actions ont généralement besoin de privilèges escaladés, exécutez-les précédées de Sudo ou en tant que "root".

  2. Ad-acta. Commandes qui configurent le routage:

CUR_PORT = port actuel de la machine
DES_IP = adresse IP de la machine de destination
DES_PORT = port de la machine de destination

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport CUR_PORT -j DNAT --to-destination DES_IP:DES_PORT
iptables -t nat -A POSTROUTING -j MASQUERADE
0
Patryk Mazurkiewicz