Маршрутизация через VPN с использованием шлюза по умолчанию

456
Dave Martin

У меня есть небольшая коробка Ubuntu, которая запускает некоторые службы, используемые в моей локальной сети и в Интернете. По умолчанию gw на этом поле - мой кабельный модем, и все работает нормально ... соответствующие записи переадресации портов находятся в маршрутизаторе для внешних служб.

Однако я хочу использовать это поле для маршрутизации некоторого трафика через VPN в другую страну (например, сценарий типа Netflix, но не в этом случае). Я настроил openvpn и использовал --route-noexec, так как я не хочу ничего маршрутизировать из коробки через VPN, чтобы мой VPN-канал работал, а моя таблица маршрутизации не изменилась.

Пока все хорошо .. теперь я хочу изменить адрес шлюза на других хостах в моей сети, чтобы он был хостом, на котором запущен openvpn, и чтобы он проходил через VPN-туннель. Я считаю, что для этой работы мне нужна отдельная таблица маршрутизации, поэтому я настраиваю фиктивный виртуальный интерфейс на том же уровне. С другим MAC-адресом и назначенным статическим IP. - скажем, 192.168.1.252 eth0: 1 (вместо 192.168.1.200 eth0)

Я установил новую таблицу маршрутизации, в которой шлюзом по умолчанию является IP-адрес интерфейса VPN tun0, и я включил IP Masquerade.

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

IP-правило добавить из таблицы 192.168.1.61 (где таблица 4 - это таблица маршрутизации к VPN-IP)

И изменение шлюза по умолчанию на 192.168.1.61 на 192.168.1.252

Я не хочу добавлять это правило - я только хочу изменить адрес шлюза устройства на этот виртуальный интерфейс на моем хосте.

Итак, вопрос в том, как с помощью iproute2 или iptables я могу обнаружить пакеты, которые были направлены на этот виртуальный интерфейс? Такое ощущение, что я все перепробовал, но я уверен, что есть решение этой проблемы.

1

0 ответов на вопрос

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