Debian がインストールされたノートブックがあります。ネットワークはNetworkManagerを介して設定されます。今は時々、あなたのデバイスを有線イーサネットポートに接続してからワイヤレスで接続したいと思います。これまではとてもよかったです。イーサネットポートを無視するには、まずNetworkManagerを手動でシャットダウンする必要があります。それ以外の場合は、イーサネットポートを設定しようとすると、必要な静的アドレスが妨げられます。今私の質問は次のとおりです。 dbusコマンドを使用してNetworkManagerに一定期間eth0を無視するように指示するにはどうすればよいですか?それから管理しますか?
答え1
~からDebian Wiki:
Debian Squeeze 以降、NetworkManager はデフォルトで /etc/network/interfaces で定義されたインタフェースを管理しません。
したがって、静的イーサネット構成をinterfaces
ファイルに入れてNetworkManager
完全に管理されないようにする必要があります。私の考えでは、あなたも少しできると思います。インターフェースマッピング必要に応じて、ブリッジ構成と「一般」構成を自動的に切り替えます。
答え2
長い話を短く
nmcli device set eth0 managed false
.
.
.
nmcli device set eth0 managed true
注:ルートである必要はありません。
ネットワーク管理者
古いですが、これはまだ非常に良い質問であり、答えは長年にわたって変更されました。幸いなことに、今ははるかに簡単になりました。このnmcli
コマンドは、コマンドラインからNetwork Managerを制御し、特定のインターフェイスを管理されていない状態に保つ必要があることを通知するために使用できます。
nmcli device set eth0 managed false
Network Manglerにインターフェイス管理を再開させるには、反対のコマンドを実行します。
nmcli device set eth0 managed true
次のように入力して、コンピュータのさまざまなネットワークインタフェース(ネットワーク管理者はこれを「デバイス」と呼びます)の状態を表示できますnmcli devices
。
$ nmcli device
DEVICE TYPE STATE CONNECTION
wlan0 wifi connected Mother Brain (66GHz)
p2p-dev-wlan0 wifi-p2p disconnected --
eth1 ethernet unavailable --
enx00505b01d4d3 ethernet unavailable --
eth0 ethernet unmanaged --
lo loopback unmanaged --
nmcliの使い方
nmcliには、コマンドラインで-hを使用していつでも検索できる優れた使用情報があります。たとえば、
$ nmcli device set -h
Usage: nmcli device set { ARGUMENTS | help }
ARGUMENTS := DEVICE { PROPERTY [ PROPERTY ... ] }
DEVICE := [ifname] <ifname>
PROPERTY := { autoconnect { yes | no } |
{ managed { yes | no }
Modify device properties.
タブ補完機能を有効にした場合は、apt install bash-completion
nmcliのコンテキストに合った完成機能が非常に便利です。たとえば、設定したいデバイスの名前が覚えていない場合は、nmcli device set
TABを2回入力して押すと、すべての可能性が表示されます。また、時間とタイプミスも節約されます。マイコンピュータに入力できます。
nmcli device set enx
タブをクリックすると完了です。
nmcli device set enx00505b01d4d3
答え3
残念ながら、それは不可能です。これDバスAPIすべての種類のワイヤレスデバイスを無効にできますが、有線デバイスを無効にすることはできません。有線接続を無効にする唯一の方法は、無効にすることです。みんな無線装置を含む装置。
おそらく有線デバイスの場合は、「自動接続」ボックスを選択解除すると便利です。これにより、NetworkManagerは自動的に接続されません。
答え4
nmcli
マンページで見つけた内容です。これがどのディストリビューションで動作するのかわかりませんが、使用していますUbuntu 12.04 LTS
これは、デバイスが切断されたとマークされているため、ネットワーク管理者の制御を受けません。
nmcli dev disconnect iface eth0
ケーブルを抜かない限り大丈夫です。
以下でデバイスの状態を確認できます。
nmcli dev status
現在、次の機関とアクティブリンクが確立されています。
nmcli con status
このヘルパースクリプトを作成しました。nm-manual-interface
#!/bin/bash
DEV=${1:-help}
shift
OPER=${1:-manual}
shift
if [ "$DEV" == "help" ]; then
echo -n "$0 "
cat <<'EOH';
<DEV> [manual|auto]
Change <DEV> to disconnected state for nm.
In short take manual control of <DEV>.
All changes are temporary.
Usage:
Change to manual:
EOH
echo $0 eth0 manual
echo
echo Change back to nm control:
echo $0 eth0 auto
echo
exit 1
fi
# store last uuid of device here
LASTUUIDFILE="/tmp/.nm-last-uuid-${DEV}"
if [ "$OPER" == "manual" ]; then
if [ -n "$DEV" ] ; then
UUIDNET=$(nmcli con status |grep "$DEV" | perl -anle 'print @F[1]')
if [ -n "$UUIDNET" ]; then
echo "$UUIDNET" > $LASTUUIDFILE
nmcli dev disconnect iface "$DEV"
fi
fi
fi
if [ "$OPER" == "auto" ]; then
if [ -f "$LASTUUIDFILE" ]; then
nmcli con up uuid $(cat "$LASTUUIDFILE") --nowait
rm "$LASTUUIDFILE"
else
echo No last-state uuid file for iface "$DEV"
fi
fi