Передача L2TP через IPSec VPN через брандмауэр `pf`

0

Я пытаюсь настроить некоторые пользовательские правила pfбрандмауэра в брандмауэре в macOS (в данном случае 10.11). Это традиционные сетевые правила, а не правила для конкретного приложения. У меня есть некоторые проблемы:

Синтаксис кажется достаточно простым. Но мои правила не работают должным образом.

table <VPN> { 192.16.10.1/24 } persist
table <badhosts> persist

block in quick from <badhosts> to any
block in

pass in quick from <VPN> to any flags S/SA keep state
pass in quick proto tcp from any to any port { 25 80 443 587 993 } flags S/SA keep state
pass in quick proto { esp icmp ah } from any to any keep state
pass in quick proto udp from any to any port { 500 1701 4500 } keep state

Идея здесь такова:

  • <VPN> охватывает подключения, входящие из моей VPN, весь трафик VPN будет разрешен.
  • <badhosts> мой собственный список добавленных вручную IP-адресов, которые я хочу заблокировать.
  • Последние три правила должны позволять общему трафику подключаться к моему веб-серверу, почтовому серверу и устанавливать соединения с VPN

Изначально у меня были большие проблемы, но я немного покопался, пошел немного дальше и отредактировал этот пост.

Я получал синтаксическую ошибку в строке, block in quick from <badhosts> to anyкогда она была внизу. Я переместил его выше всех passоператоров, дал ему quickключевое слово, и больше не было синтаксической ошибки. Но почему это вызвало синтаксическую ошибку из-за того, что я внизу? Похоже, это должно было работать нормально там.

Что еще более важно, эта конфигурация, кажется, блокирует весь трафик, и она, по-видимому, разрешает общедоступному трафику доступ к сети и почтовому серверу. Но вдруг одна вещь, которую я не могу с этим сделать, это подключиться к VPN (то есть, на другой машине я не могу подключиться к этой машине, на которой работает VPN-сервер, потому что меня останавливает его брандмауэр).

Я надеюсь, что это единственная проблема, и как только я смогу подключиться к VPN, правило, касающееся трафика VPN, будет работать, как и ожидалось.

VPN имеет тип L2TP через IPSec. Я должен пропустить какой-то нечетный флаг или протокол, используемый для VPN, но я не знаю, что это такое.

l008com
источник
У вас есть несколько вопросов здесь. Этот сайт работает лучше, когда есть только один вопрос на вопрос. Таким образом, другим людям будет легче писать хорошие ответы, а другим - находить решения, если у них возникла та же проблема. Пожалуйста, задавайте вопросы отдельно.
Nohillside
Я упростил вопрос @nohillside, вы можете освободить трюм?
l008com