web-dev-qa-db-ja.com

OS XコマンドラインIPv4インターフェースのリセット

ジュニパーのネットワークコネクトVPNクライアントは、OS Xネットワークインターフェイスが正常に切断されない場合、OS Xネットワークインターフェイスを使用できない状態のままにするようです。

編集:「正常に切断する」とは、ソフトウェアクライアントの「サインアウト」ボタンをクリックする以外の理由でVPNがドロップしたときを意味します。これは、WiFiがVPNをドロップするのに十分な長さでドロップするか、おそらく切断を忘れてラップトップ画面を閉じた場合などに発生します。

端末から単純なpingを実行すると、次の結果が得られます。

ping: sendto: Cannot allocate memory

再起動すると問題は解決しますが、それは不便です。

Ifconfigを使用してインターフェースをリセットしても機能しません。

ifconfig en0 down
ifconfig en0 up

どちらもルートテーブルをフラッシュしません。

route -n flush

DNSキャッシュのリセットも試みました(まったく関係ありませんが、とにかく試してみると思いました)。それは明らかにうまくいきませんでした。

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

最終的に確実に機能したのは、IPv4をオフにしてから、次の手順でオンに戻すことでした。

  1. システム設定を開く
  2. ネットワークアイコンをクリックします
  3. 壊れたインターフェースをクリックします。
  4. [詳細]ボタンをクリックします。
  5. TCP/IPを選択します
  6. IPv4の設定で「オフ」を選択します。
  7. 「OK」を選択
  8. 「適用」を選択します。
  9. 手順4〜8を再度実行しますが、6を目的のIP構成方法に置き換えます。

だから私の質問に...コマンドラインから上記のステップ1から9と同じことを達成する方法はありますか?理想的には、bashスクリプトを呼び出してリセットを実行できるようにしたいと考えています。

注:これはOS X Mountain LionとOS X Yosemiteでテストされています。 OS X Mavericksをスキップしたので、その特定のタグを省略したのはそのためです。これはマーベリックスにも当てはまるすべての理由がありますが、それを証明することはできません。

10
Chuck Wolber

これらのコマンドは私のために働いた。

IPv4のシャットダウン:

Sudo networksetup -setv4off Wi-Fi

DHCPに戻す:

Sudo networksetup -setdhcp Wi-Fi
8
Sunil P

ngratefulの方法でNetwork Connect VPNを終了するたびに、この問題が発生します。私は上記で提供された答えを使用し、/etc/profile

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

これが発生したとき、ターミナルでnetbounceと入力すると、すべてが正しく行われます。

1
Jonathan.Wagner

多分あなたはnetworksetupを探していますか?具体的には、この便利なリストの最後にあるオン/オフと、直接役立つ他のオプションがあります。 (引数なしでこのコマンドを実行すると、オプションの膨大な長いリスト全体が表示されます。)

 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
Patrick Tudor

ルーティングテーブルを参照し、ローカル/ VPNネットワークへのすべてのルートを削除してから、VPNに再接続してください。

Sudo route delete 192.168.1.0

とか、ぐらい :)

0