Интерфейс докера отключает Wi-Fi интернет

Пара вопросов:

  1. вы смешиваете BRE и ERE (, например \(против (для группировки)

  2. ваш .*в конце должен быть внутри группы захвата, если вы хотите, чтобы результат включал все после IP

  3. ^.*в начале будет жадно потреблять столько символов, сколько сможет -включая все, кроме одной из первых цифр IP

Кроме того, .не нужно экранировать внутри []-, хотя это ничего не ломает.

Я не уверен, что это ПРАВИЛЬНЫЙ способ справиться с (3 )в sed, который (, в отличие от perl, говорит, что )не имеет не-жадного модификатора. Добавление слова -граничной привязки \bвроде бы работает, но кажется хрупким

Так что либо (BRE)

sed 's/^.*\(\b\([0-9]\{1,3\}[.]\)\{3\}[0-9]\{1,3\}.*$\)/\1/' <<< "$var"

или (ЭРЭ)

sed -E 's/^.*(\b([0-9]{1,3}[.]){3}[0-9]{1,3}.*$)/\1/' <<< "$var"
1
05.05.2021, 15:12
1 ответ

Оказывается, NetworkManager пытается управлять и назначать IP-адрес порту сетевого моста veth*(. Я предполагаю, что это связано с сетевым мостом docker0).

Все эти veth*появляются в списке ifconfigпосле того, как я вызываю docker runдля запуска контейнера Docker. У них есть другая суффиксная метка, которая является динамической, но их префикс всегда veth*.

Таким образом, решение состоит в том, чтобы потребовать от Network Manager игнорировать эти порты моста .

Я добавил в /etc/NetworkManager/NetworkManager.confэту конфигурацию с подстановочным знаком в имениveth*:

[keyfile]
unmanaged-devices=interface-name:veth*

Затем я перезапустил службу NetworkManager с помощью:sudo systemctl restart network-manager.service

После этого я смог перемещаться по Интернету, в то время как контейнеры Docker работали и прослушивали эти мостовые порты, такие как vethf6c1790.

1
28.07.2021, 11:35

Теги

Похожие вопросы