Chia sẻ Internet mà không cần DHCP


11

Tôi đang cố gắng thiết lập iMac của mình chạy 10.6 để trở thành cầu nối không dây. Tôi có nó hoạt động, nhưng tôi cần tắt DHCP và để máy chủ DHCP của mạng tôi cung cấp IP cho (các) thiết bị được kết nối. Tôi dường như không thể tìm cách vô hiệu hóa DHCP trong Chia sẻ kết nối Internet. Có ai biết nếu điều này là có thể? Tôi đoán có một chìa khóa có thể được đặt /Library/Preferences/SystemConfiguration/com.apple.nat.plist, nhưng tôi không thể tìm thấy nó. Tôi đã kiểm tra trang man cho InternetShared và nó không đề cập đến bất cứ điều gì hữu ích, ngoại trừ thay đổi mạng con mà máy chủ DHCP sử dụng.


AFAIK, OS X Internet Sharing chỉ thực hiện NAT, không phải là cầu nối thực sự. Vì vậy, các thiết bị sử dụng iMac để kết nối nằm trên mạng riêng của họ và iMac của bạn hoạt động như một bộ định tuyến. Do đó, các thiết bị được kết nối cần lấy IP từ iMac của bạn. Họ sẽ không thể liên lạc với máy chủ DHCP hiện tại của bạn. Tôi không đủ quen thuộc với sự can đảm của Chia sẻ Internet, nhưng đó là phỏng đoán gần đúng nhất của tôi.
kẻ cướp

Câu trả lời:


2

Từ bootpdtrang người đàn ông:

Đối với mỗi thuộc tính dhcp_enables, bootp_enables, old_netboot_enables, netboot_enables và Relay_enables, dịch vụ tương ứng có thể được bật hoặc tắt cho tất cả các giao diện hoặc được bật cho chỉ một bộ giao diện cụ thể. Để bật hoặc tắt toàn cầu, sử dụng giá trị boolean đúng hoặc sai tương ứng. Để chỉ kích hoạt một bộ giao diện cụ thể, hãy sử dụng một chuỗi, cho một giao diện hoặc một chuỗi các chuỗi, một thành phần cho mỗi giao diện.

 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>

Để vô hiệu hóa dhcp trên toàn cầu, hãy sử dụng:

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

Đừng quên gửi SIGHUP (kill -1)đến bootpdsau khi thay đổi tệp cấu hình.


1

InternetShared đang thực hiện 2 nhiệm vụ:

  • tự động cung cấp địa chỉ IP cho các thiết bị được kết nối trên giao diện mạng thứ cấp ( bootpd)
  • quản lý dịch địa chỉ IP (NAT) cho các địa chỉ được gán động này ( natdtrên Snow Leopard & natpmpdon Lion)

InternetShared không cho phép bạn định cấu hình MacOS X làm cầu nối IP. Xem man InternetSharing(có sẵn trên Snow Leopard nhưng không có trên Lion).

Đây sẽ là một ý tưởng tồi: đáng chú ý nhất là vì những rủi ro liên quan đến cây cầu trong suốt táo bạo: Trong nội bộ InternetSharingđang thực hiện:

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

cho phép bất kỳ lưu lượng IP nào đi qua. Để giảm bớt vấn đề này, chỉ các địa chỉ IP được gán trên giao diện phụ thông qua bootpdvà được dịch qua natdhoặc natpmpdđược dịch chính xác ra bên ngoài.


Cảm ơn phản hồi của bạn, Daniel. Hai câu hỏi: (1) Mức độ tin cậy của bạn mà InternetShared không cho phép một người vô hiệu hóa DHCP (và bạn có thể cung cấp bất kỳ bằng chứng / tài nguyên nào) không? (2) Bạn có thể vui lòng giải thích lý do tại sao bạn cảm thấy đây sẽ là một ý tưởng tồi? Những rủi ro mà bạn nói là gì? Một lần nữa, bằng chứng và tài liệu tham khảo sẽ được đánh giá cao. Cảm ơn
Matthew Boynes

Tôi đã cố gắng cải thiện lời giải thích của tôi nhờ câu hỏi của bạn.
dan

Trang hướng dẫn cụ thể nói: "Chi tiết về com.apple.nat.plist ... không hoàn toàn được ghi lại ở đây", do đó hoàn toàn có thể có một cài đặt sẽ vô hiệu hóa DHCP. Thật không may, chúng tôi vẫn để lại mà không có bằng chứng cứng về việc điều này có thể được thực hiện hay không. Cảm ơn vì đã thêm chi tiết giống nhau
Matthew Boynes

Trong thực tế, tôi đã đi xa hơn là chỉ đọc từ chối trách nhiệm trong trang người đàn ông;). Tôi khá chắc chắn rằng không có cửa hậu để gỡ lỗi mà không cần thử bootpd. Nhưng, ít nhất, bạn có thể thử -dtùy chọn trong danh sách.
dan

com.apple.natkhông phải là những gì cấu hình bootpd. /etc/bootpd.plistLà.
dcow
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.