Входящее / исходящее разделение для VPN

Моя ситуация в том, что я хочу, чтобы все мои исходящие подключения с моего сервера Debian проходили через коммерческую службу VPN, на которую я подписался, но я все же хочу запускать общедоступные службы на этом сервере и не пропускать их через VPN.

То есть у меня на этом сервере есть BIND9 (авторитарный), SMTP, Apache, SSH и я хочу, чтобы входящие подключения могли получать эти службы без использования VPN.

Чтобы уточнить, я только хочу использовать VPN, чтобы скрыть свои исходящие соединения, но все же могу отвечать на запросы на моем реальном IP-адресе для всего, что пришло в этом направлении.

Чтобы усложнить ситуацию, я использую BIND как авторитетный сервер для своего домена (в общедоступном Интернете), и у меня также включена рекурсия, поэтому я могу использовать его в качестве преобразователя для моей локальной сети (частный IP-диапазон). Возможно ли VPN для исходящих DNS-соединений из BIND, но все же позволить входящим запросам достичь авторитарного бита?

Я понимаю, что это связано с iproute2 , но я не могу понять правильную конфигурацию.

Я на Debian 6.0.7. VPN – это OpenVPN.

  • VPN с сетевым менеджером (nm-апплет) не работает
  • Шлюз Linux: как маршрутизировать NAT-соединения с использованием LAN через туннель OpenVPN?
  • Можно ли выполнить скрипт, который принимает пользовательский ввод, а затем выполнить другой скрипт
  • VPN-клиент для linux-машины + шлюз контрольной точки поддержки
  • Как начать переговоры с racoon VPN IKE автоматически?
  • Kali Linux openVPN не передает тест на утечку DNS
  • Операционная система Openswan ipsec не работает
  • Linux -> linux remote X login / desktop
  • One Solution collect form web for “Входящее / исходящее разделение для VPN”

    Вы должны использовать политическую маршрутизацию для ее реализации. Правила не будут слишком сложными.

    Ваш (основной) маршрут по умолчанию должен указывать на интерфейс VPN. Вероятно, вы, вероятно, используете --redirect-gateway def1 чтобы автоматически управлять --redirect-gateway def1 когда появляется VPN. Это делает OpenVPN переопределением маршрута по умолчанию по умолчанию с несколькими /1 маршрутами, которые имеют одинаковый эффект и гарантируют, что сам OpenVPN по-прежнему может достичь своего удаленного партнера обычным способом без очевидного цикла маршрутизации.

    Этот маршрут по умолчанию сделает локальный трафик, проходящий через VPN, и также будет давать ответы на трафик, который поступает через VPN, выходить из VPN.

    Теперь вы хотите переопределить это с помощью правила политики для пакетов, которые связаны с соединениями, входящими в интерфейс без VPN. Вы хотите, чтобы эти пакеты возвращались через интерфейс без VPN.

    Следующее должно выполнить это путем (1) соответствия пакетов, которые имеют открытый IP-адрес не VPN, в качестве исходного адреса, и попросить их маршрутизировать через другую таблицу маршрутизации, (2) в этой таблице маршрутизации, отправив все в исходное ( не VPN) по умолчанию.

     ip route add table 42 default via XYZW ip rule add from ABCD/32 table 42 

    ABCD должен быть вашим общедоступным (не VPN) IP-адресом, а XYZW должен быть вашим исходным маршрутом по умолчанию по умолчанию (через вашего интернет-провайдера, а не через VPN).

    Аналогичная конфигурация для трафика IPv6 остается для вас упражнением 🙂

    Linux и Unix - лучшая ОС в мире.