Прокладка Wireguard

опенсл

Программа openssl выполняет тесты на простоту:

$ a=31
$ openssl prime 31
1F (31) is prime

$ openssl prime 18446744073709551557      
FFFFFFFFFFFFFFC5 (18446744073709551557) is prime

Команда указана в справке(openssl help):

$ openssl help 2>&1 | grep prime
pkeyparam         pkeyutl           prime             rand

Подробная информация о фактической команде дана(-helpили --help):

.
$ openssl prime -help
Usage: prime [options] [number...]
  number Number to check for primality
 -help         Display this summary
 -hex          Hex output
 -generate     Generate a prime
 -bits +int    Size of number in bits
 -safe         When used with -generate, generate a safe prime
 -checks +int  Number of checks

Также возможны очень длинные числа (2^521 )-1 (Число Мерсенна со 157 десятичными разрядами):

$ time openssl prime $(BC_LINE_LENGTH=0 bc <<<'2^521-1')
1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
(6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151)
is prime

real    0m0.042s

Две другие утилиты, не связанные с openssl, но связанные с простыми числами::


Простые числа и множитель:

primes - generate primes in a range factor - factor numbers

$  echo $(primes 10 50)
11 13 17 19 23 29 31 37 41 43 47

$ openssl prime 11 13 17 19 23 29 31 37 41 43 47
B (11) is prime
D (13) is prime
11 (17) is prime
13 (19) is prime
17 (23) is prime
1D (29) is prime
1F (31) is prime
25 (37) is prime
29 (41) is prime
2B (43) is prime
2F (47) is prime

$ factor 11 13 17 19 23 29 31 37 41 43 47
11: 11
13: 13
17: 17
19: 19
23: 23
29: 29
31: 31
37: 37
41: 41
43: 43
47: 47

$ factor 18446744073709551557
18446744073709551557: 18446744073709551557

$ factor 18446744073709551559
18446744073709551559: 41 163 269 8807 1165112831

Довольно близко к максимальному (со знаком )64-битное целое число:

$ printf '%X\n' 18446744073709551559 $(( (2<<63) - 1 ))
FFFFFFFFFFFFFFC7
FFFFFFFFFFFFFFFF
0
01.09.2020, 21:10
2 ответа

посмотри здесь , но пусть это немного сведется к твоей проблеме:

Вы можете использовать iptables для пометки пакетов на порт назначения 22

iptables -t mangle -A PREROUTING -i eth0 -p tcp -m tcp --dport 22 -j MARK --set-mark 22

Таким образом, вы можете вставить правило с высоким приоритетом для маршрутизации этих пакетов через eth0

ip rule add priority 32000 fwmark 22 table 22
ip route flush table 22
ip route add table 22 default dev eth0

Не проверял, и возможным побочным эффектом может быть то, что вы больше не сможете подключиться к порту 22 через VPN

0
18.03.2021, 23:08

После некоторых исследований я обнаружил, что мне не нужна маршрутизация, которую wg -quick делает после установления соединения. Итак, решение довольно простое. Проведите линию

Table = off

в разделе [Interface]. Это предписывает wg -не создавать правила и маршруты для ip.

0
18.03.2021, 23:08

Теги

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