Назад | Перейти на главную страницу

Клиент OpenVPN на OpenWRT не маршрутизирует трафик через VPN на Linksys WRT3200ACM

Я не могу перенаправить трафик через 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 по умолчанию ничего не знает об этой сети. У вас есть два варианта:

  1. добавьте статический маршрут на вашем компьютере ubuntu в эту сеть 192.168.237.0/24 доступен через 10.8.0.x IP вашего роутера. Затем вы должны убедиться, что маршрутизатор всегда получает один и тот же IP-адрес.
  2. добавить протокол маршрутизации - например, RIP2. Вы можете легко включить это, установив quagga-zebra и quagga-ripd на openwrt и ubuntu. Тогда вам не нужно заботиться о динамическом IP-адресе маршрутизатора в OpenVPN.

Если сервер Ubuntu не имеет прямого доступа к Интернету и выполняет NAT, вам необходимо дополнительно распространить маршрут на ваше следующее устройство / брандмауэр, чтобы он мог вернуться к вашим клиентам. Либо через RIP, либо через статический маршрут. Вероятно, вам также придется настроить NAT-оператор.