Рейтинг:0

Как настроить новый (настроенный DHCP) интерфейс с несистемным маршрутом по умолчанию, используя systemd/networkd?

флаг jp

Я пытаюсь настроить систему Linux, поэтому во время загрузки/добавления нового модема (отображается как usb0 интерфейс ) любая привязка ПО к интерфейсу модема (usb0) IP# будет использовать предлагаемый модемом GW/маршрутизацию вместо системной маршрутизации/GW по умолчанию. Я пытаюсь использовать systemd/networkd, но пока безуспешно :( ниже того, что я пытаюсь:

Имея /etc/systemd/сеть/usb0.сеть [1] который должен настроить интерфейс с DHCP, установить GW и значение по умолчанию в таблице маршрутизации 101 он же через_usb0.

Подключив модем [2] я вижу IP# назначенный для usb0 [3], таблица политик маршрутизации обновлена ииф usb0/если usb0 записи [4] и через_usb0 создана таблица маршрутизации [5].

Q1: Почему я не могу пропинговать usb0 ГВ сейчас?

# пинг 192.168.42.129 
пинг: подключение: сеть недоступна

Маршрут до 192.168.42.129 нужно брать из локальной таблицы [6], верно?

Q2: Почему пингуется usb0 GW явно через usb0 не работает с марсианскими пакетами, записанными в журнале ядра [7], хотя я вижу, как они ходят туда-сюда usb0 интерфейс [8]?

# пинг 192.168.42.129 -я usb0
PING 192.168.42.129 (192.168.42.129) от 192.168.42.20 usb0: 56 (84) байт данных.
^ С
--- Статистика пинга 192.168.42.129 ---
2 пакета передано, 0 получено, 100% потери пакетов, время 1016 мс

Q3: Почему добавление явного IP-правила для исходного IP-адреса usb0 помогает решить проблему из Q2? После

ip правило добавить из таблицы 192.168.42.20 pref 103 via_usb0

Я получаю ответ ping (и марсиане не зарегистрированы):

# пинг 192.168.42.129 -я usb0
PING 192.168.42.129 (192.168.42.129) от 192.168.42.20 usb0: 56 (84) байт данных.
64 байта от 192.168.42.129: icmp_seq=1 ttl=64 время=0,674 мс

Не должна иф/оиф правила

101: со всех iif usb0 искать via_usb0
102: из всех oif usb0 поиск via_usb0

хватит ли использовать маршрутизацию через via_usb0?

Q4: Есть ли другой рабочий способ для достижения моей цели?

Спасибо заранее за любые данные.

[1]:

[Соответствовать]
Имя=usb0

[Сеть]
IPForward=да
DHCP=ipv4
DNSDefaultRoute = ложь


[DHCPv4] 
Усероутес=истина
Таблица маршрутов = 101
Усегейтвей=истина
UseDNS=ложь
UseNTP=ложь
ИспользованиеSIP=ложь
UseHostname=false
Уседомаинс=ложь
UseTimezone = ложь

[Правило политики маршрутизации]
Семья = ipv4
ВходящийИнтерфейс=usb0
Таблица = 101
Приоритет = 101

[Правило политики маршрутизации]
Семья = ipv4
ИсходящийИнтерфейс=usb0
Таблица = 101
Приоритет = 102

[2]:

ядро: usb 1-1: новое высокоскоростное USB-устройство номер 6 с использованием xhci_hcd
ядро: usb 1-1: найдено новое USB-устройство, idVendor=04e8, idProduct=6860, bcdDevice= 4.00
ядро: usb 1-1: Новые строки USB-устройства: Mfr=2, Product=3, SerialNumber=4
ядро: usb 1-1: Продукт: SAMSUNG_Android
ядро: usb 1-1: Производитель: SAMSUNG
ядро: USB 1-1: Серийный номер: 42000352b6245200
ядро: cdc_acm 1-1:1.1: ttyACM0: устройство USB ACM
networkd-dispatcher[1068]: ПРЕДУПРЕЖДЕНИЕ: обнаружен неизвестный индекс 6, перезагружается список интерфейсов
systemd-udevd[13537]: используется схема именования интерфейса по умолчанию «v245».
systemd-udevd[13537]: ethtool: автосогласование отключено или включено, скорость и дуплекс недоступны для записи.
systemd-networkd[13409]: usb0: Соединение вверх
systemd-networkd [13409]: usb0: полученный носитель

[3]:

6: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние НЕИЗВЕСТНО группа по умолчанию qlen 1000
    ссылка/эфир 5a:a3:60:fd:ed:4a brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.20/24 brd 192.168.42.255 область глобальная динамическая noprefixroute usb0
       valid_lft 3491 сек.

[4]:

# ip правило показать
0: из всех локальных поисковых систем
101: со всех iif usb0 искать via_usb0
102: из всех oif usb0 поиск via_usb0
32766: из всех основных поисковых запросов
32767: из всех поисковых запросов по умолчанию

[5]:

# ip route показать таблицу via_usb0
по умолчанию через 192.168.42.129 dev usb0 proto dhcp src 192.168.42.20 метрика 1024 
192.168.42.0/24 dev usb0 proto dhcp scope link src 192.168.42.20 
192.168.42.129 dev usb0 proto dhcp scope link src 192.168.42.20 метрика 1024

[6]:

# ip route show table local
широковещательная передача 10.41.0.0 dev tinc_korns ссылка на прото-ядро src 10.41.1.2 
local 10.41.1.2 dev tinc_korns прото область ядра host src 10.41.1.2 
широковещательная передача 10.41.255.255 dev tinc_korns ссылка на прото-ядро src 10.41.1.2 
широковещательная передача 127.0.0.0 dev lo proto ссылка на область ядра src 127.0.0.1 
local 127.0.0.0/8 dev lo proto область ядра host src 127.0.0.1 
local 127.0.0.1 dev lo proto область ядра host src 127.0.0.1 
широковещательная передача 127.255.255.255 dev lo proto ссылка на область ядра src 127.0.0.1 
широковещательная передача 192.168.42.0 dev usb0 ссылка на область действия ядра src 192.168.42.20 
local 192.168.42.20 dev usb0 область ядра proto host src 192.168.42.20 
широковещательная передача 192.168.42.255 dev usb0 ссылка на область ядра proto src 192.168.42.20

[7]:

ядро: IPv4: марсианский источник 192.168.42.20 с 192.168.42.129, на dev usb0

[8]:

# tcpdump -i usb0 -n
10:44:08.361514 IP 192.168.42.20 > 192.168.42.129: эхо-запрос ICMP, идентификатор 4, последовательность 1, длина 64
10:44:08.362095 IP 192.168.42.129 > 192.168.42.20: эхо-ответ ICMP, идентификатор 4, последовательность 1, длина 64

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

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