Zwolnij / odnów adres IP przez terminal w OS X

28

Chcę zwolnić i odnowić mój adres IP w OS X 10.4 (Tiger) za pomocą terminala. Zasadniczo potrzebuję odpowiednika systemu Windows X dla systemu Windows:

C:\\> ipconfig /release  
C:\\> ipconfig /renew

Potrzebuję jednak interfejsu, aby pozostawał aktywny podczas tego procesu, więc użycie ifconfig w dół / w górę nie będzie działać.

Wydaje mi się, że mogę wyczyścić adres IP za pomocą ifconfig <interface> delete, ale nie jestem pewien, jak uzyskać od klienta DHCP zmianę przypisania adresu. Artykuł z 2002 roku sugeruje użycie zestawu dhcp, ale strona podręcznika ifconfig firmy Apple nie zawiera tych informacji.

Peter Mortensen
źródło

Odpowiedzi:

11

Uważam, że polecenia

ipconfig set <interface> BOOTP 
ipconfig set <interface> DHCP

dokonaj zwolnienia interfejsu IP, ale go nie odnowisz. To zachowanie można wyjaśnić, ponieważ pracuję na komputerze MacBook Air. Jednak wypróbowałem to również na MacBooku Pro z tym samym rezultatem. Szybkie przejrzenie strony man Networksetup ujawnia dwie siostrzane polecenia dla ipconfig. Te polecenia są

networksetup -setbootp <network service name>
networksetup -setdhcp <network service name>

gdzie jest nazwa widoczna w panelu stanu ustawień sieci. Jeśli otworzysz ustawienia sieciowe, możesz obserwować działanie tego polecenia, obserwując zmianę opcji „Konfiguruj IPv4”. Uwaga: aby zaoszczędzić na pisaniu, wykluczyłem sudo ze wszystkich moich poleceń, i oczywiście jeśli twój system wymaga podniesionych uprawnień do wykonywania poleceń, powinieneś użyć „sudo” z przodu poleceń wymienionych w tej odpowiedzi. Mam nadzieję, że to ocali komuś ciągnięcie i wkurzanie włosów, jakich doświadczyłem, szukając tak prostego polecenia.

użytkownik1626814
źródło
2
Aby wyświetlić listę <nazw usług sieciowych>, możesz użyć networksetup -listnetworkserviceorder
David Graham
To było idealne. Kiedy robiłem to przez ipconfig, odnawiałem DHCP i miałem połączenie z Internetem, chociaż komputer myślał inaczej. Przy użyciu networksetup wydaje się, że naprawił to wszystko.
molson504x
1

Jeśli musisz to zrobić bez uprawnień sudo, najłatwiejszym sposobem jest utworzenie nowej lokalizacji, nazwijmy ją „DHCP”, a następnie zmień ją i wróć… Powoduje to także zmianę konfiguracji sieci przez Mac OS X. Potrzebne polecenia to:

scselect DHCP
scselect Automatic

Możesz utworzyć nową lokalizację sieciową z panelu ustawień preferencji sieci, wybierz menu rozwijane u góry z napisem „Automatyczny”, a następnie „Utwórz nowy…”.

Paul Wagland
źródło
0

Mogłem zwolnić / odnowić adres IP za pomocą

sudo ipconfig set en0 BOOTP <return>
sudo ipconfig set en0 DHCP <return>

Ale teraz nie mogę uzyskać dostępu do udostępniania ekranu przez Ethernet za pomocą wbudowanego VNC. Nadal mogę uzyskać do niego dostęp przez Wi-Fi z mojego telefonu.

hmj6jmh
źródło
Czy to odpowiedź czy pytanie?
Peter Mortensen
To kolejny sposób na osiągnięcie tego samego celu, więc jest to odpowiedź. Właśnie skomentowałem moje pełne doświadczenie z tym.
hmj6jmh