Я установил статическое соединение OpenVPN один на один нормально. Однако я не могу заставить клиента направлять весь трафик через устройство VPN. Вот мои конфиги:
Конфигурация клиента:
remote 89.21.xx.xx
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
Конфигурация сервера:
dev tun
ifconfig 10.8.0.1 10.8.0.2
push "redirect-gateway def1"
secret static.key
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
verb 5
Из всех исследований, которые я провел, строка конфигурации сервера нажмите "redirect-gateway def1" должен заставить клиентов маршрутизировать весь трафик через VPN. Однако этого эффекта нет. Я могу пинговать / ssh / http на сервер на 10.8.0.1, и таблица маршрутизации клиента выглядит, как показано ниже, но нормальный трафик идет по обычному (небезопасному) маршруту:
root@t42:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.69.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
0.0.0.0 192.168.69.1 0.0.0.0 UG 0 0 0 wlan0
Вы должны иметь "pull" в конфигурации вашего клиента, чтобы иметь возможность "проталкивать" настройки с сервера.
Как только вы это добавите, все должно работать так, как вы ожидаете.
(если вы используете директиву «client», она в основном расширяется до «pull» и «tls-client»)
В def1
аргумент меняет поведение redirect-gateway
немного. Это сродни:
route add 0.0.0.0/1 gw <vpn_endpoint>
Это гарантирует, что маршрут VPN имеет приоритет, но не удаляет существующий маршрут по умолчанию.
Что касается отладки проблемы, я бы предложил:
push
.def1
аргумент и попросите его заменить маршрут по умолчанию, чтобы увидеть, влияет ли он на поведение.Вы можете запустить route add default gw 10.8.0.1
(вручную или автоматически при подъеме туннеля); это добавит маршрут. Поочередно у меня есть push "route 0.0.0.0 0.0.0.0"
в конфигурации OpenVPN, которая выполняет для меня маршрут по умолчанию, и это тоже работает.