Пытаюсь настроить не самое популярное VPN решение govpn через tap интерфейсы.
Сконфигурировал на сервере:
ip tuntap add dev tap10 mode tap
ip addr add 172.16.0.1/24 dev tap10
ip link set up dev tap10
Сконфигурировал на клиенте:
ip tuntap add dev tap10 mode tap
ip addr add 172.16.0.2/24 dev tap10
ip link set up dev tap10
Если добавить на клиенте
ip route add 0/1 via 172.16.0.1
ip route add 128/1 via 172.16.0.1
из туториала, то сеть в принципе перестает отвечать. Я так понимаю, это из-за того, что трафик (включая коннект к серверу) пытается идти через внутренний tap10 интерфейс, но тот в свою не знает, как роутить трафик. (Подключение клиента к VPN серверу при такой конфигурации просто не происходит, клиент не может достучаться до сервера).
Без последних двух строк клиент может успешно пинговать сервер по 172.16.0.1, но весь остальной интернет трафик идет через стандартный интерфейс.
Посмотрел, как выглядит вывод ip route при подключении по OpenVPN, там 2 строки с default via появляется помимо остальных:
default via <ip на tun0> dev tun0 proto static metric 50
default via <ip на wlp3s0> dev wlp3s0 proto static metric 750
Таблицы iptables при этом пустые.
Возникает два вопроса:
1) Как система понимает, что трафик из tap/tun интерфейса в итоге на выходе из tap/tun идет через интерфейс, имеющий выход в сеть в случае с OpenVPN?
2) Как в итоге перенаправить весь интернет трафик через tap интерфейс? (Главный вопрос)