Pytania o to, jak działa Internet Sharing

6

Proste pole wyboru i menu umożliwiają udostępnianie połączenia internetowego (bez względu na to, z jakiego interfejsu go korzystasz) z dowolnym innym interfejsem (teoretycznie). Ale to jest trochę mylące. Ta strona http://www.manpagez.com/man/8/InternetSharing/ opisuje InternetSharing, proces, który odczytuje listę właściwości com.apple.nat.plist przechowywaną w / Library / Preferences / SystemConfiguration.

Pierwsze pytanie: Dlaczego AirPort wyróżnia się specjalnym wpisem w plist? Rozumiem wpisy dotyczące podstawowego interfejsu (źródła) i urządzeń do udostępniania (cele) Ale kogo to obchodzi, czy AirPort jest włączony w tej plist, jeśli na przykład konfigurujesz NAT między Ethernetem a Bluetooth?

Drugie Pytanie: Dlaczego umożliwia współdzielenie połączenia Ethernet z połączeniem Ethernetowym, a następnie ostrzega, że ​​twój dostawca Internetu będzie cię nienawidził? (Pozwala także Firewire z Firewire) Nie zezwala na Bluetooth na Bluetooth lub AirPort na AirPort; znikają pozycje menu do samodzielnego odniesienia.

Trzecie pytanie: Jak zmienić domyślną sieć podczas udostępniania Ethernetu przez AirPort? InternetSharing konfiguruje adresy IP dla interfejsów innych niż AirPort, zaczynając od 192.168.2.1, a właściwość SharingNetworkNumberStart umożliwia zmianę tego adresu. Domyślnie interfejs AirPort jest przypisany 10.0.2.1. Jak zmienić?

Czwarte pytanie: Jeśli masz tylko jedno gniazdo Ethernet w MacBooku, w jaki sposób możesz mieć więcej niż jeden interfejs? InternetSharing konfiguruje adresy IP dla interfejsów innych niż AirPort, zaczynając od 192.168.2.1, przechodząc przez jedną sieć klasy C (maska ​​podsieci 255.255.255.0) dla każdego kolejnego interfejsu, tj. 192.168.3.1, 192.168.4.1, 192.168.5.1, i tak na. Czy to dotyczy możliwości komputera Mac Pro lub Xserve z wieloma kartami sieciowymi?

[ROZWIĄZANY] 1) lotnisko nie jest podobne do innych interfejsów 2) twarde połączenia są mniej prawdopodobne, aby połączyć się ze sobą - trzeba je WIRE i nikt by tego nie zrobił 3) edytuj bootpd.plist 4) adaptery USB tnx. rozwiązałem problem. nawet jeśli wyłączyłem zaporę w gui, ipfw nadal działał. Lista sudo ipfw podała tę samą listę reguł niezależnie od tego, czy miałem włączoną lub wyłączoną zaporę. Nie wiem jak udało mi się to osiągnąć!

Spojrzałem na noobproof i wyłączyłem regułę blokowania portu 80. Teraz działa, przynajmniej do przeglądania stron internetowych.

aquagremlin
źródło
Witamy na stronie! To niezłe pytanie! Tak - sieci są bardzo skomplikowane, wydajne i elastyczne. Trudno będzie naprawdę odpowiedzieć na to w sposób, który ci się przyda - ale postaram się jak najlepiej. Może się zdarzyć, że to coś stymulującego, wybierając to osobno, a zadawanie tylko jednego pytania zapewni Ci lepszą naukę i lepsze ogólne odpowiedzi.
bmike

Odpowiedzi:

2

Jak powiedział @bmike, Udostępnianie Internetu ukrywa wiele złożoności za bardzo prostym interfejsem, a niektórych pytań nie można odpowiedzieć autorytatywnie bez przeprowadzania wywiadów z niektórymi inżynierami Apple. Ale to nie powstrzyma mnie przed atakiem ...

1) AirPort różni się od innych typów interfejsów, ponieważ aby dzielić się przez AirPort, Twój Mac musi rzeczywiście Stwórz sieć bezprzewodowa (w przeciwieństwie do świadczenia usług tylko przez istniejące połączenie Ethernet, FireWire itp.). Oznacza to, że InternetSharing potrzebuje kilku informacji na temat tworzenia sieci bezprzewodowej: nazwy sieci (SSID), kanału, zabezpieczeń itp.

