LINUX.ORG.RU
ФорумAdmin

Racoon на PPP интерфейсе

 ,


0

1

Всем привет!

Помогите заставить нормально подниматься racoon на ppp0 интерфейсе. Суть такая: связь с интернетом через pppoe со статическим IP. Система на debian 9. После загрузки системы интерфейс ppp0 поднимается какое-то время, а racoon запускает задолго ДО этого момента и на момент запуска не видя ppp0 интерфейс с заданным listen ip не видит этого самого IP и естественно игнорирует это listen. Но при этом запускается на других интерфейсах.
Если после запуска ppp0 сделать service racoon restart то всё будет хорошо.
Пробовал добавить в post-up интерфейса ppp0 перезапуск racoon, и этого всё равно мало. Почему-то именно в post-up listen всё ещё сваливается по ошибке. Если сделать sleep 30 секунд то как бы работает.
Но мне кажется это какой-то костыль. Неужели нельзя как-то более изящно?

Дистрибутив и версию ipsec-tools в студию.

У меня аналогичный use-case(только устройство tun стартует после racoon) - и racoon его прекрасно видит.

Правда у меня в конфиге есть remote anonymous и sainfo anonymous(и отсутствует директива listen), может из-за этого.

Собственно а зачем тебе вообще директива listen в такой топологии? Не проще ли прибить ненужные реквесты файрволом?

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte
$ lsb_release --all
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.5 (stretch)
Release:        9.5
Codename:       stretch
$ /usr/sbin/setkey -V[br]setkey @(#) ipsec-tools 0.8.2 (http://ipsec-tools.sourceforge.net)

а как без listen? что делать с этим блоком?

listen
{
        # сокет для управления racoon
        adminsock       "/var/run/racoon.sock" "root" "root" 0600;
        isakmp          my_ext_ip_1 [500];
        isakmp          my_ext_ip_2 [500];
        isakmp          192.168.10.100 [500];

        isakmp_natt     192.168.10.100 [4500];
        isakmp_natt     my_ext_ip_1 [4500];
        isakmp_natt     my_ext_ip_2 [4500];

#       isakmp          0.0.0.0 [500];
#       isakmp_natt     0.0.0.0 [4500];
        strict_address;
}
пробовал оставлять 0.0.0.0 вроде коннектится но не проходит авторизацию...

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

man racoon.conf

   Listening Port Specification
     listen { statements }
             If no listen directive is specified, racoon(8) will listen on all available interface addresses.

А, у тебя еще и strict_address задан. Оттуда же(из man):

             strict_address;
                     Requires that all addresses for ISAKMP be bound.  This statement will be ignored if you do not specify address definitions.
             When running in privilege separation mode, you need to restart racoon(8) to have changes to the listen section taken into account.

А по поводу «как без listen» - у меня это директивы нет вообще и никаких трудностей по этому поводу я не испытываю - racoonctl работает по дефолту - и права на socket там тоже абсолютно такие же как задаешь ты.

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

strict_address получается не даёт запуститься racoon если нет интерфейса на который настроен. Это было удобно - systemd старался перезапустить racoon пока он не запустится. Но это не помогало :(
Сейчас убрал listen вроде запускается. Посмотрим в реалях...
Спасибо.

Spider55 ()