Можете ли вы заставить systemd -подключиться к сети, чтобы она принимала IPv6 RA *маршрут *, но не назначала автоматически -адрес **?

Предполагая, что у вас не <TAB>, а несколько пробелов в качестве разделителей полей, и, просмотрев и подсчитав ваши образцы данных, я пришел к

  $ sed -E 's/^(.{15}).{5}/\1/' file
   18DMA      H   0.886   5.687   5.320
   18DMA      H   1.019   5.764   5.247
   18DMA     Np   0.947   5.584   5.151
   18DMA      H   1.033   5.541   5.113
   18DMA     Cn   0.880   5.674   5.050
   18DMA      H   0.831   5.616   4.971
   18DMA      H   0.814   5.751   5.091
   18DMA      H   0.957   5.735   5.003
   18DMA     Cn   0.837   5.486   5.185

Он использует «обратную ссылку» для первых 15 символов, чтобы восстановить их с помощью \1в замещающей части команды замены s.

1
14.03.2021, 20:43
1 ответ

Лучшее решение зависит от того, хотите ли вы отключить автоматическую настройку адреса -для всей сети или только для одного устройства.

Для всей сети вы можете указать radvdне устанавливать флаг «автономный» в своих объявлениях. Это предотвратит автоматическую генерацию собственных адресов всеми системами в сети. Для этого вы можете использовать опцию AdvAutonomous.

Если вы хотите установить это на клиенте на уровне ядра, вам нужно сообщить ядру, чтобы оно не генерировало свои собственные адреса. Это проще всего сделать, создав /etc/sysctl.d/10-ipv6-autoconf.confс этим содержимым:

net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0

Этот файл обрабатывается после каждой перезагрузки. Вы можете активировать новые настройки вручную, запустив sudo sysctl --system.

Если вы хотите использовать systemd-networkd, должно работать следующее, но я сам не пробовал:

[Network]
IPv6AcceptRA=true
DHCP=yes

[IPv6AcceptRA]
UseAutonomousPrefix=false
3
18.03.2021, 22:25

Теги

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