Плутон, не находящий интерфейс на ipsec VPN

Необходимо будет провести его через некоторый тип вида, its' просто вопрос когда. Но то, что я подозреваю, что Вы ищете, является одноразовым соглашением. Ваш метод ваше дело, и существуют различные пути, которые могут быть быстрее.

Это сделало задание, но не стесняйтесь играть вокруг с другими путями.

echo "$(echo fine-grained | cat - sorted.txt | sort)" > sorted.txt

Вскрытый противоречия, начиная с внутренней подоболочки, чтобы не усекать файл прежде, чем считать его, свяжите отраженный вход с diskfile. Повторение его заключило в кавычки, сохраняет разрывы строки. Затем отсортируйте его.

Или уплотненный, с предложением Giles sort -m (и избегающий UUOC).

echo "$(echo fine-grained | sort -m - sorted.txt)" > sorted.txt
2
20.09.2014, 02:10
2 ответа

В конце концов, ответ на этот вопрос заключался в том, что провайдеры VPS openVZ должны иметь ядро, которое поддерживает ipsec и должно включать модули ipsec на хост-машине. Некоторые из наших провайдеров не стали бы делать этого, так как это было бы большим изменением для хост-машины. Вместо этого мы обнаружили, что все наши провайдеры поддерживают протокол openvpn и включили 'tun' на всех наших openvz VPS с нашими провайдерами.

0
27.01.2020, 22:58

У меня была похожая проблема при попытке заставить openswan/ipsec/pluto работать в контейнере Docker. С моей точно такой же базовой конфигурацией он работал на виртуальной машине VirtualBox Ubuntu 14.04.

Проблема, с которой я столкнулся, заключалась в запуске образа Ubuntu 14.04 с Docker на моей основной машине Arch Linux.

Я считаю, что суть проблемы заключается в этой строке:

pluto[439]: no public interfaces found

Чтобы действительно разобраться в этом, мне пришлось обратиться к исходному коду:

apt-get source openswan

Который можно найти здесь:

    openswan-2.6.38/programs/pluto/server.c:462:find_ifaces(void)                         
    openswan-2.6.38/programs/pluto/sysdep_bsd.c:201: find_raw_ifaces4(void)               
    openswan-2.6.38/programs/pluto/server.c:477:loglog(RC_LOG_SERIOUS, "no public interfaces found");

В то время как на VirtualBox Ubuntu 14.04 прекрасно находит eth0 и его адрес.

По сути, возможно, именно этот код не возвращает никаких интерфейсов:

    openswan-2.6.38/programs/pluto/sysdep_bsd.c:243: find_raw_ifaces4() : if (ioctl(master_sock, SIOCGIFCONF, &ifconf) == -1)

Пытаясь решить эту проблему, я обнаружил, что Docker ограничивает доступ к сетевым устройствам (по умолчанию он создает мост к хосту) и загрузке/выгрузке модулей ядра (ipsec загружает и выгружает модули ядра). Поэтому мне пришлось предоставить Docker доступ ко всему, включая использование необработанного сетевого интерфейса моего хоста:

docker run --cap-add=ALL --net=host -it ubuntu /bin/bash

Хотя это и не полный ответ на вопрос, надеюсь, он поможет другим понять, что не так в их собственной конфигурации. В идеале pluto должен давать больше информации о том, какие сетевые устройства он находит и почему другие не подходят (т.е. не являются общедоступными).

0
27.01.2020, 22:58

Теги

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