Рейтинг:0

Предпочитать WIFI для доступа к определенным доменам

флаг ge

У меня есть два сетевых интерфейса, для Ethernet и Wi-Fi. Я хотел бы сказать своему компьютеру, чтобы он предпочтительно использовал соединение Wi-Fi (когда бы оно ни было подключено) для доступа к определенным доменам и использовал соединение Ethernet-кабеля для всего остального.

Могу ли я каким-либо образом настроить это, играя с /и т.д./хосты, resolv.conf или что?

Dev avatar
флаг cn
Dev
Отвечает ли это на ваш вопрос? https://askubuntu.com/a/4890
Dev avatar
флаг cn
Dev
Отвечает ли это на ваш вопрос? [привязать программное обеспечение к разным сетевым интерфейсам](https://askubuntu.com/questions/4872/bind-software-to-other-network-interfaces)
trollkotze avatar
флаг ge
Это похожий вопрос, который ставит немного другую проблему, но вместо этого ответ, похоже, решает почти ту же проблему, что и у меня (но маршрутизирует подсеть, а не несколько IP-адресов). Между тем я ответил на свой вопрос. Детали в моем решении выглядят немного иначе, поэтому я не уверен, что другой ответ сработал бы именно для меня. Возможно, некоторые детали также отличаются из-за того, что другому ответу 11 лет. (Моя среда — Linux Mint 20.1). Так что ответ "может быть".
Dev avatar
флаг cn
Dev
Я не знал, что SE добавил второй комментарий для меня. На самом деле забавно, что они оба выглядят одинаково
Рейтинг:0
флаг ge

Ладно, кажется, я нашел решение.

Проверьте, какие маршруты настроены:

$ ìp показать маршрут

что в моем примере дает такой результат:

по умолчанию через 192.168.0.1 dev enp0s31f6 proto dhcp metric 100 
по умолчанию через 192.168.200.68 dev wlp4s0 proto dhcp metric 600 
169.254.0.0/16 dev enp0s31f6 метрика ссылки области 1000 
192.168.0.0/24 dev enp0s31f6 ссылка на область действия ядра src 192.168.0.151 метрика 100 
192.168.200.0/24 dev wlp4s0 proto kernel scope link src 192.168.200.78 метрика 600 

Первые две строки здесь показывают шлюзы по умолчанию для моего Ethernet (enp0s31f6) и Wi-Fi (wlp4s0) соответственно.

Теперь, чтобы найти IP-адреса доменов, где меня всегда банят, я использую копать землю команда следующим образом:

$ копать + короткий дискорд.ком
162.159.137.232
162.159.135.232
162.159.128.233
162.159.136.232
162.159.138.232
$ dig +короткий дискорд.gg
162.159.136.234
162.159.135.234
162.159.133.234
162.159.134.234
162.159.130.234

Затем добавьте маршрут для каждого из этих IP-адресов назначения через интерфейс Wi-Fi (используя шлюз по умолчанию для интерфейса Wi-Fi, который мы получили из первой команды):

sudo route add -host 162.159.137.232 gw 192.168.200.68

и т.д.

Чтобы делать это автоматически при каждом подключении Wi-Fi, если вы используете NetworkManager, вы можете добавить скрипт в /etc/NetworkManager/dispatcher.d каталог. Например:

sudo nano /etc/NetworkManager/dispatcher.d/10-bloody-routes

10- здесь в начале имени файла обозначается приоритет. Скрипты в диспетчер.d каталоги запускаются в лексикографическом порядке по сетевым событиям (интерфейс подключен, отключен и т. д.)

Я ввел этот скрипт bash здесь, чтобы автоматизировать вышеупомянутый процесс:

#!/бин/баш

if [ "$1" == "wlp4s0" ] && [ "$2" == "up" ]; тогда
  шлюз = `IP-маршрут | awk '/default/ { print $3 " " $5 }' | awk '/wlp4s0/ { print $1 }'`;
  echo "Как дела, $gateway: "`date` >> /home/trollkotze/smackmybitch.up;
  echo discord.com >> /home/trollkotze/smackmybitch.up;
  для x в `копать +short a discord.com`; делать
    echo route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
    route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
  сделано;
  echo discord.gg >> /home/trollkotze/smackmybitch.up;
  for x в `dig +short a discord.gg`; делать
    echo route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
    route add -host $x gw $gateway >> /home/trollkotze/smackmybitch.up;
  сделано;
фи;

Как видно из скрипта, первый и второй аргумент — это имя интерфейса (в моем случае я ищу wlp4s0) и событие (я ищу вверх событие, когда интерфейс переходит в онлайн). Я добавил некоторые журналы в файл в моем домашнем каталоге, чтобы убедиться, что все работает.

Всякий раз, когда я подключаю свой Wi-Fi, этот скрипт запускается и добавляет соответствующие маршруты в Discord через шлюз Wi-Fi по умолчанию.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.