Назад | Перейти на главную страницу

конфигурация firehol ipsec

Только что обнаружил, что Apple отказалась от поддержки pptp в новейших MacOS, поэтому вместо этого настроил доступ ikev2 ipsec. Клиенты довольны, все просто и хорошо, кроме одного - клиенты ipsec не могут получить доступ ни к каким службам, работающим на том же хосте, к которому они подключаются. Конечно, это можно легко сделать, используя прямую конфигурацию iptables, но я использую firehol в течение многих лет, и у меня есть большая конфигурация, и у меня нет времени, чтобы переписать ее обратно в правила iptables. И я понятия не имею, как указать доступ по ipsec на интерфейсе.

Подробности:

Предположим, у меня есть интерфейс eth1 wan для доступа в Интернет и внутренний интерфейс eth0 для локальной сети, и моя конфигурация firehol выглядит так:

interface eth1 inet
    protection strong
    policy reject

    server ESP accept
    server AH accept
interface eth0 lan 
    policy accept
    client all accept
    server all accept
router inet2lan inface eth1 outface eth0
    client all accept
router lan2inet inface eth0 outface eth1
    route all accept
    masquerade

Пока все хорошо, я могу подключиться к серверу через ipsec, и мои пакеты хорошо подключены к локальной сети. Но проблема в том, что я не могу подключиться к каким-либо службам, работающим непосредственно на сервере. Насколько я понимаю, это происходит потому, что ikev2 - это не настоящий vpn, а просто безопасное соединение с интерфейсом eth1, поэтому все политики для eth1 применяются к любому соединению esp / ah. Проверил отключив все правила eth1:

interface eth1 inet 
    policy accept
    client all accept
    server all accept

И обнаружил, что на самом деле в этом случае все работает нормально и все локальные службы доступны так же, как и lan.

Итак, у меня вопрос, как разделить конфигурации и сделать что-то вроде:

interface eth1 inet server ESP AH
    policy accept
    client all accept
    server all accept
interface eth1 inet server not ESP AH
    protection strong
    policy reject

    server ESP accept
    server AH accept

Это всего лишь образец, толком не работает, а может есть способ настроить такой доступ? Нигде не могу найти, может что то не то ищу? Насколько я понимаю, мне просто нужно заставить firehol выполнить что-то вроде:

iptables -I INPUT  --match policy --pol ipsec --dir in  --proto esp  -s 172.16.0.0/16 -j ACCEPT
iptables -I OUTPUT --match policy --pol ipsec --dir out  --proto esp  -d 172.16.0.0/16 -j ACCEPT

предполагая, что удаленный хост находится в 172.16 / 16. Но понятия не имею, как. Пожалуйста помоги.

Спасибо