netconfig 不会更改 opensuse 12.2 上的 DNS

netconfig 不会更改 opensuse 12.2 上的 DNS

我尝试在 openvpn 连接后更新我的 dns 服务器,但是 netconfig 不会为我执行此操作。

以下是我现在尝试执行的操作(手动):

/sbin/netconfig modify -v -i tap0 -s openvpn <<-EOF
INTERFACE='tap0'
DNSSERVERS='10.10.0.1'
EOF

详细输出如下:

debug: lockfile created (/var/run/netconfig.pid) for PID 5530
debug: lockfile created
debug: write new STATE file /var/run/netconfig//tap0/netconfig0
debug: Module order: dns-resolver dns-bind dns-dnsmasq nis ntp-runtime
debug: dns-resolver module called
debug: Static Fallback
debug: Use NetworkManager policy merged settings
debug: exec get_dns_settings: /var/run/netconfig/NetworkManager.netconfig
debug:      get_dns_settings: service 'NetworkManager' => rank '1'
debug:      get_dns_settings: DNS_SEARCHLIST_1='mydomain.com'
debug:      get_dns_settings: DNS_SERVERS_1='192.168.0.1'
debug: exit get_dns_settings: /var/run/netconfig/NetworkManager.netconfig
debug: write_resolv_conf: ' mydomain.com ' ' 192.168.0.1 '
debug: No changes for /etc/resolv.conf
debug: dns-bind Module called
debug: dns-dnsmasq Module called
debug: nis Module called
debug: Static Fallback
debug: Use NetworkManager policy merged settings
debug: exec get_nis_settings: /var/run/netconfig/NetworkManager.netconfig
debug: exit get_nis_settings: /var/run/netconfig/NetworkManager.netconfig
debug: set_nisdomainname:  eth0 24
debug: set_nisdomainname: => yes
debug: set_nisdomainname: old[]=, new[24]=
debug: format_yp_conf called with :
debug: Using static fallback
debug: format_static[0] called
debug: No changes for /etc/yp.conf
debug: nis domainname '' is up to date
debug: ntp-runtime Module called
debug: Static Fallback
debug: Use NetworkManager policy merged settings
debug: exec get_ntp_settings: /var/run/netconfig/NetworkManager.netconfig
debug:      get_ntp_settings: NTP_SERVER_LIST=''
debug: exit get_ntp_settings: /var/run/netconfig/NetworkManager.netconfig

我一直试图在网上寻找相关内容,但未能如愿。我不知道该如何解决这个问题。

有什么想法吗?

答案1

相关配置在/etc/sysconfig/network/config

当 NetworkManager 启用时(NETWORKMANAGER="yes"),就像你的情况一样,默认的 DNS 更新策略

NETCONFIG_DNS_POLICY="auto"

翻译为

NETCONFIG_DNS_POLICY="STATIC_FALLBACK NetworkManager"

如 netconfig(8) 手册页中所述。这意味着包括静态 DNS 地址,后面跟着 NetworkManager 提供的地址。

您通过手动提供的信息netconfig modify被视为来自tap0,因此不包括在内。

要包含您的信息,您需要设置

NETCONFIG_DNS_POLICY="* STATIC_FALLBACK NetworkManager"

其中*通配符匹配来自任何接口的动态信息,或者你可以更具体

NETCONFIG_DNS_POLICY="tap0 STATIC_FALLBACK NetworkManager"

请注意,由于/etc/netconfig.d/dns-resolver编写方式的原因,NetworkManager 之后的任何策略都会被忽略。

相关内容