LINUX.ORG.RU
ФорумAdmin

Шифрованный IP туннель средствами iproute2

 , ,


2

5

А можно ли сделать туннель между двумя машинами с шифрованием (без паранойи, можно просто psk, авторизация тоже не нужна) без демонов в юзерспейсе? Очень желательно что-то вроде foo-over-udp, чтобы снаружи оно было похоже на обычный трафик.

★★★★★

В теории ipsec без ike, чисто на psk возможен. Но можно ли в запустить его без демона я хз. Не видел нигде мануала для этого.
Банить его, скорее всего, будут, т.к. ip protocol 50 легко и непринужденно банится даже на самом тупом маршрутизаторe.

Khnazile ★★★★★
()

любая работающая система есть демон :)
точнее код, работающий гдето внутре компухтера, даже если он тебе как отдельный демон и не показан. т.е. смысла от демонов избавляться нет.

pfg ★★★★★
()

Если прям без демонов, то можно попробовать например модуль для iptables написать с простейшим шифрованием и авторизацией. Ну или для nftables нынче, только я не видел пока простых примеров модуля для nftables.

Stanson ★★★★★
()

без IKE, в первом приближении примерно так

ip xfrm state add src 1.1.1.1 dst 2.2.2.2 proto esp spi 0x1 reqid 0x1 mode tunnel aead ‘rfc4106(gcm(aes))’ <ключ> 128

с другого конца, соответственно src и dst поменять.

ну и полиси типа

ip xfrm policy add src 10.0.1.0/24 dst 10.0.2.0/24 dir out
tmpl src 1.1.1.1 dst 2.2.2.2
proto esp reqid 0x1 mode tunnel ip xfrm policy add src 10.0.2.0/24 dst 10.0.1.0/24 dir fwd
tmpl src 2.2.2.2 dst 1.1.1.1
proto esp reqid 0x1 mode tunnel ip xfrm policy add src 10.0.2.0/24 dst 10.0.1.0/24 dir in
tmpl src 2.2.2.2 dst 1.1.1.1
proto esp reqid $ID mode tunnel

с каждого конца, соответственно.

без демонов, в соответствии с ТЗ. но ipsec легко детектируемый, если это важно.

anonymous
()
Ответ на: комментарий от sergej

можно конечно амнезию, но хотелось бы что-то интегрированное в systemd

вы ведь понимаете что интеграция amneziaWG и systemd это создание одного текстового файла?

пишите ваши требования сразу, а не на ходу, чтобы я не гадал.

gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)
11 апреля 2025 г.
Ответ на: комментарий от anonymous

Вот так вроде заработало.

Шифруется трафик на существующем туннеле 192.168.123.1-192.168.123.2

Для 2й стороны поменять MY/REMOTE и IN/OUT

tcpdump показывает esp пакеты вместо icmp от пинга

#!/bin/bash -x

MYIP=192.168.123.1
REMOTEIP=192.168.123.2
ROUT=0x1
RIN=0x2

ip xfrm policy flush
ip xfrm state flush

ip xfrm state add src $MYIP dst $REMOTEIP proto esp spi 0x1 reqid $RIN mode tunnel aead 'rfc4106(gcm(aes))' 00112233445566778899 128
ip xfrm policy add src $MYIP dst $REMOTEIP dir out tmpl src $MYIP dst $REMOTEIP proto esp reqid $RIN mode tunnel

ip xfrm state add src $REMOTEIP dst $MYIP proto esp spi 0x1 reqid $ROUT mode tunnel aead 'rfc4106(gcm(aes))' 00112233445566778899 128
ip xfrm policy add src $REMOTEIP dst $MYIP dir in tmpl src $REMOTEIP dst $MYIP proto esp reqid $ROUT mode tunnel
sergej ★★★★★
() автор топика