BIND peut-il modifier une réponse en fonction de la request d'adresse IP?

Bonjour Server fault ,

Je travaille pour un hôpital qui a mis en place son réseau en utilisant 192.168.0.0/23 (avant mon arrivée). Nous souhaitons que les ordinateurs portables et les clients mobiles se connectent à partir d'locations distants à l'aide de VPN, mais le réseau de l'hôpital est très difficile avec la plupart des routeurs à domicile. J'ai fait pression sur la direction pour nous donner le time de la changer, mais étant un hôpital avec des servers / équipements / etc partout, cela a été impossible à organiser. Nous avons donc «réglé» le problème en utilisant un 1: 1 nat de 10.22.0.0/23.

Le problème: les clients peuvent se connecter et accéder aux ressources à l'aide des IP 10.22.0.0/23 sans problèmes, mais s'ils interroge le server DNS, ils reçoivent 192.168.0.0/23 réponses. Existe-t-il un moyen correct dans BIND de traduire ces informations sur les adresses 10.22.0.0/23 si la requête provient du sous-réseau VPN? L'accent est sur correct, car je le fais travailler via les vues BIND en utilisant ce qui suit dans cron:

sed -e 's/192.168.0./10.22.0./' -e 's/192.168.1./10.22.1./' /var/lib/bind/db.company.local > /var/lib/bind/db.company.local.ext && /usr/sbin/rndc reload company.local in extView 

Cela fonctionne très bien, mais il est retardé de 15 à 20 minutes en raison du journal BIND prenant environ 15 minutes pour écrire dans le file db.company.local.

J'ai lu un peu sur RPZ, mais l'information semble irrégulière. Est-ce que quelqu'un peut-il me montrer la bonne direction? Sinon, pouvez-vous rendre ma solution plus élégante?

EDIT: J'aimerais simplement préciser que j'utilise déjà les vues BIND, mais je le fais avec deux zones. Je génère ma deuxième zone hors de la première, en l'envoyant à Sed pour changer les adresses IP, et en effectuant un rechargement RndC sur cette zone dans cette vue. Cela a un grand timeout, existe-t-il un moyen d'utiliser le même file de zone dans les deux vues et de modifier la réponse DNS au moment de la requête?

Merci!

2 Solutions collect form web for “BIND peut-il modifier une réponse en fonction de la request d'adresse IP?”

Cela devrait être un problème de process. Normalement, les administrateurs appendaient de nouveaux loggings dans les files de zone des deux vues. Forcez-les à utiliser des scripts si leur memory est mauvaise. Discipline-les s'ils refusent d'utiliser les scripts. Mais si c'est un foyer et que vous avez besoin que cela fonctionne, je pense que vous pourriez le faire avec des politiques de réponse basées sur les vues.

Disons que vous avez des loggings qui ressemblent à ceci:

 $ORIGIN db.company.local.net. test1 IN A 10.22.0.1 test2 IN A 10.22.1.255 

Dans les options de vue pour votre vue 192space, définissez la politique de réponse suivante:

 options { response-policy { zone "192remap.rpz"; }; } zone "192remap.rpz" { type master; file "192remap.rpz.zone"; }; 

La politique de réponse sera utilisée pour réécrire toutes les adresses IP de 10 zones vers l'espace 192. C'est comme tout autre file de zone, mais les loggings NS n'ont pas de sens et les loggings ont des significations particulières. Étant donné que l'écriture de chaque adresse IP remappée à la main serait une corvée, nous utiliserons les blocs $GENERATE pour remplir le file de zone pour vous.

 @ IN SOA localhost. root.localhost. ( 2 ; serial 3H ; refresh 1H ; retry 1W ; expiry 1H) ; minimum IN NS localhost. ; 32.$.0.22.10.rpz-ip. -> 10.22.0.$/32 $GENERATE 0 255 32.$.0.22.10.rpz-ip. A 192.168.0.$ $GENERATE 0 255 32.$.1.22.10.rpz-ip. A 192.168.1.$ 

Cela ne reférera pas seulement l'une de ces IP 10.22.0.0/23 trouvées dans la section ANSWER d'une réponse DNS, mais aussi capturez les IP sournoises qui apparaissent dans les sections AUTORITÉ ou ADDITIONNELLES pour quelque raison que ce soit. Une request pour test1.db.company.local.net. (10.22.0.1) devrait avoir sa réponse réécrit à 192.168.0.1, et seulement pour les clients qui frappent votre vue de 192space.

J'espère que ceci aide, et faites-nous savoir si cela fonctionne. Vous pouvez find plus d'informations sur RPZ et les liens vers la documentation dans une autre réponse que j'ai écrite il y a quelques mois.

Oui, vous pouvez le faire avec des vues de binding:

http://www.zytrax.com/books/dns/ch7/view.html

En principe, vous définissez chaque vue en tant que sous-réseau, puis chaque vue maintient son propre file de zone. en fonction de l'ip / sous-réseau source de la requête dns, vous obtiendrez une "vue" différente.

Ceci est courant pour les servers de noms à utiliser dans des vues "internes" / "externes", de sorte que les noms de dns se résolvent publiquement sur une vue externe, mais résolvent "interne" à l'ip privé de l'hôte sur la langue interne, lorsqu'on l'interroge de l'interne LAN privée (s).

  • Configuration du server PPTP VPN, impossible d'accéder aux hôtes distants
  • Comment ne pas envoyer tout le trafic sur la connection SBS?
  • Configurer un tunnel GRE avec Cisco PIX-506 v6.3
  • "Toutes les propositions d'IKE SA ont été jugées inacceptables!", Mais ce qui a été proposé?
  • Pare-feu Windows bloquant les partages réseau par le biais du server VPN
  • VSFTP ne fonctionne pas sur VPN
  • Vyatta VPN IPsec tunnel au hasard abandonne
  • Question connexe Vpn
  • VPN et sous-réseaux qui se chevauchent
  • Windows 2008 Standard 64bit ne possèdent que les options VPN et Dial Up dans l'Assistant de configuration du routing et du server d'access distant
  • VPN avec VMware Player
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.