İnternet paylaşımı OLMADAN interneti paylaşmak için Sunucu 5.0.15'i kullanma


4

2010 ortalarında MacMini'yi sunucu olarak çalıştırıyorum. OS X 10.11.3 ve Sunucu 5.0.15. İnternette yerleşik Ethernet ( Ethernet ) ile bağlantı kuruyorum ve bir USB-GigaBit Ethernet adaptörüne ( Ethernet 2 ) kablosuz bir AP'ye ( WAP ) gidiyor .

Yapılandırılmış ve etkin DHCP ve DNS servislerim var. ICS'yi paylaşım kontrol panelinde açarsam, DHCP hizmetini sunucudan yok sayar, ancak istemcilerimden internete bağlanmama izin veriyor. Bu, IP değiştirmeye başlamadığım sürece yerel DNS'yi de bozar. Kapatırsam DHCP sunucusu üzerinde kontrol sahibi olurum, ancak hiçbir şey internete bağlı değil.

HANGİ'yi nasıl kullanabilirim? Veya en azından sunucudaki ayarları, müşterilerime internet erişimine izin vermek için Ethernet ve Ethernet 2 adaptörlerini "köprülemek" için doğru şekilde yapılandırmak mı?

Paylaşım Kontrol Panelinde İnternet Bağlantı Paylaşımı DEĞİL bir yerde bir NAT işlevi arıyorum.

Ethernet yapılandırmasında yerleşik:

  • IP: Kablo Modemden DHCP
  • Alt Ağ Maskesi: 255.255.255.0 - Kablo Modemden DHCP
  • DNS: 127.0.0.1 Sunucuların kendi DNS Hizmetini kullanmak için
  • Etki Alanında Ara: Sunucunun FQDN'si.
  • Yönlendirici: Kablo Modemden DHCP

USB'den GigaBit Adaptörüne Yapılandırma:

  • IP: 192.168.3.1
  • Alt Ağ Maskesi: 255.255.255.0
  • DNS: 127.0.0.1
  • Etki Alanında Ara: Sunucunun FQDN'si.
  • Router: Dahili Ethernet için DHCP'den alınan adres

DHCP:

  • İsim: Ev
  • IP Havuzu: 192.168.3.2 - 192.168.3.253
  • Kiralama: 1 Saat
  • Arayüz: USB'den GigaBit Adaptörüne
  • Yönlendirici: 192.168.3.1 - IP Havuzu ve Arabirim ile aynı ağda olmalıdır.
  • Not: Evdeki cihazlar için 16+ IP Rezervasyonu.

WAP:

  • IP: 192.168.3.254

DNS:

  • İzinler: Tüm Ağlar
  • Müşteri Arama: Tüm Müşteriler
  • Yönlendirme Sunucuları: 8.8.8.8, 8.8.4.4

Buraya hangi bilgileri koyacağımı bilmiyorum, geç oldu ve yoruldum ...

Bana bazı sorular sorun ve yeni 5.0.15 server.app ile ilgili bir fikriniz varsa bana bildirin


Özetle, Mac'inizi bir yönlendirici / ağ geçidi olarak kullanmak ve Sunucunun yönlendiricinin LAN tarafı için DHCP ve DNS'i kontrol etmesini mi istiyorsunuz? Internet Sharing'i Sistem Tercihleri'nin Paylaşma bölmesinden kullanmazsanız, pfctl'yi tanımanız gerekir.
medbot

Olası kopyası: Mac'imi (OS X Yosemite) bir internet ağ geçidi olarak nasıl kurabilirim . Daha fazla yardıma ihtiyacınız olursa cevabımı El Capitan'a uyarlayabilir ve bazı şeyleri otomatikleştirebilirim.
klanomath

İkinize de teşekkürler. medbot bana doğru yöne işaret etti ve genel olarak OSX'te pfctl ve pf hakkında iyi okumalar yaptı.
Takagami

Yanıtlar:


4

En yeni OS X Server sürümleri, OS X'te NAT / Yönlendirmeyi etkinleştirmek için hiçbir araç sağlamamaktadır.

