2个网络接口连接到互联网。根据域名选择使用

die*_*rre 6 networking internet

这里启发的问题

设想

我住在大学附近的房子里。也就是说,学生 wifi 可以到达我家,所以我通常甚至在家里使用它。问题是,作为由大学系统管理员管理的 wifi,无法连接到某些 dns(例如,文件上传域,如 Rapidshare 或 megaupload)。好消息是我还有一个可以使用的 USB 互联网密钥,但是,基本上这就像意大利的所有互联网移动计划一样是一个骗局,因为在 20GB 之后,他们会切断我的带宽。

最后……问题

为了优化我的带宽使用,我想对我的 Ubuntu 说:如果我连接到 *.domain.com 使用这个接口,否则使用另一个。为了这个问题,让我们调用 wifiwlan0和 usb internet key ppp0

PS:这是一个非常具体的问题。不要建议诸如“使用 Tor,伙计”之类的东西。我不想滥用大学 wifi。我实际上不知道这是否与 Tor 有可能......但仍然...... :)

koa*_*ead 6

如果您的示例域“*.domain.com”具有静态 IP 地址块,您可以将静态路由添加到路由表中,例如:

me@thiscomputer:~$ whois domain.com
Run Code Online (Sandbox Code Playgroud)

这应该会为您提供一些 domain.com 所有者的联系信息。您可以联系他们以了解他们的网络地址。此地址可能采用 CIDR 格式,其中:192.168.0.0/24 ==“从 192.168.0.1 到 192.168.0.254 的 IP 地址集”。斜线后面的数字是地址网络部分的位数。这相当于 255.255.255.0 的网络掩码。

您还可以使用dig查找一些主机地址并尝试从中推断出网络块,或者只是添加到离散主机的路由,但我不建议这样做。

有了地址信息,您就可以添加静态路由,如下所示:

me@thiscomputer:~$ sudo ip route add inet 10.0.0.0/24 dev ppp0
Run Code Online (Sandbox Code Playgroud)

IRL 它可能不会完全像这样工作,请查阅 ip 命令或 route 命令的联机帮助页(这些是执行相同操作的不同命令,route 较旧并且是 coreutils 的一部分)以了解如何正确执行。

如果域的地址不是静态的(例如由 DHCP 配置),这对于具有持久 A 记录的站点来说似乎不太可能,您可以将上述方法应用于以比站点的 DHCP 租用更短的某个时间间隔运行的 cron 作业。您可能需要联系网站管理员来获取此信息,或者只是进行试验。如果作业每天运行一次,那可能就足够频繁了。