Я не могу перенаправить трафик через VPN-туннель при использовании OpenVPN на прошивке OpenWRT.
Маршрутизатор - это WRT3200ACM, подключающийся к серверу OpenVPN в Ubuntu.
Клиент OpenVPN подключается, и я могу проверить ip-адреса в удаленной сети с консоли SSH на маршрутизаторе. Однако все мои клиенты Connectet в сети отключаются от Интернета, когда устанавливается соединение OpenVPN.
Конфигурация клиента OpenVPN в настоящее время выглядит так:
dev tun
proto udp
remote x.x.x.x 1194
cipher AES-256-CBC
auth SHA1
resolv-retry infinite
nobind
persist-key
persist-tun
client
redirect-gateway def1
verb 3
<ca>
-----BEGIN CERTIFICATE-----
REMOVED
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
REMOVED
-----END OpenVPN Static key V1-----
</tls-auth>
<cert>
-----BEGIN CERTIFICATE-----
REMOVED
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
REMOVED
-----END PRIVATE KEY-----
</key>
Эта конфигурация отлично работает на клиентах Windows и MacOS, и трафик маршрутизируется правильно, но как только я подключаю ее к маршрутизатору Linksys WRT3200ACM, все идет не так.
Я также тестировал использование прошивки dd-wrt на маршрутизаторе, но проблема была той же, однако при использовании dd-wrt невозможно было проверить удаленный IP-адрес, поэтому решение OpenWRT работает немного лучше.
Конфигурация локальной сети:
Network: 192.168.237.0
Subnet: 255.255.255.0
GW: 192.168.237.1
Конфигурация удаленной сети:
Network: 192.168.37.0
Subnet: 255.255.255.0
GW: 192.168.37.1
а конфигурация виртуальной сети OpenVPN:
Network: 10.8.0.0
Subnet: 255.255.255.0
GW: 10.8.0.1
IP-range: 10.8.0.6-10
OpenVPN server: 10.8.0.5
Думаю, в вашем случае это проблема маршрутизации. Вы заявляете, что конфигурация хорошо работает на ваших клиентах - следовательно, ваши клиенты получают IP-адрес в 10.8.0.6-10/24
диапазон и направлять весь трафик через Ubuntu. Отправляющий IP-адрес здесь 10.8.0.x
IP. Кроме того, при подключении ping работает с SSH от вашего локального маршрутизатора, но не от клиентов. Если вы хотите, чтобы все ваши клиенты подключались к Интернету через OpenVPN-туннель, то отправляющий IP-адрес 192.168.237.0
- отсюда и ваша локальная сеть. Сервер Ubuntu по умолчанию ничего не знает об этой сети. У вас есть два варианта:
192.168.237.0/24
доступен через 10.8.0.x
IP вашего роутера. Затем вы должны убедиться, что маршрутизатор всегда получает один и тот же IP-адрес.quagga-zebra
и quagga-ripd
на openwrt и ubuntu. Тогда вам не нужно заботиться о динамическом IP-адресе маршрутизатора в OpenVPN.Если сервер Ubuntu не имеет прямого доступа к Интернету и выполняет NAT, вам необходимо дополнительно распространить маршрут на ваше следующее устройство / брандмауэр, чтобы он мог вернуться к вашим клиентам. Либо через RIP, либо через статический маршрут. Вероятно, вам также придется настроить NAT-оператор.