2) Udostępnianie w tym samym interfejsie ethernetowym jest przydatne w pewnych okolicznościach. Na przykład w mojej sieci domowej mój ISP zapewnia ograniczoną liczbę statycznych adresów IP do mojego użytku. Używam Maca, który odpowiada odpowiednikowi Udostępnianie Internetu (właściwie, ustawiam demony ręcznie jako zalecane @Spiff), aby udostępnić tę samą sieć Ethernet. Wynik: jeśli umieściłem komputer w mojej domowej sieci Ethernet i skonfigurowałem go przez DHCP, otrzymam prywatny (za zaporą) adres IP z mojej praktycznie nieograniczonej puli wewnętrznej. Jeśli ręcznie skonfiguruję komputer za pomocą jednego z publicznych adresów IP, uzyskuję pełny, nieograniczony dostęp do Internetu, ale wykorzystuję jedną z moich ograniczonych publicznych puli IP. Ponieważ oba znajdują się w tej samej sieci, „przenoszenie” komputera za zaporą lub przed nią jest po prostu prostym przełącznikiem konfiguracji.

Z drugiej strony, jeśli wykonasz tę samą sztuczkę w sieci Ethernet, która miała już serwer DHCP, komputery przyłączone do sieci losowo uzyskują konfigurację z jednego serwera lub drugiego, co prowadzi do nieprzewidywalności, zamieszania i wyrywania włosów. Zdecydowanie jest to funkcja wykorzystująca tylko, jeśli wiesz, co robisz. Na szczęście Udostępnianie Internetu jest inteligentne: jeśli wykryje inny serwer DHCP w swojej „prywatnej” sieci, wyłącza się, aby uniknąć problemów.

3) Nie wiem, jak zmienić prywatny zakres adresów IP w sieci bezprzewodowej utworzonej przez IS. Z drugiej strony nie powinno to mieć znaczenia, ponieważ sieć jest tworzone przez Internet Sharing i dlatego nie musi się martwić o konflikty z istniejącą numeracją sieci.

4) Możesz dodać interfejsy Adapter Ethernet USB firmy Apple . Zdobądź kilka koncentratorów USB i kup je!

Gordon Davisson
źródło
Doskonałe połączenie, dlaczego wifi jest inne niż inne sieci na poziomie łącza. Również + dla opcji USB Ethernet. Umieram za adaptery Ethernet z piorunami prędkości.
bmike
dziękuję. Tak, otrzymam odpowiedź na nr 1 i nr 4. DUH. ale myślę, że nie było jasne o # 2. w każdym razie odkryłem # 2 i umieściłem moje zrozumienie w komentarzu do bmike.
aquagremlin
skąd wiedziałeś, co powiesz, od kiedy jego odpowiedź pojawiła się po twojej?
aquagremlin
wskaźnik do tego = & gt; „właściwie ustawiłem demony ręcznie”, gdzie mogę znaleźć szczegóły, pplease?
aquagremlin
@aquagremlin: Używam tego na serwerze OS X, który ma dość proste interfejsy do konfigurowania zapory, routingu NAT, DHCP i DNS. Raz ustawiłem to na kliencie OS X, ale nie znam żadnej dobrej dokumentacji - właśnie uruchomiłem Internet Sharing, sklonowałem utworzone pliki konfiguracyjne i edytowałem je do tego, czego potrzebowałem, a następnie napisałem LaunchDaemon, aby rozpocząć natd . Przy okazji, odpowiedź Spiffa pojawiła się, gdy pisałem moje - nie ma tu żadnej wiedzy.
Gordon Davisson
1

Myślę, że upraszczasz proces udostępniania. To znacznie bardziej skomplikowane niż twój pierwszy akapit. Firewall, nat / dhcp i koncepcje sieciowe zabiją cię, jeśli nie masz dobrych podstaw na podstawowych konwencjach i regułach, a także jak sieci zostały zaprojektowane do pracy.

