首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >既然Ubuntu 18,为什么openvpn的client.ovpn:"dhcp-option xxx.xxx“配置/etc/ Since?

既然Ubuntu 18,为什么openvpn的client.ovpn:"dhcp-option xxx.xxx“配置/etc/ Since?
EN

Ask Ubuntu用户
提问于 2019-01-02 23:16:22
回答 2查看 6.5K关注 0票数 3

我正在尝试用Ubuntu 18安装openvpn客户端。

代码语言:javascript
复制
$ sudo apt-get install openvpn 
$ sudo apt-get install openvpn-systemd-resolved 
$ sudo openvpn --client --config ./client.ovpn
Wed Jan  2 16:24:14 2019 OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep  5 2018
Wed Jan  2 16:24:14 2019 library versions: OpenSSL 1.1.0g  2 Nov 2017, LZO 2.08
...

<14>Jan  2 15:58:07 update-systemd-resolved: Link 'tun0' coming up
<14>Jan  2 15:58:07 update-systemd-resolved: Adding IPv4 DNS Server 172.17.0.1
<14>Jan  2 15:58:07 update-systemd-resolved: Setting DNS Domain mycompany.com
<14>Jan  2 15:58:07 update-systemd-resolved: Adding IPv4 DNS Server 172.17.0.1
<14>Jan  2 15:58:07 update-systemd-resolved: Adding IPv4 DNS Server 8.8.8.8
<14>Jan  2 15:58:07 update-systemd-resolved: Setting DNS Domain mycompany.com
<14>Jan  2 15:58:07 update-systemd-resolved: Setting DNS Domain mycompany.com
<14>Jan  2 15:58:07 update-systemd-resolved: SetLinkDNS(4 3 2 4 172 17 0 1 2 4 172 17 0 1 2 4 8 8 8 8)
<14>Jan  2 15:58:07 update-systemd-resolved: SetLinkDomains(4 1 mycompany.com false)
Wed Jan  2 15:58:12 2019 ROUTE remote_host is NOT LOCAL
Wed Jan  2 15:58:12 2019 /sbin/ip route add 96.78.182.190/32 via 172.20.10.1
Wed Jan  2 15:58:12 2019 /sbin/ip route add 8.8.8.8/32 metric 101 via 172.27.232.1
Wed Jan  2 15:58:12 2019 /sbin/ip route add 172.27.224.0/20 metric 101 via 172.27.232.1
Wed Jan  2 15:58:12 2019 /sbin/ip route add 172.17.0.0/16 metric 101 via 172.27.232.1
Wed Jan  2 15:58:12 2019 Initialization Sequence Completed

其中:

代码语言:javascript
复制
$ tail ./client.ovpn  # Recently downloaded from the openvpn server
...   # Appended this magic
....  # from here: https://askubuntu.com/questions/1032476/ubuntu-18-04-no-dns-resolution-when-connected-to-openvpn
script-security 2
dhcp-option DNS 172.17.0.1
dhcp-option DOMAIN mycompany.com
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre

如果我看看:

代码语言:javascript
复制
$ ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Nov 21 16:53 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

$ cat /etc/resolv.conf
nameserver 127.0.0.53     <<< SHOULD BE  172.17.0.1
search mycompany.com

因此,openvpn客户端似乎没有像Ubuntu 14那样配置/etc/resolv.conf。如果没有这种配置,如果我"ping git“或"ping git.mycompany.com”来查找我们的内部git服务(或任何内部服务),我只需为所有ping请求设置电缆调制解调器的IP地址。

如果我按照client.ovpn的要求编辑/etc/rupv.conf并将127.0.0.53替换为172.17.0.1,那么所有操作都很好。

为什么这个client.ovpn不导致Ubuntu 18中的/etc/rupv.conf更新?

奇怪的是,systemd-resolve不同意/etc/resolv.conf的观点。这是怎么回事?

代码语言:javascript
复制
$ systemd-resolve --status
Global
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      ...
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test


Link 4 (tun0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 172.17.0.1
                      8.8.8.8
          DNS Domain: mycompany.com

Link 2 (wlp2s0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 172.20.10.1
                      fe80::1c71:e8cb:d5ec:89ef

对于dig,至少不管systemd-resolve --status报告了什么,都被忽略了:

代码语言:javascript
复制
$ dig git

    ; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> git
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55917
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 65494
    ;; QUESTION SECTION:
    ;git.               IN  A

    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.53#53(127.0.0.53)      <<< Not the DNS I want
    ;; WHEN: Wed Jan 02 15:41:39 PST 2019
    ;; MSG SIZE  rcvd: 32

没有帮助的相关问题:

EN

回答 2

Ask Ubuntu用户

发布于 2019-05-26 23:20:07

这并不是对这个问题的直接回答(我不知道为什么/etc/rupv.conf没有正确更新--但不管为什么,真正的问题不是),而是一个根本问题的解决方案。在尝试了很多我在这里和其他地方读到的东西之后,这是唯一对我有用的东西:

在/etc/systemd/ line中,将该行中的"yes“更改为"no”(必要时取消注释),以便以以下方式结束:

DNSStubListener=no

我相信这样做是告诉系统不要查看/etc/rupv.conf(在我的例子中,它只指向127.0.0.53 -它没有OpenVPN提供的名称服务器,正如最初的问题所提到的那样)。我的猜测是,不允许依赖/etc/解析式. upon迫使它回到OpenVPN正在提供的另一个(正确) DNS设置上。

请注意,在dnsmasq运行时,这将不起作用(至少对我不起作用),所以如果安装了该服务,请停止该服务并将其设置为不运行

请注意,这假设Ubuntu18.04,并且可能这里和其他地方提到的其他解决方案已经实现,包括安装了openvpn-systemd-resolvedresolvconf,并在.ovpn文件中包括了必要的行:

代码语言:javascript
复制
script security 2
up /etc/openvpn/update-systemd-resolved
up-restart
down /etc/openvpn/update-systemd-resolved
down-pre

尽管我怀疑这个修复使得所有这些都变得无关紧要了,因为它是从/etc/ some之外的某个地方获得DNS的,我相信这就是update解析脚本应该修复的地方(但对某些人来说不是这样)。

票数 3
EN

Ask Ubuntu用户

发布于 2019-01-03 00:39:38

以下:DNS设置为systemd的127.0.0.53的?

如果我安装了解析器,那么:

代码语言:javascript
复制
$ sudo apt install resolvconf
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

..。所以我想127.0.0.53,==,不管systemd-resolve --status说什么。

没有必要修改/etc/resolvconf/resolv.conf.d/tail

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1106419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档