在 Linux Debian 9 上,我能够解析特定的本地域,例如my.sample-domain.local
使用诸如nslookup
或 之类的命令host
,但不能使用诸如ping
或 Postgres 客户端之类的其他命令psql
。
我认为像网络管理器这样的东西已经正确设置了我的 DNS 解析器(内容/etc/resolv.conf
),所以我不确定为什么会发生这种情况?
我与一位使用 Windows 10 的同事进行了核实,他们的主机文件中没有任何自定义条目,尽管在他们的情况下,Windows 版本ping
和 Postgres 的数据库 UI 可以按预期工作,将域解析为 IP 地址。
请参阅以下内容:
$ ping my.sample-domain.local
ping: my.sample-domain.local: Name or service not known
$ host my.sample-domain.local
my.sample-domain.local has address <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
$ ping -c 5 <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
PING <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN> (<THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>) 56(84) bytes of data.
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=1 ttl=128 time=1.16 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=2 ttl=128 …
Run Code Online (Sandbox Code Playgroud) 我正在配置运行 OpenWRT 的路由器,但我很难理解如何使用命令uci
(统一配置界面)来检查现有的配置文件。我想在 shell 脚本中自动执行此配置。
以防火墙配置为例,其/etc/config/firewall
长度为 195,因此使用cat
.
有多种规则,采用第一个:
root@OpenWrt:/etc/config# grep -B1 -A6 'Allow-DHCP-Renew' /etc/config/firewall
config rule
option name Allow-DHCP-Renew
option src wan
option proto udp
option dest_port 68
option target ACCEPT
option family ipv4
root@OpenWrt:/etc/config#
Run Code Online (Sandbox Code Playgroud)
我可以检查第一条规则 ( ) 的各个字段,@rule[0]
例如该字段name
:
root@OpenWrt:/etc/config# uci get firewall.@rule[0].name
Allow-DHCP-Renew
root@OpenWrt:/etc/config#
Run Code Online (Sandbox Code Playgroud)
但我看不到整个规则作为输出,我已经尝试过,uci get firewall.@rule[0].*
但这不是正确的语法。
没有uci
( man uci
) 的手册,因此我不确定在哪里可以找到有关如何使用该命令的信息。
这种“集体获得”到底有可能吗?