GNU/Linux >> Tutoriels Linux >  >> FreeBSD

Freebsd - Insertion d'une solution Nat dans un réseau alors que ce n'est pas la passerelle ?

J'ai essayé cela de différentes manières. Actuellement en train d'essayer avec pf sur freebsd 8.2

J'essaie d'insérer une solution nat dans un réseau existant qui redirigera le trafic d'une adresse IP externe vers une adresse IP interne sur tous les ports (nat statique) mais je souhaite également traduire l'adresse source.

Réseau actuel.

hosta
192.168.1.2/24 

gw
192.168.1.1/24

outsidehost
10.0.0.1/24 

natbox
em0 192.168.1.3/24 (used to manage the box)
em1 10.0.0.2/24 (outside address same lan as outsidehost)
em0_alias0 192.168.1.4/24 (inside address same lan as hosta)
route 192.168.1.0/24 192.168.1.1
route 0.0.0.0 0.0.0.0 10.0.0.1

Je veux que outsidehost puisse se connecter à 192.168.1.3 par telneting(sp) à 10.0.0.2

Pour que cela fonctionne, je suppose que je devrai changer la source du paquet lorsqu'il quitte em0 ou il se perdra sur le chemin du retour vers em1.

Le flux se déroule donc comme suit :

  • depuis l'hôte externe telnet 10.0.0.2
  • changer l'adresse source en 192.168.1.4
  • rediriger le trafic de 10.0.0.2 vers 192.168.1.2
  • le paquet part avec src 192.168.1.4 va à 192.168.1.2 puis est renvoyé à 192.168.1.4 se traduit par ce que l'add source était dans ce cas 10.0.0.1

Je continue de penser que cela peut être fait avec

binat et rdr mais je n'arrive pas à comprendre la syntaxe.

Comment puis-je faire cela ?

Réponse acceptée :

J'ai fini par utiliser iptables sous Linux pour accomplir cela.

Pour cela, le transfert IP doit être activé :

echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf

Et définissez les règles suivantes :

iptables -F -t nat
# flush the NAT Table.
iptables -t nat -P INPUT DROP
# set the input chain on the NAT table to DROP by default. 
# This way any traffic not allowed by defining a source address gets dropped.
# If you don't provide a -s address below it will allow all hosts from anywhere
# to reach the inside address via the outside ip. 

iptables -t nat -A PREROUTING -s 10.0.0.1 -d 10.0.0.2 \
         -j DNAT --destination-address 192.168.1.3 
# define the source and destination of the traffic allowed through.
# Change the dest address to our inside host. 

iptable -t nat -A INPUT -s 192.168.0.0/24 -J ALLOW
# Drop all traffic on sourcing from inside subnet. 
# This won't apply to traffic that matches the rule above
# as the source address will change in the next rule. 

iptables -t nat -A POSTROUTING -d 192.168.1.3 \
         -j SNAT --source-address 192.168.1.4
# here is the insert magic. Change the source address of any traffic destined
# for our inside host to our vip or owned inside address.
# This way the traffic is routed back to us at the FW. 

FreeBSD
  1. Ubuntu - Les en-têtes du noyau en cours d'exécution n'ont pas été trouvés. - Solution

  2. Comment installer FreeBSD 13.0 avec une adresse IP réseau statique

  3. Insérer un fichier dans un autre fichier après la 1ère occurrence d'un motif ?

  4. Le sans fil ne fonctionne pas dans le système ?

  5. L'icône du gestionnaire de réseau sur 16.04 ne s'affiche pas ?

Centos – Wireguard n'achemine pas le trafic du client vers d'autres serveurs du réseau ?

Zentyal comme passerelle :la configuration parfaite

La boucle while dans les scripts shell

Guide pratique :Administration du réseau FreeBSD

l'émulateur android ne démarre pas, avd

Comment copier une arborescence de répertoires mais pas les fichiers sous Linux ?