我有两个网络接口,以太网和wifi。我想告诉我的计算机更好地使用wifi连接(无论何时连接)访问特定的域,并使用以太网电缆连接其他一切。
有什么办法可以让我用/etc/hosts,resolv.conf或者别的什么来摆弄它吗?
发布于 2021-07-13 15:57:05
好吧,看来我找到了解决办法。
检查设置了哪些路线:
$ ìp route show在我的例子中给出了这样的结果:
default via 192.168.0.1 dev enp0s31f6 proto dhcp metric 100
default via 192.168.200.68 dev wlp4s0 proto dhcp metric 600
169.254.0.0/16 dev enp0s31f6 scope link metric 1000
192.168.0.0/24 dev enp0s31f6 proto kernel scope link src 192.168.0.151 metric 100
192.168.200.0/24 dev wlp4s0 proto kernel scope link src 192.168.200.78 metric 600 这里的前两行分别显示我的以太网(enp0s31f6)和wifi (wlp4s0)的默认网关。
现在,为了查找我总是被禁止的域的IP,我使用dig命令如下:
$ dig +short a discord.com
162.159.137.232
162.159.135.232
162.159.128.233
162.159.136.232
162.159.138.232
$ dig +short a discord.gg
162.159.136.234
162.159.135.234
162.159.133.234
162.159.134.234
162.159.130.234然后在Wifi接口上为每个目标IP添加一个路由(使用我们从第一个命令获得的Wifi接口的默认网关):
sudo route add -host 162.159.137.232 gw 192.168.200.68等。
要在wifi连接时自动完成这些操作,如果您使用的是NetworkManager,可以向/etc/NetworkManager/dispatcher.d目录添加一个脚本。例如:
sudo nano /etc/NetworkManager/dispatcher.d/10-bloody-routes文件名开头处的10-表示优先级。dispatcher.d目录中的脚本在网络事件(接口连接、断开连接等)上按字典顺序运行。
我在这里输入了这个bash脚本来自动化上面提到的过程:
#!/bin/bash
if [ "$1" == "wlp4s0" ] && [ "$2" == "up" ]; then
gateway=`ip route | awk '/default/ { print $3 " " $5 }' | awk '/wlp4s0/ { print $1 }'`;
echo "What's up, $gateway: "`date` >> /home/trollkotze/smackmybitch.up;
echo discord.com >> /home/trollkotze/smackmybitch.up;
for x in `dig +short a discord.com`; do
echo route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
done;
echo discord.gg >> /home/trollkotze/smackmybitch.up;
for x in `dig +short a discord.gg`; do
echo route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
done;
fi;从脚本中可以看到,第一个和第二个参数是接口名称(在我的示例中我正在寻找wlp4s0)和事件(当接口联机时我正在查找up事件)。我在这里将一些日志添加到主目录中的一个文件中,以验证所有操作是否正常。
每当我现在连接我的wifi时,这个脚本就会运行,并添加适当的路径来解决wifi默认网关的问题。
https://askubuntu.com/questions/1351645
复制相似问题