Compartilhamento de Internet sem DHCP

11

Estou tentando configurar meu iMac executando 10.6 para ser uma ponte sem fio. Estou funcionando, mas preciso desativar o DHCP e permitir que o servidor DHCP da minha rede forneça um IP para o (s) dispositivo (s) conectado (s). Não consigo encontrar uma maneira de desativar o DHCP no compartilhamento de conexão com a Internet. Alguém sabe se isso é possível? Suponho que possa haver uma chave /Library/Preferences/SystemConfiguration/com.apple.nat.plist, mas não consigo encontrá-la. Verifiquei a página de manual do InternetSharing e ela não menciona nada de útil, exceto a alteração da sub-rede que o servidor DHCP usa.

Matthew Boynes
fonte
O AFAIK, OS X Internet Sharing apenas NAT, não uma ponte verdadeira. Portanto, os dispositivos que usam o iMac para conectividade estão em sua própria rede privada e o iMac atua como um roteador. Por esse motivo, os dispositivos conectados precisam obter um IP do seu iMac. Eles não poderiam entrar em contato com o servidor DHCP existente. Não estou familiarizado o suficiente com as entranhas do compartilhamento da Internet para ter certeza, mas esse é o meu melhor palpite quase informado.
robmathers

Respostas:

2

Na bootpdpágina do manual:

Para cada uma das propriedades dhcp_enabled, bootp_enabled, old_netboot_enabled, netboot_enabled e relay_enabled, o serviço correspondente pode ser ativado ou desativado para todas as interfaces ou apenas para um conjunto específico de interfaces. Para ativar ou desativar globalmente, use um valor booleano true ou false, respectivamente. Para ativar apenas para um conjunto específico de interfaces, use uma cadeia de caracteres, para uma única interface ou uma matriz de cadeias, um elemento para cada interface.

 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>

Para desativar o dhcp globalmente, use:

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

Não esqueça de enviar um SIGHUP (kill -1)para bootpddepois de fazer alterações no arquivo de configuração.

dcow
fonte
1

O InternetSharing está executando duas tarefas:

  • fornecer dinamicamente um endereço IP para dispositivos conectados na interface de rede secundária ( bootpd)
  • gerenciar a tradução de endereços IP (NAT) para esses endereços atribuídos dinamicamente ( natdno Snow Leopard e natpmpdno Lion)

O InternetSharing não permite que você configure um MacOS X como uma ponte IP. Veja man InternetSharing(disponível no Snow Leopard, mas não no Lion).

Isso seria uma péssima idéia: principalmente por causa dos riscos envolvidos em uma ponte transparente em negrito: Internamente InternetSharingestá executando um:

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

que permite a passagem de qualquer tráfego IP. Para aliviar esse problema, apenas os endereços IP atribuídos na interface secundária bootpde traduzidos natdou natpmpdtraduzidos corretamente para o exterior.

dan
fonte
Obrigado pela sua resposta, Daniel. Duas perguntas: (1) Qual é o seu nível de confiança de que o InternetSharing não permite desativar o DHCP (e você pode fornecer evidências / recursos)? (2) Você pode explicar por que você acha que isso seria uma má idéia? Quais são os riscos de que você fala? Novamente, evidências e referências seriam apreciadas. Obrigado
Matthew Boynes
Tentei melhorar minhas explicações graças às suas perguntas.
dan
A página de manual diz especificamente "Os detalhes do com.apple.nat.plist ... não estão completamente documentados aqui", portanto, é perfeitamente possível que exista uma configuração que desative o DHCP. Infelizmente, ainda estamos sem evidências concretas sobre se isso pode ou não ser feito. Obrigado por adicionar detalhes tudo a mesma coisa
Matthew Boynes
Na verdade, fui além do que ler o aviso na página de manual;). Tenho certeza de que não há backdoor para depuração sem bifurcação bootpd. Mas, pelo menos, você pode tentar a -dopção dentro da lista.
dan
com.apple.natnão é o que configura bootpd. /etc/bootpd.plisté.
dcow