Я пытаюсь подключить Raspberry Pi в качестве клиента к серверу OpenVPN (Ubuntu 14.04.3). Ниже приведены мои настройки на стороне сервера и клиента.
# server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 5
# client.ovpn
client
dev tun
proto udp
remote 10.1.2.12 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert pi2.crt
key pi2.key
ns-cert-type server
log-append openvpn.log
verb 5
На стороне клиента я получаю этот журнал «Последовательность инициализации завершена». Но я не могу пинговать от клиента к серверу ping 10.8.0.1
или наоборот.
Если я изменю proto tcp
на обоих концах, то работает отлично.
Чтобы устранить проблему, я сделал следующее.
Проверено, может ли моя сеть обрабатывать трафик UDP с помощью
на сервере nc -l -u 1194
на клиенте nc -u 10.1.2.12 1194
Мне удалось связаться с сервером от клиента и наоборот.
Опустите MTU, добавив следующую конфигурацию на обоих концах
tun-mtu 1000
fragment 900
mssfix
Изменен порт UDP на более высокое значение, например 25000
Но до сих пор я не могу решить эту проблему. Любая помощь будет оценена по достоинству. Клиент-серверные журналы
Из руководства OpenVPN:
--topology mode
Configure virtual addressing topology when running in --dev tun mode.
This directive has no meaning in --dev tap mode, which always uses a
subnet topology.
If you set this directive on the server, the --server and --server-bridge
directives will automatically push your chosen topology setting to
clients as well. This directive can also be manually pushed to clients.
Like the --dev directive, this directive must always be compatible
between client and server.
mode can be one of:
**net30** -- Use a point-to-point topology, by allocating one /30 subnet
per client. This is designed to allow point-to-point semantics when some
or all of the connecting clients might be Windows systems. This is the
default on OpenVPN 2.0.
Из журналов OpenVPN вашего клиента: Строка 308:
Mon Aug 29 20:33:54 2016 us=826190 /sbin/ip addr add dev tun0 local 10.8.0.6 peer 10.8.0.5
Подсказка: вы "пингуете" неправильные адреса.
Подсказка 2: Что такое состояние брандмауэра?
Подсказка 3: включили ли вы пересылку IPv4: echo 1 > /proc/sys/net/ipv4/ip_forward
?