1) Dlaczego? Nie wiem - chrapliwa odpowiedź brzmi: poproś inżynierów w Apple, aby podzielili się swoimi myślami. Zamiast spekulować - zadaj bardziej konkretne pytanie, na które można odpowiedzieć.

2) Nie wiem o nienawiści - ale dostaję „możesz zakłócić sieć”, ponieważ wiele sieci zakłada, że ​​każdy klient jest punktem końcowym - a nie bramą do większego ruchu, który musi obsługiwać inaczej. Możesz złamać połączenie swojego Maca, a także złamać inne osoby w sieci. Twój dostawca usług internetowych nie będzie się przejmował, chyba że zadzwonisz do nich, aby naprawić problem, który stworzyłeś :-)

3) Zdecyduj, czy chcesz zmapować sieć za pomocą DHCP lub ręcznie. Zdecyduj, czy chcesz jedną czy dwie sieci. Kiedy już przeczytasz, co podsieć jest - zobaczysz, że prawdopodobnie potrzebujesz routera programowego do mostkowania adresów nie w bieżącej podsieci routera. Implementacja zależy od tego, w którą stronę zdecydujesz się pójść.

4) Nazywa się to aliasingiem interfejsu. Ucz się na warstwy tworzące model IP i będziesz miał lepsze poczucie, jak możesz dodać wiele danych drugiej warstwy na jednym połączeniu sieciowym na poziomie łącza fizycznego.

Nie poddawaj się, widzę, ile pracy włożyłeś w swoje pytanie - pytaj dalej, a znajdzie się tu wielu naprawdę znających się na rzeczy ludzi, ponieważ ich czas pozwala ci pomóc. Zachęcaj ich, zadając naprawdę dobrze zbadane i konkretne pytania.

bmike
źródło
dzięki za odpowiedzi. Zrobiłem więcej badań. dotyczące # 2- ethernet-ethernet i firewire-firewire są połączeniami HARDWARE i dlatego można je konfigurować. Inne nie są i jeśli byłyby dozwolone, doprowadziłyby do sieci kratowej. z trudną sprawą, w której chcecie się nieumyślnie związać (cyber masturbacja? musicie wymyślić bardziej elegancki termin)
aquagremlin
1
odnośnie # 3 doszedłem do wniosku, że dobrze po prostu semantyka myślę, że dodam podsieć do pliku /etc/bootpd.plist
aquagremlin
Masz rację w sprawie # 2 - będziesz chciał przeczytać dalej ifconfig i protokół spanning tree, jeśli będziesz mostkować / rozpinać i mieć potencjalne pętle w sieci. Świetnie się bawiłem z agregacją linków w tygrysie i lampartach, ale ostatnio nie miałem okazji się tym bawić.
bmike
1

Funkcja Udostępnianie Internetu zawsze wydawała się być usługą prostą w konfiguracji poprzez panel Udostępnianie w Preferencjach systemowych. Jestem zaskoczony, że nawet udokumentowali demona InternetSharing za pomocą strony man.

Jeśli ustawienia, do których możesz łatwo uzyskać dostęp z GUI, są niewystarczające dla twoich potrzeb, zalecam, abyś sam wskoczył w konfigurowanie i wywoływanie innych bazowych demonów, zamiast bawić się z InternetSharing i nat.plist.

ipfw, natd, bootpd, i named są potężne i warte nauki bezpośrednio.

Spiff
źródło
[ROZWIĄZANE] 1) lotnisko nie jest podobne do innych interfejsów 2) twarde połączenia są mniej prawdopodobne, aby połączyć się ze sobą - faktycznie trzeba je WIRE i nikt by tego nie zrobił. rozwiązałem problem. nawet jeśli wyłączyłem zaporę w gui, ipfw nadal działał. Lista sudo ipfw podała tę samą listę reguł niezależnie od tego, czy miałem włączoną lub wyłączoną zaporę. Nie wiem jak udało mi się to osiągnąć! spojrzałem na noobproof i wyłączyłem regułę blokowania portu 80. teraz działa, na wschodzie na przeglądanie stron internetowych.
aquagremlin