2013-04-25 53 views
3

,如果我有以下两个命令的脚本来修改路线Linux的路线与子域通配符添加-host * .domain.com

/sbin目录/路由添加-host pandora.com - 接口ppp0的 /sbin目录/ route add -host internal-tuner.pandora.com -interface ppp0

有没有一种方法可以创建一个类似* .pandora.com的独特命令路径?

回答

2

我认为答案是否定的。当使用dns名称而不是ip地址添加路由时,route命令首先执行的操作是查找并将其转换为IP地址。因此,如果pandora.com现在解析为172.16.0.1,那么该机器实际上做的是通过ppp0向172.16.0.1/32添加路由。当机器决定如何路由数据包时,它会使用您设置的IP地址和掩码,无论您使用的域名在该阶段被长期遗忘。

为了添加域中所有机器的路由,你必须知道所有的IP地址,这意味着你需要知道所有的主机名。如果您的DNS服务器设置为允许这样的事情,那么您可以在pandora.com域中查询所有内容,但是现在很少有dns服务器会允许这类事情发生。

但是......如果你知道pandora.com中的所有东西都有一个IP地址,例如172.16.0.0和172.16.0.255(所谓的网络块,你可以使用whois )你可以为整个网络添加一条路由,例如:

ip route add 172.16.0.0/24 dev ppp0 

请注意,我使用iproute2命令而不是/ sbin/route。