我最近在我的工作计算机上安装了 Ubuntu GNOME,替换了 Windows 7,因为我将做很多 Linux 开发工作。
我们的许多配置和开发脚本都使用公司网络服务器的缩短 URL。也就是说,他们使用http://server而不是http://server.location.company.com. 我在 Windows 中从未遇到过这些 URL 的问题,但我无法让它们在 Ubuntu 中正常工作。对我来说,简单地输入整个完全限定的 URL 是不可行的,因为在各种脚本中到处都使用了缩写形式,但我能够访问长形式的 URL。
当我使用Dell SonicWall NetExtender VPN 客户端连接到公司的 VPN 时,缩短的 URL 可以正常工作。
根据我迄今为止所做的研究,我认为我需要location.company.com在 Ubuntu 上将其配置为搜索域,但到目前为止我尝试这样做都失败了。这是我尝试过的:
location.company.com作为搜索域,并放入我们的 DNS 服务器。这没有明显的区别。dpkg-reconfigure resolvconf以确保它动态更新 resolv.conf。我还担心此时我已经尝试了几种不同的方法,它们可能会相互干扰。我知道在过去几年中,Ubuntu 更改了此配置的某些部分,并且很难找到最新的信息。我并不完全清楚网络管理器、resolvconf、dhclient 和其他配置文件在最新版本的 Ubuntu 中如何协同工作。
所以,我的问题是:如何配置我的计算机以使短格式 URL 在 Ubuntu 14.10 中正常工作?
或者,我应该使用哪些网络配置程序来执行此操作,我应该如何配置它们,以及如何验证它们是否正常工作?
谢谢你的帮助!如果我可以提供任何其他信息,请告诉我。
编辑:这是 my /etc/resolv.conf,我相信它是由 resolvconf 生成的。
# Add Company …Run Code Online (Sandbox Code Playgroud) 在 127.0.0.53 喜欢的 systemd 的 DNS 似乎正在工作,除非我按名称查询本地机器。但是,如果我查询它们并专门指定本地 DNS 服务器(我的路由器),那么我会得到正确的答复。但是配置文件说它也使用路由器作为搜索地址。有什么想法吗?
我在戴尔笔记本电脑上运行 Ubuntu 18.04。
结果不正确:
$ nslookup web1
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find web1: SERVFAIL
Run Code Online (Sandbox Code Playgroud)
也失败
$ nslookup -i wlp3s0 web1
nslookup: couldn't get address for 'web1': not found
Run Code Online (Sandbox Code Playgroud)
正确结果:
$ nslookup web1 192.168.1.1
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: web1
Address: 192.168.1.107
Run Code Online (Sandbox Code Playgroud)
配置信息 systemd-resolve
$ systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp …Run Code Online (Sandbox Code Playgroud) 当我在 Ubuntu 18.04 上 ping google.com 时,它给了我
ping: google.com: Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)
然后我会继续跑步
sudo service systemd-resolved start
Run Code Online (Sandbox Code Playgroud)
我的 /etc/resolv.conf 有一个符号链接,如图所示
/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf
Run Code Online (Sandbox Code Playgroud)
内容如下
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently …Run Code Online (Sandbox Code Playgroud) 从 Ubuntu 16.04 升级到 17.10 后,DNS 设置似乎不再起作用。我想这可能与从resolvconf到的迁移有关systemd-resolv。
如何确保已安装的软件包和配置处于 17.10 预期的默认状态?
例如,我注意到resolvconf已安装并删除了它。然而,这并没有解决问题。我猜还有更多步骤可以确保它使用 17.10 默认设置。
我可以通过在/etc/resolv.conf(例如nameserver 8.8.8.8)中显式设置名称服务器来使其(暂时)工作,但这不是预期的方法。
我正在设置 Ubuntu Server 20.04 系统作为 LAN 和 WAN 之间的网关。我无法正确配置 DNS。
我的 2 个接口有 2 个 netplan 配置文件。
内部 eth 接口 (LAN)
root@gate:~# cat /etc/netplan/01-eth_int.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp4s0:
addresses: ['10.0.10.1/24']
match:
macaddress: 00:60:e0:76:9e:e7
set-name: eth_int
version: 2
Run Code Online (Sandbox Code Playgroud)
外部 eth 接口 (WAN)
root@gate:~# cat /etc/netplan/02-eth_ext.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp5s0:
addresses: ['10.200.56.254/24']
gateway4: 10.200.56.1
nameservers:
addresses: [195.78.215.228, 195.78.223.228]
addresses: [8.8.8.8, 8.8.4.4]
match:
macaddress: 00:60:e0:76:9e:e8
set-name: eth_ext …Run Code Online (Sandbox Code Playgroud) dns ×5
networking ×3
18.04 ×2
14.10 ×1
16.04 ×1
17.10 ×1
netplan ×1
resolv.conf ×1
server ×1
upgrade ×1