ฉันจะบังคับให้ NetworkManager อัปเดต /etc/resolv.conf อย่างไร


14

หากฉันเพิ่มเซิร์ฟเวอร์ DNS ใหม่โดยใช้nmcli connection modify eth0 +ipv4.dns 8.8.8.8ฉันยังต้องอัปเดต/etc/resolv.confเพื่อให้ตัวแก้ไขทำการรับการเปลี่ยนแปลงใช่ไหม ดังนั้นฉันจะบังคับให้อัปเดตได้อย่างไร

วิธีเดียวที่ฉันพบคือการรีสตาร์ทบริการเครือข่าย: /etc/init.d/network restart. มีวิธีการบุกรุกน้อยกว่า - nmcliคำสั่งอาจ?


คุณต้องการให้ NetworkManager อัพเดตด้วยอะไร
Konrad Gajewski

เพิ่มคำอธิบายให้กับคำถาม
หมดเขต

เนื่องจาก nmcli ของฉันไม่มีคำสั่งแก้ไขนี้ฉันสามารถเดาได้เท่านั้น :) ลอง: resolvconf -u
Konrad Gajewski

คำตอบ:


6

ขึ้นอยู่กับhttp://www.certdepot.net/rhel7-configure-ipv4-addresses/

nmcli connection up eth0 

ทำงานหลังจากเรียก mod ทำงานสำหรับฉัน

PS คุณสามารถใช้ "nmcli -p connection show eth0" เพื่อดูการตั้งค่า vs active ที่กำหนดค่าไว้


ประหยัดนิ้วของคุณ! สามารถย่อทุกทางที่จะconnection c
Michael Hampton

น่าสนใจบทความช่วยเหลือโดย RH แนะนำnmcli c reloadว่าไม่สามารถเปลี่ยนรายการ DNS ได้
Rots

1
  • แสดงอุปกรณ์ที่พร้อมใช้งานเพื่อกำหนดค่า: nmcli c s

    คุณจะต้องมีชื่อหรือ UUID ของรายการนั้น eth0สมมติว่าชื่อการเชื่อมต่อ

  • แสดงการตั้งค่า IPv4 DNS ปัจจุบันของ eth0: 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'

0

เพิ่มรายการต่อไปนี้ในไฟล์คอนฟิกูเรชันของอินเตอร์เฟส ( /etc/sysconfig/network-scripts/ifcfg-ethX):

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

นำอินเทอร์เฟซขึ้น:

ifup ethX

0

หากต้องการทำเช่นนั้นคุณจะต้องระบุส่วนต่อประสานเครือข่ายของคุณ (เช่น 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 เพื่อทำเช่นนั้น:

# nmcli conn down eth0

2. เพื่อนำมาขึ้น

# nmcli conn up eth0

คุณจะ ไม่จำเป็นที่จะต้องนำมาลงในการเชื่อมต่อ เพียงแค่ทำเพื่อประหยัดnmcli conn up eth0 /etc/resolv.conf
MadMike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.