Linux 中“ip route”与“route add -host”等效的是什么?

Linux 中“ip route”与“route add -host”等效的是什么?

具体来说,route add -host允许我通过主机名指定主机来添加到主机的路由,例如,

route add -host www.google.com gw 192.168.1.1

但是,我找不到使用 来实现这一点的方法ip route。我能得到的最接近的方法是

ip route add <ipaddrofhost>/32 via 192.168.1.1 dev eth0

我是否真的只能使用主机名?

答案1

“ip route add” 只能接受 IP 地址或前缀作为目标参数。文档(搜索“man 8 ip”)对此进行了明确描述。目标可以是 ADDR 或 PREFIX。ADDR 是 IP 地址或字符串“any”,PREFIX 是可选后跟 /length 的 IP 地址,或字符串“default”。

因此,没有直接等同于“route add -host some.host.fqdn”的命令。如果你的目标是单宿主机,并且可以通过 DNS 查询进行解析,则可以使用类似下面的命令:

ip route add `dig +short www.google.com`/32 via 192.168.1.1 dev eth0

但是,这对于多宿主主机不起作用,也不适用于 /etc/hosts 可解析的名称,也不适用于对多个主机使用单一名称的目标。

相关内容