Thiết lập lại giao diện IPv4 của dòng lệnh OS X


10

Máy khách VPN kết nối mạng của Juniper dường như để giao diện mạng OS X ở trạng thái không sử dụng được nếu nó không ngắt kết nối một cách duyên dáng.

Chỉnh sửa: "ngắt kết nối một cách duyên dáng" đề cập đến bất kỳ lúc nào VPN rơi vì các lý do khác ngoài việc nhấp vào nút "Đăng xuất" trên máy khách phần mềm. Điều này xảy ra khi wifi bị rớt đủ lâu để khiến VPN bị rớt hoặc có lẽ tôi đã đóng màn hình laptop mà không nhớ ngắt kết nối, v.v.

Từ thiết bị đầu cuối, một ping đơn giản sẽ cho bạn kết quả như sau:

ping: sendto: Cannot allocate memory

Khởi động lại giải quyết vấn đề, nhưng điều đó là bất tiện.

Sử dụng ifconfig để thiết lập lại giao diện không hoạt động:

ifconfig en0 down
ifconfig en0 up

Không xả bảng bảng:

route -n flush

Tôi cũng đã thử thiết lập lại bộ đệm DNS (hoàn toàn không liên quan, nhưng tôi đoán rằng dù sao tôi cũng sẽ thử nó). Điều đó rõ ràng không hoạt động.

launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Điều cuối cùng hoạt động đáng tin cậy là tắt IPv4, và sau đó bật lại bằng các bước sau:

  1. Mở tùy chọn hệ thống
  2. Nhấp vào biểu tượng mạng
  3. Nhấp vào giao diện bị hỏng.
  4. Nhấp vào nút Nâng cao.
  5. Chọn TCP / IP
  6. Chọn "Tắt" trong Cấu hình IPv4.
  7. Chọn "OK"
  8. Chọn "Áp dụng".
  9. Thực hiện lại các bước 4 - 8, nhưng thay thế 6 bằng phương pháp cấu hình IP mong muốn của bạn.

Vì vậy, với câu hỏi của tôi ... Có cách nào để đạt được như các bước 1-9 ở trên từ dòng lệnh không? Lý tưởng nhất là tôi muốn có thể gọi một tập lệnh bash để thực hiện thiết lập lại.

Lưu ý: Điều này đã được thử nghiệm trên OS X Mountain Lion và OS X Yosemite. Tôi đã bỏ qua OS X Mavericks, vì vậy tôi đã bỏ qua thẻ cụ thể đó. Tôi có mọi lý do điều này cũng đúng với Mavericks, nhưng tôi không thể chứng minh điều đó.


"Máy khách VPN kết nối mạng của Juniper dường như để giao diện mạng OS X ở trạng thái không sử dụng được nếu nó không ngắt kết nối một cách duyên dáng." - Tôi không chắc chắn việc ngắt kết nối vô duyên đối với trường hợp của bạn là gì, nhưng chúng tôi đã chạy các thiết bị SA trong nhiều năm với các khách hàng OSX và chưa trải nghiệm những gì bạn đang thấy. Bạn đã kiểm tra với Juniper TAC về điều này chưa?
TheCleaner

Bất cứ khi nào kết nối mạng giảm xuống đủ lâu để giết VPN tôi sẽ bị bỏ lại trong trạng thái này. Thỉnh thoảng, wifi sẽ bị trục trặc hoặc có lẽ tôi đã đóng laptop trước khi ngắt kết nối đúng cách, v.v. Liên hệ với Juniper TAC đơn giản không phải là một lựa chọn trong trường hợp cụ thể của tôi.
Chuck Wolber

Kinh nghiệm của tôi là khi tôi được kết nối qua VPN thông qua kết nối Wi-Fi và kết nối Wi-Fi dừng đáp ứng (do chính sách phiên, lỗi mạng, v.v.), ứng dụng khách Juniper Network Connect bắt đầu yêu cầu mật khẩu gốc để "thay đổi" nhiều thứ. Bạn có thể giết máy khách và khởi động lại nó, thậm chí tắt và bật Wi-Fi, nhưng máy khách sẽ không bao giờ kết nối lại mà không khởi động lại. Không phải không có câu trả lời của Sunil P dưới đây.
Snapman

Câu trả lời:


8

Các lệnh này làm việc cho tôi.

Tắt IPv4:

sudo networksetup -setv4off Wi-Fi

Đặt nó trở lại DHCP:

sudo networksetup -setdhcp Wi-Fi

3
Công trình tuyệt vời. Và đối với kết nối có dây:s/Wi-Fi/Ethernet/
Chuck Wolber 13/12/14

Nếu thực hiện việc này từ xa (ví dụ TeamViewer), lệnh đầu tiên có thể sẽ phá vỡ kết nối, do đó hãy chạy cả hai lệnh trên cùng một dòng, cách nhau bằng dấu chấm phẩy.
mwfearnley

Trong trường hợp của tôi có tên khác nhau, networksetup -listallnetworkservicesnói cho tất cả.
Ed Randall

1

Có lẽ bạn đang tìm kiếm networksetup? Cụ thể là bật / tắt cuối cùng trong danh sách viết tắt này với các tùy chọn khác có thể trực tiếp hữu ích. (Chạy lệnh đó mà không có đối số để xem toàn bộ danh sách dài các tùy chọn.)

 Usage: networksetup -listnetworkserviceorder
      Display services with corresponding port and device in order they are tried for connecting
      to a network. An asterisk (*) denotes that a service is disabled.

 Usage: networksetup -listallnetworkservices
      Display list of services. An asterisk (*) denotes that a network service is disabled.

 Usage: networksetup -getnetworkserviceenabled <networkservice>
      Display whether a service is on or off (enabled or disabled).

 Usage: networksetup -setnetworkserviceenabled <networkservice> <on off>
      Set <networkservice> to either <on> or <off> (enabled or disabled).

1

Tôi thấy vấn đề này mỗi khi tôi tắt Network Connect VPN theo bất kỳ cách vô duyên nào . Tôi đã sử dụng câu trả lời được cung cấp ở trên và có một bí danh trong tôi/etc/profile

alias netbounce='sudo networksetup -setv4off Wi-Fi;sudo  networksetup -setdhcp Wi-Fi'

Bây giờ khi điều này xảy ra, tôi gõ netbounceở thiết bị đầu cuối và tất cả đều đúng với thế giới.


0

Xem bảng định tuyến và xóa tất cả các tuyến đến mạng cục bộ / VPN của bạn, sau đó thử kết nối lại với VPN của bạn.

sudo route delete 192.168.1.0

hoặc là :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.