Comment faire fonctionner un serveur DHCP sur un port Ethernet d'un MacBook avec succès?


6

Mon objectif est d’avoir un commutateur Ethernet sur mon port Ethernet MacBook à partir duquel plusieurs Raspberry Pi seront connectés et recevront leur adresse IP via DHCP. Chacun aura un serveur VNC fonctionnant sur celui-ci pour un accès à distance et je veux que mon Internet leur soit partagé. la connexion WiFi de mon MacBook.

Pour ce faire, j'ai utilisé le serveur DHCP intégré d'OSX comme suit:

  • Bootpd.plist édité dans / etc /, cela configure le serveur DHCP pour le Réseau 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>
    
  • Bootptab édité / créé dans / etc /, cela attribue des adresses IP statiques au Raspberry Pi's

%%
# hostname      hwtype  hwaddr              ipaddr          bootfile
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
  • Exécuter / arrêter le serveur DHCP en utilisant les commandes suivantes, créé un alias dans mon ~ / .bash_profile:
alias dhcp-start='sudo /bin/launchctl load -w /System/Library/LaunchDaemons/bootps.plist'
alias dhcp-stop='sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/bootps.plist'

Génial, je peux me connecter à chaque Pi à distance, mais j'ai les problèmes suivants:

  1. Impossible de se connecter à Internet à partir de chaque Pi, étant donné que j'ai partagé la connexion Internet du WiFi au port Ethernet dans le menu de partage d'OSX:

    Internet Sharing in OSX

  2. Lors de la réinitialisation du MacBook, le fichier bootpd.plist est en cours de suppression.

Toute aide pour résoudre les deux problèmes ci-dessus appréciés!


Je ne vois aucune preuve que vous avez réellement configuré le partage Internet. As tu?
David Schwartz

@DavidSchwartz - Oui, j'ai ajouté une capture d'écran pour le montrer maintenant.
tekiwibird

Comment configureriez-vous la connexion Ethernet dans Préférences / Réseau?
toine

Verrouillez le fichier bootd.plist?
JBis

Réponses:


2

Si je comprends bien, votre partage Internet pourrait interférer avec votre bootd configuration, en particulier étant donné que vous attribuez des adresses statiques aux πs Raspberry.

Une fois le serveur DHCP exécuté, vous pouvez créer des itinéraires pour eux. Si votre wifi est allumé en1et nous assumons votre passerelle pour en1 est 172.16.0.1, vous pourriez faire quelque chose comme

sudo route add 192.168.2.0/24 172.16.0.1

ce qui provoquera des paquets venant de 192.168.2.0 à 192.168.2.255 passer par la passerelle de votre wifi.

Voir, par exemple, Ajouter une route statique permanente à Mac OS X sur la façon de l'automatiser.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.