NAT'ın Internet Paylaşımı kullanmadan çalışmasını sağlamak için, bir pf kuralını kullanmanız ve pf kuralını iletmeyi ve yüklemeyi etkinleştirmek için bir plist oluşturmanız gerekir:

Aşağıda, en0: kablo modeme bağlı olan ve en1'i: LAN'a bağlı olan arabirim olarak kabul ediyorum. DHCP ve DNS, dahili LAN'da düzgün şekilde ayarlanmış.

  1. Bir pf NAT kuralı oluşturun:

    / Private / etc / içinde nat-rules adında ve aşağıdaki içerikte bir dosya oluşturun

    nat on en0 from en1 to any -> (en0)
    
  2. Pf kuralının yönlendirilmesini ve yüklenmesini sağlayan nat-pf.sh adında bir kabuk betiği oluşturun . / Usr / local / dizinine kaydettim.

    #!/bin/sh
    
    sysctl -w net.inet.ip.forwarding=1
    sysctl -w net.inet.ip.fw.enable=1
    
    #disables pfctl
    pfctl -d
    
    sleep 1
    
    #flushes all pfctl rules
    pfctl -F all
    
    sleep 1
    
    #starts pfctl and loads the rules from the nat-rules file
    pfctl -f /private/etc/nat-rules -e
    
  3. Aşağıdaki içeriğe sahip org.user.natpf.plist adlı bir pist oluşturun ve başlangıçta yukarıdaki kabuk betiğini çalıştırmak için / Library / LaunchDaemons / içine kaydedin:

    <?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>Disabled</key>
        <false/>
        <key>KeepAlive</key>
        <dict>
            <key>SuccessfulExit</key>
            <false/>
        </dict>
        <key>Label</key>
        <string>org.user.natpf</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/local/nat-pf.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/tmp/org.user.natpf.stderr</string>
        <key>StandardOutPath</key>
        <string>/tmp/org.user.natpf.stdout</string>
    </dict>
    </plist>
    

    Her üç dosyanın da boş bir satıra ihtiyacı var, bu yüzden yukarıdaki kodu / satırları kopyalamayın.

  4. Sahipliği ve dosya modlarını değiştirin:

    sudo chown root:wheel /private/etc/nat-rules
    sudo chown root:wheel /usr/local/nat-pf.sh
    sudo chmod 755 /usr/local/nat-pf.sh
    sudo chown root:wheel /Library/LaunchDaemons/org.user.natpf.plist
    
  5. Lansman arka planını yükle:

    sudo launchctl load /Library/LaunchDaemons/org.user.natpf.plist
    
  6. Her şeyi test ettikten sonra, aşağıdaki parçadaki listeyi silebilirsiniz:

        <key>StandardErrorPath</key>
        <string>/tmp/org.user.natpf.stderr</string>
        <key>StandardOutPath</key>
        <string>/tmp/org.user.natpf.stdout</string>
    

    org.user.natpf.stderr , plistinizde hata ayıklamak için hata mesajları sağlar.

  7. Yerel yönlendiricime statik bir rota eklemek zorunda kaldım:

    192.168.3.0/24 (dahili ağ) -> 192.168.0.2 (Yönlendiriciye bağlı harici arabirimin Mac mini IP adresi)

    Bu son adım ağ ortamınız için geçerli olmayabilir!


Bu mükemmel çalıştı! Çok şık ve iyi yazılmış, Teşekkürler! Gerekli alanları çevreme uyacak şekilde değiştirdim, ancak bu tam olarak aradığım şeydi.
Takagami

@Takagami Bunu duymak güzel! ;-) ayrıca OS X güvenlik duvarı olarak pf kullanıyorsanız, bazı pf çapalarını eklemeniz / değiştirmeniz gerekebilir. Adım 7, (yerel) bir yönlendiricinin arkasındaki kullanıcılar içindir. Yönelticiye erişiminiz olmadığını varsaydım.
klanomath

Hayır. Alanım için charter birincil yönlendiriciye erişim yok ... Ne yazık ki. Ama statik bir yola ihtiyacım olmadığını bilmek için ağ kurma hakkında yeterince bilgim var. Hala OSX / UNIX arka ucunu öğreniyorum.
Takagami
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.