डीएचसीपी के बिना इंटरनेट साझाकरण


11

मैं एक वायरलेस ब्रिज होने के लिए अपने iMac को 10.6 रन करने की कोशिश कर रहा हूं। मेरे पास यह काम कर रहा है, लेकिन मुझे डीएचसीपी को अक्षम करना होगा और मेरे नेटवर्क के डीएचसीपी सर्वर को कनेक्टेड डिवाइस (ओं) के लिए एक आईपी प्रदान करना चाहिए। मुझे इंटरनेट कनेक्शन साझाकरण में डीएचसीपी को अक्षम करने का तरीका नहीं मिल रहा है। यदि संभव है तो किस प्रकार, क्या कोई जानता है? मुझे लगता है कि वहाँ एक महत्वपूर्ण एक में सेट /Library/Preferences/SystemConfiguration/com.apple.nat.plistकर सकते हैं, लेकिन मैं यह नहीं मिल सकता है। मैंने इंटरनेटशेयरिंग के लिए मैन पेज की जाँच की और डीएचसीपी सर्वर का उपयोग करने वाले सबनेट को बदलने के अलावा इसमें कुछ भी उपयोगी नहीं है।


AFAIK, OS X इंटरनेट शेयरिंग केवल NAT करता है, सही ब्रिडिंग नहीं। तो कनेक्टिविटी के लिए आपके iMac का उपयोग करने वाले उपकरण अपने निजी नेटवर्क पर हैं, और आपका iMac एक राउटर के रूप में कार्य करता है। इस वजह से, कनेक्ट किए गए डिवाइस को आपके iMac से IP प्राप्त करने की आवश्यकता होती है। वे आपके मौजूदा डीएचसीपी सर्वर से संपर्क नहीं कर पाएंगे। मैं कुछ निश्चित होने के लिए इंटरनेट शेयरिंग की हिम्मत से परिचित नहीं हूं, लेकिन यह मेरा सबसे अच्छा अर्ध-सूचित अनुमान है।
लुटेराथर्स

जवाबों:


2

से bootpdआदमी पेज:

प्रत्येक गुण के लिए dhcp_enabled, bootp_enabled, old_netboot_enabled, netboot_enabled, और relay_enabled, संबंधित सेवा को सभी इंटरफेस के लिए सक्षम या अक्षम किया जा सकता है, या केवल इंटरफेस के एक विशिष्ट सेट के लिए सक्षम किया जा सकता है। विश्व स्तर पर सक्षम या अक्षम करने के लिए, क्रमशः बूलियन मान का सही या गलत उपयोग करें। केवल इंटरफेस के एक विशिष्ट सेट के लिए सक्षम करने के लिए, एकल इंटरफ़ेस के लिए एक स्ट्रिंग, या स्ट्रिंग की एक सरणी के लिए या तो एक स्ट्रिंग का उपयोग करें।

 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>

विश्व स्तर पर dhcp को अक्षम करने के लिए, उपयोग करें:

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

एक भेजने के लिए मत भूलना SIGHUP (kill -1)के लिए bootpdविन्यास फाइल करने के लिए परिवर्तन करने के बाद।


1

InternetSharing 2 कार्य कर रहा है:

  • द्वितीयक नेटवर्क इंटरफेस पर जुड़े उपकरणों को गतिशील रूप से एक आईपी पता प्रदान करना ( bootpd)
  • आईपी ​​पते का अनुवाद (NAT) इन गतिशील रूप से जिम्मेदार पते ( natdहिम तेंदुए natpmpdपर और शेर पर) के लिए करना

इंटरनेटशेयरिंग आपको MacOS X को IP ब्रिज के रूप में कॉन्फ़िगर करने की अनुमति नहीं देता है। देखें man InternetSharing(हिम तेंदुए पर उपलब्ध है लेकिन शेर पर नहीं)।

यह एक बुरा विचार होगा: विशेष रूप से एक स्पष्ट बोल्ड पारदर्शी पुल के साथ शामिल जोखिमों के कारण: आंतरिक रूप InternetSharingसे एक प्रदर्शन कर रहा है:

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

जो किसी भी आईपी ट्रैफ़िक को जाने की अनुमति देता है। इस समस्या को, केवल IP पतों के द्वारा माध्यमिक इंटरफेस पर जिम्मेदार ठहराया कम करने के लिए bootpdऔर के माध्यम से अनुवाद natdया natpmpdसही ढंग से बाहर करने के लिए अनुवाद किया जाता है।


आपकी प्रतिक्रिया के लिए धन्यवाद, डैनियल। दो प्रश्न: (1) आपका इंटरनेटरिंग किस स्तर का विश्वास है जो किसी को डीएचसीपी को निष्क्रिय करने की अनुमति नहीं देता है (और क्या आप कोई सबूत या संसाधन प्रदान कर सकते हैं)? (२) क्या आप इस बारे में विस्तार से बता सकते हैं कि आपको क्यों लगता है कि यह एक बुरा विचार होगा? आप जो बोलते हैं उसके जोखिम क्या हैं? फिर, सबूत और संदर्भ की सराहना की जाएगी। धन्यवाद
मैथ्यू Boynes

मैंने आपके प्रश्नों के लिए अपने स्पष्टीकरण को बेहतर बनाने की कोशिश की।
डेन

मैन पेज विशेष रूप से कहता है, "com.apple.nat.plist का विवरण ... यहां पूरी तरह से प्रलेखित नहीं हैं," इसलिए यह पूरी तरह से संभव है कि एक सेटिंग है जो डीएचसीपी को अक्षम कर देगी। दुर्भाग्य से, हम अभी भी इस बात पर कठोर सबूत के बिना बचे हैं कि यह किया जा सकता है या नहीं। सभी को समान रूप से जोड़ने के लिए धन्यवाद
मैथ्यू बोयन्स

वास्तव में मैं मैन पेज के भीतर केवल अस्वीकरण पढ़ने से आगे बढ़ गया;)। मुझे पूरा यकीन है कि फोर्किंग के बिना डिबग करने के लिए कोई बैकडोर नहीं है bootpd। लेकिन, कम से कम, आप -dप्लिस्ट के भीतर विकल्प का प्रयास कर सकते हैं ।
डेन

com.apple.natवह नहीं है जो कॉन्फ़िगर करता है bootpd/etc/bootpd.plistहै।
22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.