View previous topic :: View next topic |
Author |
Message |
BuBuaBu l33t
Joined: 09 Jul 2005 Posts: 914 Location: France
|
Posted: Tue Aug 28, 2007 7:30 pm Post subject: [DHCPD] Attribuer ip en fonction de l'iface (résolu) |
|
|
Voila le truc que j'aimerais faire :
Sur un serveur, j'ai eth0 et eth1
j'aimerais que mes client connecté a eth0 ne puissent pas du tout accéder au client sur eth1, donc je me demande si il est obligatoire d'utiliser des plage ip avec le masque différent pour chaque. Dans ce cas il faut que mon serveur dhcp attribue l'addresse ip en fonction du la requette d'origine.
J'ai vu une option dans le /etc/conf.d/dhcpd quik permet de restraindre les iface ecoutées.
Quelqu'un pour m'éclairer ?
Last edited by BuBuaBu on Thu Aug 30, 2007 10:09 pm; edited 1 time in total |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Tue Aug 28, 2007 9:31 pm Post subject: |
|
|
bah pour la question sur l'attribution IP, tu peux configurer les adresses IP à donner en fonction de l'adresse MAC, et donc de fixer l'ip de eth1 et du client qui est également sur cette interface, sinon, sans changer de de plage d'adresse, tu dois pouvoir interdire le 'forwarding' entre les deux interfaces du serveur (un truc du style echo 0 > /proc/sys/net/ipv4/ipforward de tête:S) _________________ The End of the Internet!
Last edited by truc on Wed Aug 29, 2007 10:29 am; edited 1 time in total |
|
Back to top |
|
|
Da_Risk n00b
Joined: 13 Jul 2006 Posts: 28 Location: Paris
|
Posted: Wed Aug 29, 2007 9:31 am Post subject: |
|
|
Moi j'obterais pour désactiver le forwarding comme l'a suggérer truc. Puisque si tes clients ont des ips sur des réseaux différents ca ne les empeche pas de pouvoir contacter un client de l'autre réseau du moment que ton serveur route les paquets. _________________ 1 + 1 = 3 |
|
Back to top |
|
|
BuBuaBu l33t
Joined: 09 Jul 2005 Posts: 914 Location: France
|
Posted: Wed Aug 29, 2007 5:26 pm Post subject: |
|
|
Pour que le serveur route les packet d'une interface a une autre, il faut faire un pont ou du nat ?
Je pensai qu'utilisé la meme plage ip sur deux interface différente pourvait créér des conflit.
sinon, pour lancer un deuxieme serveur dhcp, j'ai trouvé ma réponse dans le /etc/conf.d/dhcpd :
Code: |
# If you require more than one instance of dhcpd you can create symbolic
# links to dhcpd service like so
# cd /etc/init.d
# ln -s dhcpd dhcpd.foo
# cd ../conf.d
# cp dhcpd dhcpd.foo
# Now you can edit dhcpd.foo and specify a different configuration file.
# You'll also need to specify a pidfile in that dhcpd.conf file.
|
|
|
Back to top |
|
|
F!nTcH Tux's lil' helper
Joined: 15 Jul 2007 Posts: 149
|
Posted: Wed Aug 29, 2007 9:26 pm Post subject: |
|
|
C'est vrai
tu ne peux avoir deux sous-réseaux identiques sur deux interfaces différentes, en tout cas si le système l'accepte, les tables de routages risquent de ne pas apprécier. Si un paquet sort par eth1, il va revenir par eth1 ... mais pour un broadcast ??
Donc deux sous réseaux différents
Donc tu te fais deux subnets différents dans le dhcpd.conf
Code: |
subnet 192.168.0.0 mask 255.255.255.0 {
# tes options
}
subnet 192.168.2.0 mask 255.255.255.0 {
# tes options
}
|
et rectificatif : # echo "0" > /proc/sys/net/ipv4/ip_forward
je n'ai pas essayé dhcp3-server sous gentoo, mais généralement il écoute partout, et se restreint tout seul aux interfaces que tu lui déclares dans la conf (par ex t'as eth2 avec le réseau 10.1.1.0/8 et que t'as pas de zone subnet 10.1.1.0, ben il gueulera dans les logs mais il n'écoutera pas, pour être propre, tu mets la section mais tu la laisses vide)
donc toutes les règles de pare-feu (iptables -A FORWARD) ne sont plus effectives
En revanche si les hôtes sur eth0 doivent voir ceux de eth1, mais pas l'inverse, tripoter ip_forward est à proscrire !
De même si ta machine est une passerelle internet ...
J'espère avoir répondu correctement au problème posé
Edit:
Le fait de déclarer tes subnets dans le dhcpd.conf te permet de n'avoir qu'un seul process et donc qu'un seul service dhcpd, et pas de duplicata ni de tripotage dans le conf.d pour lancer 2 serveurs ... |
|
Back to top |
|
|
BuBuaBu l33t
Joined: 09 Jul 2005 Posts: 914 Location: France
|
Posted: Thu Aug 30, 2007 6:16 pm Post subject: |
|
|
Deux subnet dans dhcpd.conf ok, maids je vois pas comment le seurveur fait le différence entre les ordis de eth1 et de eth0.
Précision la listes de client n'est pas connue et certainemen d'une grande dynamique, donc non la solution d'addresse mac d'en ai pas une. |
|
Back to top |
|
|
Da_Risk n00b
Joined: 13 Jul 2006 Posts: 28 Location: Paris
|
Posted: Thu Aug 30, 2007 7:32 pm Post subject: |
|
|
BuBuaBu wrote: | Deux subnet dans dhcpd.conf ok, maids je vois pas comment le seurveur fait le différence entre les ordis de eth1 et de eth0.
Précision la listes de client n'est pas connue et certainemen d'une grande dynamique, donc non la solution d'addresse mac d'en ai pas une. |
Tu as deux interface eth0 192.168.0.1 et eth1 192.168.1.0. Quand il recoit une requête dhcp sur eth0 il cherche a donner une adresse du même sous réseau.
C'est simpliste et j'suis pas sur que ca soit fait comme ca _________________ 1 + 1 = 3 |
|
Back to top |
|
|
F!nTcH Tux's lil' helper
Joined: 15 Jul 2007 Posts: 149
|
Posted: Thu Aug 30, 2007 8:48 pm Post subject: |
|
|
ben c'est pourtant ça
au démarrage, dhcpd vérifie la configuration système (en gros il pète un coup d'ifconfig) et voit quelle adresse && mask se trouvent sur telle ou telle interface, ensuite il vérifie dans sa propre configuration et se met à écouter. C'est pour ça que je dis que dhcp râle dans les logs quand il trouve une interface pour laquelle il n'a pas de subnet déclaré chez lui.
Et si t'as des hôtes qui bougent, t'as qu'à utiliser l'attribution dynamique, DHCP = Dynamic Host Configuration Protocol
Exemple étoffé :
Code: |
# Serveur autoritaire sur le, ou les sous-réseaux
authoritative;
# Sous-réseau 1 avec quelques options et attribution automatique
# si le serveur trouve pas de section "host" correspondant à la macaddr
subnet 192.168.1.0 netmask 255.255.255.0
{
option routers 192.168.1.254;
option domain-name "example.com";
option domain-name-server ns1.example.com, 192.168.1.254;
range 192.168.1.128 192.168.1.224;
}
# autre sous-réseau
subnet 192.168.220.0 netmask 255.255.255.0
{
option routers 192.168.220.254;
option domain-name "sub.example.com";
range 192.168.220.64 192.168.220.224;
}
# sous réseau informatif mais non géré par le serveur (laissé vide)
subnet 172.16.0.0 netmask 255.255.0.0
{
}
host gnee # commentaire pour gneee
{
fixed-address 192.168.1.4;
hardware ethernet 00:0C:00:01:24:CC;
}
host gnaa
{
fixed-address gnaa.example.com;
hardware ethernet 00:C0:00:01:24:CC;
}
# remarquez le nom de domaine au lieu d'une ip
# rien ne vous empêche de mettre vos hôtes statiques avec une adresse à résoudre par DNS
# et pas forcément une IP en dur (donc vous "attribuez" les IP avec le bon service => DNS, DHCP fait le lien entre macaddr et DN)
|
Remarque : les hôtes trappés par Range sont sur du DHCP "dynamique", les hôtes reconnus par macaddr sont sur DHCP "statique"
Il ne faut pas oublier que c'est l'ATTRIBUTION qui est dynamique, pas forcément les IP, bien que l'option "range" fasse cette gestion de pool d'adresse |
|
Back to top |
|
|
BuBuaBu l33t
Joined: 09 Jul 2005 Posts: 914 Location: France
|
Posted: Thu Aug 30, 2007 10:09 pm Post subject: |
|
|
Oki, merci, je savais pas que DHCPD attribué en priorité en fonction de l'ip de l'interface. |
|
Back to top |
|
|
|