Partage Internet sans DHCP

11

J'essaie de configurer mon iMac exécutant 10.6 pour qu'il soit un pont sans fil. Je le fais fonctionner, mais je dois désactiver DHCP et laisser le serveur DHCP de mon réseau fournir une IP pour le ou les appareils connectés. Je n'arrive pas à trouver un moyen de désactiver DHCP dans le partage de connexion Internet. Est-ce que quelqu'un sait si c'est possible? Je suppose qu'il y a une clé que l'on pourrait mettre en place /Library/Preferences/SystemConfiguration/com.apple.nat.plist, mais je ne la trouve pas. J'ai vérifié la page de manuel pour InternetSharing et il ne mentionne rien d'utile, sauf en changeant le sous-réseau que le serveur DHCP utilise.

Matthew Boynes
la source
AFAIK, le partage Internet OS X ne fait que NAT, pas de véritable pontage. Ainsi, les appareils utilisant votre iMac pour la connectivité se trouvent sur leur propre réseau privé et votre iMac agit comme un routeur. Pour cette raison, les appareils connectés doivent obtenir une adresse IP de votre iMac. Ils ne pourraient pas contacter votre serveur DHCP existant. Je ne suis pas assez familier avec les tripes du partage Internet pour en être certain, mais c'est ma meilleure supposition quasi éclairée.
robmathers

Réponses:

2

Depuis la bootpdpage de manuel:

Pour chacune des propriétés dhcp_enabled, bootp_enabled, old_netboot_enabled, netboot_enabled et relay_enabled, le service correspondant peut être activé ou désactivé pour toutes les interfaces, ou activé uniquement pour un ensemble spécifique d'interfaces. Pour activer ou désactiver globalement, utilisez une valeur booléenne true ou false respectivement. Pour activer uniquement pour un ensemble spécifique d'interfaces, utilisez soit une chaîne, pour une seule interface, soit un tableau de chaînes, un élément pour chaque interface.

 For example, to enable DHCP on interfaces en0 and en1, disable BOOTP on all
 interfaces, enable NetBoot on en1, and enable relay agent on interface en1,
 /etc/bootpd.plist could contain:
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
         <key>bootp_enabled</key>
         <false/>
         <key>dhcp_enabled</key>
         <array>
                 <string>en0</string>
                 <string>en1</string>
         </array>
         <key>netboot_enabled</key>
         <string>en1</string>
         <key>relay_enabled</key>
         <array>
                 <string>en1</string>
         </array>
 </dict>
 </plist>

Pour désactiver dhcp globalement, utilisez:

    <key>dhcp_enabled</key>
    <false/>

N'oubliez pas d'envoyer un SIGHUP (kill -1)à bootpdaprès avoir apporté des modifications au fichier de configuration.

dcow
la source
1

InternetSharing effectue 2 tâches:

  • fournir dynamiquement une adresse IP aux périphériques connectés sur l'interface réseau secondaire ( bootpd)
  • gérer la traduction des adresses IP (NAT) pour ces adresses attribuées dynamiquement ( natdsur Snow Leopard & natpmpdsur Lion)

InternetSharing ne vous permet pas de configurer un MacOS X comme pont IP. Voir man InternetSharing(disponible sur Snow Leopard mais pas sur Lion).

Ce serait une mauvaise idée: notamment en raison des risques liés à un pont transparent simple et audacieux: en interne, il InternetSharingeffectue:

sysctl -w 'net.inet.ip.forwarding=1'

qui permet à tout trafic IP de passer. Pour résoudre ce problème, seules les adresses IP attribuées sur l'interface secondaire via bootpdet traduites via natdou natpmpdsont correctement traduites vers l'extérieur.

dan
la source
Merci pour votre réponse, Daniel. Deux questions: (1) Quel est votre niveau de confiance qu'InternetSharing ne permet pas de désactiver DHCP (et pouvez-vous fournir des preuves / ressources)? (2) Pouvez-vous expliquer pourquoi vous pensez que ce serait une mauvaise idée? Quels sont les risques dont vous parlez? Encore une fois, des preuves et des références seraient appréciées. Merci
Matthew Boynes
J'ai essayé d'améliorer mes explications grâce à vos questions.
dan
La page de manuel indique spécifiquement: "Les détails de com.apple.nat.plist ... ne sont pas complètement documentés ici", il est donc tout à fait possible qu'il existe un paramètre qui désactiverait DHCP. Malheureusement, nous n'avons toujours pas de preuves tangibles pour savoir si cela peut être fait ou non. Merci d'avoir ajouté des détails tout de même
Matthew Boynes
En fait, je suis allé plus loin que la simple lecture de l'avertissement dans la page de manuel;). Je suis sûr qu'il n'y a pas de porte dérobée pour déboguer sans bifurquer bootpd. Mais, au moins, vous pouvez essayer l' -doption dans le plist.
dan
com.apple.natn'est pas ce qui configure bootpd. /etc/bootpd.plistest.
dcow