具体来说,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 可解析的名称,也不适用于对多个主机使用单一名称的目标。