pf (Mac OS X) pour redirect tout le trafic vers un ip / port spécifique

J'essaie de recréer cette configuration iptables (à partir de https://github.com/darkk/redsocks ) avec pf:

iptables -t nat -A REDSOCKS -p tcp -d 10.0.0.0/8 -j REDIRECT --to-ports 12345 iptables -t nat -A OUTPUT -p tcp -j REDSOCKS 

Je veux redirect toutes les connections allant au 10.0.0.0/8 (peu importe le port) vers le port local 12345. Dans linux, cela fonctionne bien avec les règles spécifiées ci-dessus. Maintenant, j'essaie de le recréer sur Mac OS X. Actuellement, j'ai essayé des travaux par ex.

 rdr inet proto tcp from any to 10.0.0.0/8 port 0:65535 -> 127.0.0.1 port 12345 

J'ai défini sysctl net.inet.ip.forwarding = 1

Je ne suis pas certain si même la règle rdr équivaut à la redirection IP iptables. Redsocks nécessite la connection pour conserver l'adresse IP / port pour un renvoi correct via le proxy. Je suppose donc que la destination dans les packages ne devrait pas être changée / réécrite à 127.0.0.1:12345.

One Solution collect form web for “pf (Mac OS X) pour redirect tout le trafic vers un ip / port spécifique”

Donc, je suis probablement mal compris, mais je pense que vous risquez de confondre les cibles iptables de TPROXY et REDIRECT, mais je ne pense pas que cela soit important. En ignorant cela, vous pourrez toujours réaliser votre objective.

Votre frustration avec la règle rdr pf est uniquement valable pour les packages entrants. Selon une publication de FreeBSD-pf de 2005 , vous pourrez éventuellement contourner cette limitation avec une règle de route. Je n'ai jamais utilisé PF, mais si je comprends la syntaxe et le courrier électronique lié, la règle suivante avec votre règle rdr peut-elle être correcte?

 rdr inet proto tcp from any to 10.0.0.0/8 -> 127.0.0.1 port 12345 pass out route-to (lo0 127.0.0.1) from any to 10.0.0.0/8 

Je me rends count que je ne suis guère qualifié d'expert pour commenter ici; mais j'espère que mes commentaires peuvent vous aider à find une solution.


En ce qui concerne votre commentaire à la fin de votre question où vous avez écrit:

Je ne suis pas certain si même la règle rdr équivaut à la redirection IP iptables. Redsocks nécessite la connection pour conserver l'adresse IP / port pour un renvoi correct via le proxy. Je suppose donc que la destination dans les packages ne devrait pas être changée / réécrite à 127.0.0.1:12345.

Selon les extensions iptables (8), la cible REDIRECT:

"Il redirige le package vers la machine elle-même en changeant l'IP de destination vers l'adresse principale de l'interface entrante …"

et, TPROXY conserve l'adresse de destination d'origine:

"Il redirige le package vers un socket local sans changer l'en-tête du package d'aucune façon".

Je ne sais pas si pf prend en charge l'opération TPROXY spécifique au linux.

  • Comment get des redirections de ports pour deux servers fonctionnant sur le même server?
  • Possibilité de redirection de HTTPS vers HTTP derrière load-balancer?
  • htaccess redirection HTTP & HTTPS non-www vers HTTPS www
  • Redirection du domaine nu HTTPS sur www, sans un certificate correspondant sur l'hôte virtuel du domaine nu
  • mod_rewrite envoie une boucle de redirection en essayant de redirect en fonction de l'agent user
  • nginx: contrôle du journal d'access tout en maintenant la redirection interne vers WordPress
  • Comment Jetty doit-il redirect http vers https sur le même port?
  • IIS7 page alias
  • Rediriger une URL vers une autre sur le même tour du site?
  • Ngnix Rewrite - Si l'URL contient
  • IPTABLES Redirection d'un port vers un autre IP
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.