Я бы использовал пошаговый подход,объяснить
Сортировка файла 1
sort file1.txt > file1.sorted.txt
Извлеките интересующую часть из файла2 (и тоже отсортируйте)
awk '{print $5,$1,$7}' file2.txt | sort > file2_of_interest.txt
Объединить два выхода на основе ключа, который является столбцом 1 в обоих файлах
join file1.sorted.txt file2_of_interest.txt -1 1 -2 1
Вы можете комбинировать эти три шага, используя косвенное обращение -, но в конце вам нужно будет выполнить синтаксический анализ хотя бы одного файла. Также могут возникнуть опасения в случаях, когда столбец L в файле file2.txt не уникален и/или столбец 1 в файле file1.txt не уникален -, вам нужно будет разрешить их, вставив свою бизнес-логику, чтобы сделать ключ уникальным.
ping: sendmsg: Required key not available
означает, что это проблема маршрутизации криптоключа WireGuard . В WireGuard ключ связан с маршрутом и наоборот. Это внутренняя маршрутизация WireGuard, сделанная в дополнение к стандартной маршрутизации :
At the heart of WireGuard is a concept called Cryptokey Routing, which works by associating public keys with a list of tunnel IP addresses that are allowed inside the tunnel.
Это означает, что вы не добавили требуемыеAllowedIPs
(wg-quick
)/allowed-ips
(параметры прямой wg
команды ).
Когда интерфейс WG собирается отправить пакет, он сопоставляет IP-адрес назначения с открытым ключом AllowedIPs
, чтобы зашифровать его с помощью этого ключа. Когда интерфейс WG получает пакет, он проверяет исходный IP-адрес с помощью открытого ключа равноправного узла AllowedIPs
:. Это значение используется в обоих направлениях.
Чтобы исправить это, на ПК добавьте в конфигурацию соответствующую запись открытого ключа Magni Peer в быстрой конфигурации wg -и перезапустите туннель:
AllowedIPs = 192.168.131.0/24
На самом деле для этого конкретного случая AllowedIPs = 192.168.131.1,192.168.131.2
было бы достаточно.
Если вы уже можете пропинговать Magni (192.168.131.1 )с ПК, этого должно быть достаточно, при условии, что Magni настроен как маршрутизатор.
В противном случае можно сделать то же самое на другом узле WireGuard, Magni. Сделайте то же самое, чтобы соответствовать ПК, под записью открытого ключа однорангового компьютера:
AllowedIPs = 10.0.0.0/24
Снова AllowedIPs = 10.0.0.66
было бы достаточно, чтобы достичь здесь только PC.
Это можно сделать напрямую с помощью команды wg
вместо немедленного (и не сохраняемого )эффекта (в качестве примера здесь используется случайно сгенерированное значение открытого ключа узла ukFU7nbX5NoEJTLb5rizqcfB093fv8VfuLFA57q3oG4=
, пожалуйста, измените его к открытому ключу ПК):
wg set wg0 peer ukFU7nbX5NoEJTLb5rizqcfB093fv8VfuLFA57q3oG4= allowed-ips 10.0.0.0/24