У меня есть несколько интерфейсов, доступных на машине с Ubuntu 20.04. Среди прочего enx0c5b8f279a64
и usb0
причем последний используется по умолчанию. Я хочу убедиться, что конкретный процесс, запущенный в терминале, будет использовать только один из этих интерфейсов (например, enx0c5b8f279a64
даже если другой интерфейс используется по умолчанию). Если этот процесс запущен и выбран enx0c5b8f279a64
интерфейс недоступен, не следует даже пытаться использовать какой-либо другой интерфейс в качестве запасного варианта (как если бы другие интерфейсы даже не существовали с точки зрения этого процесса).
я так думаю IP-сети
это путь, но у меня проблемы с реализацией любого рабочего решения. я пытался https://superuser.com/a/750412 однако я получаю Хост назначения недоступен
если я попытаюсь пропинговать 8.8.8.8
:(
Соответствующая часть айпи а с
вывод:
9: enx0c5b8f279a64: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 12:12:12:12:12:12 брд ff:ff:ff:ff:ff:ff
inet 192.168.7.100/24 brd 192.168.7.255 область глобальная динамическая noprefixroute enx0c5b8f279a64
valid_lft 84611sec предпочитаемый_lft 84611sec
inet6 2323::2323:2323:2323:2323/64 ссылка на область действия noprefixroute
valid_lft навсегда
10: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир 34:34:34:34:34:34 брд ff:ff:ff:ff:ff:ff
inet 192.168.42.**47**/24 brd 192.168.42.255 область глобальная динамическая noprefixroute usb0
valid_lft 1858 сек. selected_lft 1 858 сек.
inet6 4545:454:545:4545:454:5454:5454:5454/64 область глобальная временная устаревшая динамическая
valid_lft 2461 сек. preferred_lft 0 сек.
inet6 5656:565:656:5656:5656:5656:5656:5656/64 область глобальная устаревшая динамическая mngtmpaddr noprefixroute
valid_lft 2461 сек. preferred_lft 0 сек.
inet6 6767::6767:6767:6767:6767/64 ссылка на область действия noprefixroute
valid_lft навсегда
и таблица маршрутов:
маршрут -n
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 192.168.7.1 0.0.0.0 UG 100 0 0 enx0c5b8f279a64
0.0.0.0 192.168.42.129 0.0.0.0 UG 101 0 0 usb0
192.168.7.0 0.0.0.0 255.255.255.0 U 100 0 0 enx0c5b8f279a64
192.168.42.0 0.0.0.0 255.255.255.0 U 101 0 0 usb0
До сих пор все решения, которые я пробовал, начинались аналогичным образом:
# создать пространство имен
sudo ip netns добавить nspace0
# создать ссылку
sudo ip link add veth0 type veth имя однорангового узла veth1
# переместить ссылку
набор ссылок sudo ip veth1 netns nspace0
# СДЕЛАЙТЕ ВОЛШЕБСТВО
# (ни одно из решений, которые я пытался здесь адаптировать, мне пока не помогло).
...
# запустить процесс в пространстве имен (в качестве примера я использую curl)
sudo ip netns exec nspace0 curl ifconfig.me/ip
Но проблема в том МАГИЯ
часть. Я видел несколько подходов с мостами и другими решениями для переадресации IP-адресов. К сожалению, ни один из них не работал у меня до сих пор, и я не настолько разбираюсь в сетях, чтобы иметь возможность диагностировать и исправлять.