Internetfreigabe ohne DHCP

11

Ich versuche, meinen iMac mit 10.6 als drahtlose Bridge einzurichten. Ich habe es funktioniert, aber ich muss DHCP deaktivieren und den DHCP-Server meines Netzwerks eine IP für die angeschlossenen Geräte bereitstellen lassen. Es scheint nicht möglich zu sein, DHCP in der Internetverbindungsfreigabe zu deaktivieren. Weiß jemand, ob das möglich ist? Ich vermute, es gibt einen Schlüssel, den man einsetzen könnte /Library/Preferences/SystemConfiguration/com.apple.nat.plist, aber ich kann ihn nicht finden. Ich habe in der Manpage nach InternetSharing gesucht und es wird nichts Nützliches erwähnt, außer das vom DHCP-Server verwendete Subnetz zu ändern.

Matthew Boynes
quelle
AFAIK, OS X Internet Sharing führt nur NAT durch, kein echtes Bridging. Die Geräte, die Ihren iMac für die Konnektivität verwenden, befinden sich in einem eigenen privaten Netzwerk, und Ihr iMac fungiert als Router. Aus diesem Grund müssen die angeschlossenen Geräte eine IP-Adresse von Ihrem iMac erhalten. Sie können keine Verbindung zu Ihrem vorhandenen DHCP-Server herstellen. Ich bin nicht gut genug mit dem Mut des Internet-Teilens vertraut, um sicherzugehen, aber das ist meine beste, quasi informierte Vermutung.
robmathers

Antworten:

2

Von der bootpdManpage:

Für jede der Eigenschaften dhcp_enabled, bootp_enabled, old_netboot_enabled, netboot_enabled und relay_enabled kann der entsprechende Dienst für alle Schnittstellen aktiviert oder deaktiviert oder nur für einen bestimmten Satz von Schnittstellen aktiviert werden. Verwenden Sie zum globalen Aktivieren oder Deaktivieren einen booleschen Wert true bzw. false. Wenn Sie nur eine bestimmte Gruppe von Schnittstellen aktivieren möchten, verwenden Sie entweder eine Zeichenfolge für eine einzelne Schnittstelle oder ein Array von Zeichenfolgen, ein Element für jede Schnittstelle.

 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>

Um DHCP global zu deaktivieren, verwenden Sie:

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

Vergessen Sie nicht, ein SIGHUP (kill -1)an zu senden , bootpdnachdem Sie Änderungen an der Konfigurationsdatei vorgenommen haben.

dcow
quelle
1

InternetSharing führt zwei Aufgaben aus:

  • Dynamische Bereitstellung einer IP-Adresse für Geräte, die an der sekundären Netzwerkschnittstelle angeschlossen sind ( bootpd)
  • Verwalten der IP-Adressübersetzung (NAT) für diese dynamisch zugewiesenen Adressen ( natdauf Snow Leopard und natpmpdauf Lion)

Mit InternetSharing können Sie MacOS X nicht als IP-Bridge konfigurieren. Siehe man InternetSharing(erhältlich bei Snow Leopard, aber nicht bei Lion).

Dies wäre eine schlechte Idee: Vor allem wegen der Risiken, die mit einer einfachen, transparenten Brücke verbunden sind: Intern InternetSharingwird Folgendes ausgeführt:

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

Damit kann jeder IP-Verkehr passieren. Um dieses Problem zu beheben, werden nur IP-Adressen, die über die sekundäre Schnittstelle zugewiesen bootpdund über diese übersetzt wurden, natdoder natpmpdkorrekt nach außen übersetzt.

Dan
quelle
Danke für deine Antwort, Daniel. Zwei Fragen: (1) Wie sicher sind Sie, dass InternetSharing das Deaktivieren von DHCP nicht zulässt (und können Sie Beweise / Ressourcen bereitstellen)? (2) Können Sie bitte erläutern, warum dies Ihrer Meinung nach eine schlechte Idee wäre? Über welche Risiken sprechen Sie? Auch hier wären Beweise und Hinweise willkommen. Vielen Dank
Matthew Boynes
Ich habe versucht, meine Erklärungen dank Ihrer Fragen zu verbessern.
Dan
In der Manpage heißt es ausdrücklich: "Details der Datei com.apple.nat.plist ... sind hier nicht vollständig dokumentiert." Es ist also durchaus möglich, dass DHCP deaktiviert wird. Leider wissen wir immer noch nicht, ob dies möglich ist oder nicht. Vielen Dank, dass Sie trotzdem Details hinzugefügt haben
Matthew Boynes
In der Tat ging ich weiter als nur den Haftungsausschluss in der Manpage zu lesen;). Ich bin mir ziemlich sicher, dass es keine Hintertür gibt, die man debuggen kann, ohne zu forken bootpd. Aber zumindest können Sie die -dOption innerhalb der Liste ausprobieren .
Dan
com.apple.natist nicht was konfiguriert bootpd. /etc/bootpd.plistist.
DCOW