Berbagi internet tanpa DHCP

11

Saya mencoba mengatur iMac saya menjalankan 10.6 untuk menjadi jembatan nirkabel. Saya membuatnya berfungsi, tetapi saya harus menonaktifkan DHCP dan membiarkan server DHCP jaringan saya memberikan IP untuk perangkat yang terhubung. Sepertinya saya tidak dapat menemukan cara untuk menonaktifkan DHCP di Internet Connection Sharing. Adakah yang tahu kalau ini mungkin? Saya kira ada satu kunci yang bisa dimasukkan /Library/Preferences/SystemConfiguration/com.apple.nat.plist, tetapi saya tidak dapat menemukannya. Saya memeriksa halaman manual untuk InternetSharing dan tidak menyebutkan sesuatu yang berguna, kecuali mengubah subnet yang digunakan server DHCP.

Matthew Boynes
sumber
AFAIK, OS X Internet Sharing hanya melakukan NAT, bukan bridging sejati. Jadi perangkat yang menggunakan iMac Anda untuk konektivitas berada di jaringan pribadi mereka sendiri, dan iMac Anda bertindak sebagai router. Karena itu, perangkat yang terhubung perlu mendapatkan IP dari iMac Anda. Mereka tidak akan dapat menghubungi server DHCP yang ada. Saya tidak cukup akrab dengan nyali Berbagi Internet untuk memastikan, tapi itu tebakan saya yang semu saja.
Robmathers

Jawaban:

2

Dari bootpdhalaman manual:

Untuk masing-masing properti dhcp_enabled, bootp_enabled, old_netboot_enabled, netboot_enabled, dan relay_enabled, layanan terkait dapat diaktifkan atau dinonaktifkan untuk semua antarmuka, atau diaktifkan hanya untuk satu set antarmuka tertentu. Untuk mengaktifkan atau menonaktifkan secara global, gunakan nilai boolean benar atau salah. Untuk mengaktifkan hanya untuk set antarmuka tertentu, gunakan string, untuk antarmuka tunggal, atau array string, satu elemen untuk setiap antarmuka.

 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>

Untuk menonaktifkan dhcp secara global, gunakan:

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

Jangan lupa untuk mengirim SIGHUP (kill -1)ke bootpdsetelah membuat perubahan pada file konfigurasi.

Dcow
sumber
1

InternetSharing melakukan 2 tugas:

  • memberikan alamat IP secara dinamis ke perangkat yang terhubung pada antarmuka jaringan sekunder ( bootpd)
  • mengelola terjemahan alamat IP (NAT) untuk alamat yang dikaitkan secara dinamis ini ( natdpada Snow Leopard & natpmpdon Lion)

InternetSharing tidak memungkinkan Anda mengkonfigurasi MacOS X sebagai jembatan IP. Lihat man InternetSharing(tersedia di Snow Leopard tetapi tidak di Lion).

Ini akan menjadi ide yang buruk: terutama karena risiko yang terlibat dengan jembatan transparan yang jelas: Secara internal InternetSharingmelakukan:

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

yang memungkinkan lalu lintas IP untuk pergi. Untuk mengatasi masalah ini, hanya alamat IP yang dikaitkan dengan antarmuka sekunder melalui bootpddan diterjemahkan melalui natdatau natpmpdditerjemahkan dengan benar ke luar.

dan
sumber
Terima kasih atas tanggapan Anda, Daniel. Dua pertanyaan: (1) Apa tingkat kepercayaan Anda bahwa InternetSharing tidak mengizinkan seseorang untuk menonaktifkan DHCP (dan dapatkah Anda memberikan bukti / sumber daya)? (2) Bisakah Anda jelaskan mengapa Anda merasa ini adalah ide yang buruk? Apa risiko yang Anda bicarakan? Sekali lagi, bukti dan referensi akan dihargai. Terima kasih
Matthew Boynes
Saya mencoba meningkatkan penjelasan saya berkat pertanyaan Anda.
dan
Halaman manual secara khusus mengatakan, "Detail com.apple.nat.plist ... tidak sepenuhnya didokumentasikan di sini," jadi sangat mungkin bahwa ada pengaturan yang akan menonaktifkan DHCP. Sayangnya, kita masih tertinggal tanpa bukti kuat apakah ini bisa dilakukan atau tidak. Terima kasih telah menambahkan detail semua sama
Matthew Boynes
Bahkan saya melangkah lebih jauh dari sekedar membaca disclaimer di halaman manual;). Saya cukup yakin tidak ada pintu belakang untuk debug tanpa forking bootpd. Tapi, setidaknya, Anda dapat mencoba -dopsi di dalam daftar.
dan
com.apple.natbukan apa yang mengkonfigurasi bootpd. /etc/bootpd.plistadalah.
dcow