Уважаемое сообщество serverfault,
В настоящее время я переношу «нормальный» брандмауэр IPTABLES с сервером OpenVPN на новый ящик, содержащий Endian Community Firewall 2.5.1.
Новый межсетевой экран Endian содержит сервер OpenVPN; однако я не могу использовать новый сервер с этими настройками, поскольку у пользователей VPN есть особые требования.
Поэтому я заменил конфигурацию сервера VPN в поле Endian (а также шаблон для файла конфигурации VPN).
Проблема в том, что я должен использовать в качестве устройства tun0, а не tap0. Endian не поддерживает tun0 естественно и каким-то образом использует tap0 в качестве устройства VPN.
Это приводит к правилам IPTABLES, которые применяются только к устройствам с ответвлениями. Поэтому мне пришлось применить некоторые правила IPTABLES вручную, чтобы получить OpenVPN со старой конфигурацией и работающим устройством tun0.
Когда я перезагружаю свой новый блок Endian, эти правила снова перезаписываются (tap0 вместо tun0). Я выяснил, почему эти правила IPTABLES генерируются с помощью tap0: / var / efw / openvpn / settings -> PURPLE_DEVICE = tap0
Endian использует этот файл для создания правил IPTABLES. Когда я меняю значение PURPLE_DEVICE на tun0 и регенерирую правила IPTABLES, все работает. К сожалению, перезагрузка окна Endian перезаписывает файл настроек, и я не узнал, как я могу предотвратить это.
Итак - как я могу навсегда изменить файл настроек, чтобы он всегда содержал PURPLE_DEVICE = tun0?
Я уже редактировал / usr / lib / efw / openvpn / default / settings, но, к сожалению, это не имеет никакого эффекта.
Я не могу установить неизменяемый бит в этом файле, так как Endian его не поддерживает.
Редактирование /usr/lib/python2.4/site-packages/endian/restartscripts/openvpnjob.py помогло: функция get_tap () выполняет поиск устройств с ответвлениями; просто переключите поиск на tun.