Làm cách nào để chạy máy chủ DHCP trên cổng ethernet của MacBook thành công?


6

Tôi đặt mục tiêu có một công tắc ethernet trên cổng ethernet MacBook của mình, từ đó tôi sẽ có một số Raspberry Pi được kết nối nhận IP của họ thông qua DHCP, mỗi máy chủ sẽ có một máy chủ VNC chạy trên chúng để truy cập từ xa và tôi muốn chia sẻ internet của mình với họ kết nối WiFi của MacBook.

Để thực hiện điều này, tôi đã sử dụng máy chủ DHCP sẵn có của OSX như sau:

  • Đã chỉnh sửa bootpd.plist trong / etc /, điều này cấu hình máy chủ DHCP cho mạng 192.168.2.0

    <?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>Subnets</key>
    <array>
        <dict>
        <key>_creator</key>
        <string>com.apple.InternetSharing</string>
        <key>allocate</key>
        <true/>
        <key>dhcp_domain_name_server</key>
            <array>
                <string>192.168.2.1</string>
            </array>
        <key>dhcp_router</key>
            <string>192.168.2.1</string>
        <key>lease_max</key>
            <integer>36000</integer>
        <key>lease_min</key>
            <integer>36000</integer>
        <key>name</key>
            <string>192.168.2/24</string>
        <key>net_address</key>
            <string>192.168.2.0</string>
        <key>net_mask</key>
            <string>255.255.255.0</string>
        <key>net_range</key>
            <array>
                <string>192.168.2.2</string>
                <string>192.168.2.254</string>
            </array>
        </dict>
    </array>
    <key>bootp_enabled</key>
        <false/>
    <key>detect_other_dhcp_server</key>
        <true/>
    <key>dhcp_enabled</key>
        <array>
            <string>bridge0</string>
        </array>
    <key>use_server_config_for_dhcp_options</key>
        <false/>
    </dict>
    </plist>
    
  • Đã chỉnh sửa / tạo bootptab trong / etc /, cái này gán IP tĩnh cho Raspberry Pi

%%
# tên máy chủ hwtype hwaddr bootdile
Raspi1 1 aa: bb: cc: dd: ee: F1 192.168.2.2
Raspi2 1 aa: bb: cc: dd: ee: f2 192.168.2.3
Raspi3 1 aa: bb: cc: dd: ee: f3 192.168.2.4
Raspi4 1 aa: bb: cc: dd: ee: f4 192.168.2.5
  • Chạy / Dừng máy chủ DHCP bằng các lệnh sau, tạo bí danh trong ~ / .bash_profile:
bí danh dhcp-start = 'sudo / bin / launchctl tải -w /System/L Library / LaunchDaemons / bootps.plist'
bí danh dhcp-stop = 'sudo / bin / launchctl unload -w /System/L Library / LaunchDaemons / bootps.plist'

Thật tuyệt khi tôi có thể kết nối với từng Pi từ xa, nhưng tôi có các vấn đề sau:

  1. Không thể kết nối với internet từ mỗi Pi, do tôi đã chia sẻ kết nối internet từ WiFi sang cổng ethernet trong menu chia sẻ của OSX:

    Chia sẻ Internet trong OSX

  2. Sau khi đặt lại MacBook, tệp bootpd.plist sẽ bị xóa

Bất kỳ trợ giúp trong việc giải quyết hai vấn đề trên đánh giá cao!


Tôi không thấy bất kỳ bằng chứng nào cho thấy bạn thực sự thiết lập chia sẻ Internet. Bạn đã?
David Schwartz

@DavidSchwartz - Có tôi đã làm, tôi đã thêm một ảnh chụp màn hình để hiển thị ngay bây giờ
tekiwibird

Làm cách nào để định cấu hình kết nối ethernet trong Tùy chọn / Mạng?
toine

Khóa bootd.plist?
JBis

Câu trả lời:


2

Theo tôi hiểu, việc chia sẻ Internet của bạn có thể cản trở bootdcấu hình của bạn , đặc biệt là bạn đang gán địa chỉ tĩnh cho Raspberry πs.

Khi bạn có máy chủ dhcp đang chạy, bạn có thể tạo tuyến đường cho họ. Nếu wifi của bạn được bật en1và chúng tôi giả sử cổng của bạn en1172.16.0.1, bạn có thể làm một cái gì đó như

sudo route add 192.168.2.0/24 172.16.0.1

mà sẽ gây ra các gói tin đến từ 192.168.2.0để 192.168.2.255đi qua cửa ngõ của wifi của bạn.

Xem, ví dụ, Thêm một tuyến tĩnh cố định cho Mac OS X về cách tự động hóa nó.

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.