У меня установлен OpenVPN на сервере Debian. Клиенты могут подключаться, а клиенты могут пинговать и получать доступ к ресурсам (общие ресурсы Samba и интрасеть) на сервере.
Однако сервер не может пинговать клиента - он просто истекает.
Client OpenVPN assigned IP: 10.67.15.26
↓ UDP on 1194
Internet
↓
Router port-forwards 1194 to server
↓
Server LAN IP: 10.67.5.1
port 1194
proto udp
dev tun
server 10.67.15.0 255.255.255.0
push "route 10.67.5.0 255.255.255.0"
Destination Gateway Genmask Flags Metric Ref Use Iface
10.67.15.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.67.15.0 10.67.15.2 255.255.255.0 UG 0 0 0 tun0
10.67.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 10.67.5.254 0.0.0.0 UG 0 0 0 eth1
Я временно отключил брандмауэр сервера, политики всех цепочек ПРИНЯТ и все флаги пересылки установлены:
1 : /proc/sys/net/ipv4/conf/all/forwarding
1 : /proc/sys/net/ipv4/conf/default/forwarding
1 : /proc/sys/net/ipv4/conf/lo/forwarding
1 : /proc/sys/net/ipv4/conf/eth1/forwarding
1 : /proc/sys/net/ipv4/conf/tun0/forwarding
1 : /proc/sys/net/ipv4/ip_forward
клиент: ping 10.67.5.1
работает, как и другие ресурсы.
сервер: ping 10.67.15.26
время вышло.
Сравнивая двух разных клиентов, я смог выявить и исправить 2 проблемы.
По какой-то причине (и я не уверен, что я решил эту проблему) таблица маршрутизации сервера постоянно забывала маршрут в / из своей локальной сети (10.67.5.0/24). Это приводило к тому, что весь исходящий трафик локальной сети проходил через его основной шлюз, который не направлялся в локальную сеть OpenVPN (10.67.15.0/24). Это приводило к сбою трафика из сети OpenVPN, предназначенной для LAN, на главном шлюзе; Таким образом, пинги были отправлены, но ответ был сброшен.
Редактировать: К сожалению, я не знаю, из-за чего этот маршрут был сброшен; как вы можете видеть, это было в таблице маршрутизации выше. Я попытался добавить команду маршрута в / etc / network / interfaces, но потом у меня получилось два повторяющихся идентичных маршрута, поэтому я снова удалил ее. Это был мой fwbuilder config, из-за которого этот маршрут был сброшен: при настройке адаптера eth1 я указал сетевую маску / 32 (т.е. хост) вместо / 24 (для локальной сети).
Тестируя клиент Debian, я смог понять это, после этого он работал, а клиент Windows 7 - нет.
Было две проблемы с установкой Windows.
Кредит для этого раздела принадлежит kalwi
Вы можете изменить интерфейс на частный, используя следующие две команды PowerShell:
# this first one will let you see the available connections,
# find the interface index of the one you would like to change
Get-NetConnectionProfile
Set-NetConnectionProfile -InterfaceIndex NN -NetworkCategory Private
В «Центре управления сетями и общим доступом» вы должны увидеть (как минимум) 2 «активные сети». У меня была беспроводная сеть, а затем «Неопознанная сеть». Последнее является устройством OpenVPN TAP, и на нем был значок скамейки в парке, что означало, что оно рассматривалось как общедоступное и ненадежное. Чтобы изменить это, вам необходимо добавить шлюз по умолчанию для адаптера.
Запустите терминал DOS / Cygwin как администратор. (Запустите Orb> найдите CMD> щелкните его правой кнопкой мыши> запустите от имени администратора).
Тогда сделай route print -4
. Вы увидите список интерфейсов. Каждая строка начинается с числа, а справа вы увидите имя. Определите номер интерфейса для адаптера TAP-Win32. Моему было 17.
Теперь добавьте маршрут:
route -p add 0.0.0.0 mask 0.0.0.0 1.2.3.4 metric 500 if 17
Где 1.2.3.4 должен быть IP-адресом вашего шлюза OpenVPN (показанным в столбце Gateway в выходных данных предыдущей команды), а 17 должен быть номером вашего интерфейса TAP. В -p
опция делает маршрут постоянным. Я сначала сделал это без этого, чтобы проверить. Это предполагает, что IP-адрес шлюза OpenVPN клиента не будет меняться между подключениями..
Как только вы это сделаете, должно появиться диалоговое окно с просьбой классифицировать новую сеть. выберите работай.
На этом этапе я мог отправлять трафик из локальной сети моей компании клиенту (проверено с помощью netcat), однако эхо-запросы все еще оставались без ответа.
Запустите Orb> Брандмауэр Windows в режиме повышенной безопасности, затем перейдите к Правилам для входящих подключений и Новое правило ...
Наконец пинги вернулись.