Je veux que les connexions entrant sur ppp0 sur le port 8001 soient routées vers 192.168.1.200 sur eth0 sur le port 8080.
J'ai ces deux règles
-A PREROUTING -p tcp -m tcp --dport 8001 -j DNAT --to-destination 192.168.1.200:8080
-A FORWARD -m state -p tcp -d 192.168.1.200 --dport 8080 --state NEW,ESTABLISHED,RELATED -j ACCEPT
et ça ne marche pas. Qu'est-ce que je rate?
Réponses:
Tout d'abord, vous devez vérifier si le transfert est autorisé:
Si les deux reviennent
1
c'est ok. Si ce n'est pas le cas:Deuxième chose -
DNAT
pourrait être appliqué sur lanat
table seulement. Donc, votre règle devrait être étendue en ajoutant également la spécification de table (-t nat
):Les deux règles s'appliquent uniquement au trafic TCP (si vous souhaitez également modifier UDP, vous devez fournir des règles similaires mais avec des
-p udp
options définies).Dernier point, mais non le moindre, la configuration du routage. Type:
et vérifiez si
192.168.1.0/24
est parmi les entrées de routage retournées.la source
sysctl
syntaxe commesysctl net.ipv4.conf.eth0.forwarding=1
-A
par-D
Je pense que ce que tu veux c'est:
la source
Vous oubliez l'adresse source post-routage SNAT 'ing:
Et n'oubliez pas de définir votre pare-feu linux comme passerelle par défaut sur un ordinateur avec une adresse 192.168.1.200.
la source
POSTROUNTING
marche. À ce stade, la conversation porte toujours sur--destination
plutôt que sur--source
.J'ai créé le script bash suivant pour le faire sur mon routeur linux. Il déduit automatiquement l'IP WAN et confirme vos sélections avant de continuer.
L'utilisation du script est simple, il suffit de copier et de le coller dans un fichier, puis.
Pour supprimer la même règle
J'ai pensé que cela pourrait faire gagner du temps à quelqu'un sur son routeur respectif.
la source
J'avais pour tâche de faire croire à MACHINE_A que le service s'exécute physiquement sur MACHINE_B, mais que toutes les demandes soient redirigées de manière transparente vers MACHINE_C.
L'astuce consistait à utiliser MASQUERADE.
Veuillez noter que vous voudrez peut-être modifier les commandes:
Pour autoriser la transmission de paquets sur une interface spécifique uniquement. Par exemple:
Pour autoriser non seulement MACHINE_A, mais également tous les autres utilisateurs, à utiliser la redirection de port, supprimez:
la source
Essayer
Ces fichiers indiquent au noyau qu'il est autorisé à transférer des paquets entre les interfaces.
la source
Cette commande ne fonctionne pas pour moi:
J'ai 2 interfaces LAN et le travail FORWARD quand j'écris:
PREROUTING et FORWARD sont également nécessaires, bien sûr :)
la source