web-dev-qa-db-ja.com

NetworkManagerに/etc/resolv.confを強制的に更新させるにはどうすればよいですか?

nmcli connection modify eth0 +ipv4.dns 8.8.8.8を使用して新しいDNSサーバーを追加した場合でも、リゾルバーが変更を取得できるように/etc/resolv.confを更新する必要があります。では、どうすれば更新を強制できますか?

私が見つけた唯一の方法は、ネットワークサービス/etc/init.d/network restartを再起動することでした。より侵襲性の低い方法はありますか-nmcliコマンドでしょうか?

14
Mihai

http://www.certdepot.net/rhel7-configure-ipv4-addresses/ に基づく

nmcli connection up eth0 

mod呼び出しの後に実行し、私のために働きました。

追伸「nmcli -p connection show eth0」を使用して、構成済みの設定とアクティブな設定を確認できます

6
maximbr
  • 設定可能なデバイスを表示:nmcli c s

    そのリストのNAMEまたはUUIDが必要になります。接続名がeth0であるとします。

  • Eth0の現在のIPv4 DNS設定を表示:nmcli c s eth0 | grep ipv4.dns:

  • IPv4 DNS設定をGoogle DNSエントリ8.8.8.8および8.8.4.4に設定します:Sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4"
  • 変更をシステムファイル(/etc/resolv.confなど)に保存するには、次のコマンドを使用します:Sudo nmcli c up eth0

ボーナス:

  • すべてをssh経由でリモートサーバーに対して実行します:ssh remote-server 'Sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4" && Sudo nmcli c up eth0'
1
MadMike

以下をインターフェース構成ファイル(/etc/sysconfig/network-scripts/ifcfg-ethX):

PEERDNS=yes
DNS1=1.2.3.4
DNS2=1.2.3.4
NM_CONTROLLED=yes

インターフェイスを起動します。

ifup ethX
0
GioMac

そのためには、ネットワークインターフェイス(eth0など)を特定する必要があります。

# nmcli  conn
NAME  UUID                                  TYPE            DEVICE
eth0  74315f7c-1573-4150-9c0e-e06ad28cac95  802-3-ethernet  eth0
#

# nmcli conn edit eth0

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'eth0'

Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> print ipv4.dns-search
ipv4.dns-search: mydomain.linux.com
nmcli>
nmcli> set ipv4.dns-search mylinuxdomain.com,anotherdomain.com
nmcli>
nmcli> save permanent

次に、ネットワークを再起動します。そのためにnmcliを使用します。1.ダウンさせる

# nmcli conn down eth0

2.育てる

# nmcli conn up eth0
0
Linux Cli Aik