NetworkManagerおよびdnsmasq dhcpアドレス範囲

NetworkManagerおよびdnsmasq dhcpアドレス範囲

ここでXubuntu 16.04を実行します。私の問題は、dnsmasqNetworkManagerが起動するとdnsmasq.confファイルが無視されることです。代わりに NetworkManager は次のように起動します。/etc/dnsmasq/etc/NetworkManager/dnsmasq.d/etc/NetworkManager/dnsmasq-shared.ddnsmasq

9949 ?        S      0:00 /usr/sbin/dnsmasq --conf-file --no-hosts --keep-in-foreground --bind-interfaces --except-interface=lo --clear-on-reload --strict-order --listen-address=10.42.0.1 --dhcp-range=10.42.0.10,10.42.0.254,60m --dhcp-option=option:router,10.42.0.1 --dhcp-lease-max=50 --pid-file=/var/run/nm-dnsmasq-wlan1.pid --conf-dir=/etc/NetworkManager/dnsmasq-shared.d

10.42.0.10,10.42.0.254,60mシステムがアドレス範囲を指定している場所が見つかりません。

これはどこから来たのですか? ? ?

答え1

わかりました、わかりました。ソースコードから直接ファイル:nm-dnsmasq-manager.c

/ * dnsmasqはデフォルトの設定ファイルの場所から読み取ることができます。これはここのオプションと組み合わせて、その場所が有効な設定ファイルの場合は望ましくない副作用を引き起こす可能性があります。ゲートウェイなどで偽のIPアドレスを送信するのと同じです。したがって、dnsmasqに設定ファイルを使用しないように指示してください。 */

NetworkManager は dnsmasq 設定値を嫉妬し、外部干渉を許可しません。 NetworkManagerはdnsmasqを起動するコマンドラインを内部的に構築して実行し、プロセスに--conf-file(空白)ディレクティブを含め、ユーザーまたはシステム提供のdnsmasq設定ファイルの使用を防ぎます。

答え2

背景/理由:Lennard PoetteringプロジェクトのNetworkManagerは、Unixのすべてに公的に敵対的であり、GNUを置き換えようとします。これLinux". したがって、"すべてがファイルである"という実証済みの原則を避けます。背後にあるいくつかの「自動」ステータスファイルを使用して設定用のコマンドラインインタフェースを提供します(LinuxはまだUnixyなので想像しています)。

予想されるソリューション

だからそうなるの故意に構成する必要があるのは

nmcli connection modify MyConnection ipv4.addresses 10.42.1.1/24 # Set the IP range here
nmcli connection up MyConnection # Restart the connection to apply it

Linux Mintでは、接続を編集し、IPv4タブとIPv6タブのアドレスの下のテーブルに行を追加することで、GUIを介してこれを行うこともできます。 (これは混乱しており、「自動」アドレスを削除せずにセカンダリアドレスのみを割り当てることがあります。)

プロフェッショナルなソリューション

あるいは、これらのコマンドで変更されたファイルを変更して何もしたくない場合でも、これらの変更を適用できます。 (会社ネットワークでコンピュータを構成する場合と同じです。)Linux Mintでは、次のようになります。

vi /etc/NetworkManager/system-connections/MyConnection.nmconnection # Or in my case, is just copy the file over from my central storage.
nmcli connection reload # Only necessary when there is no boot following
nmcli connection up MyConnection # ditto

ノート

いずれにせよ、ファイルセクションのフィールドMyConnectionで見つけることができる接続名に置き換えます。 (ファイル名は一部の特殊文字を超える可能性があるため、まったく同じではありません。手動で行う場合は同じである必要はありません。nmcli connectionid[connection].nmconnection別の言葉.)

たとえば、10.42.1.1/24サーバーの独自のIPを10.42.1.1に設定し、クライアントに10.42.1.2から10.42.1.254の範囲のIPを提供するようです。サーバーのIPを個別に設定できる方が良いかもしれませんが、少なくともそれを行います。

ここに含まれていないのは、2つのネットワークを接続して2つのネットワークを接続する必要がある場合です。同じIP範囲。 (通常はWIFI経由で接続されているノートブックに似ていますが、イーサネットケーブルを介して接続すると、より速い速度のために同じサーバーのIPアドレスが得られます。)

関連情報