Клиенты OpenVPN не могут получить доступ к локальной сети

Клиенты OpenVPN не могут получить доступ к локальной сети

Openvpn: клиенты подключены к серверу = брандмауэру; но не могут получить доступ к базе данных в локальной сети

У меня 5 vlan:

vlan 2: 192.168.12.0/24
vlan 3: 192.168.13.0/24
vlan 4: 192.168.14.0/24
vlan 5: 192.168.15.0/24
vlan 6: 192.168.100.0/24

Все локальные сети были подключены к коммутатору Cisco 3650 уровня 3. Коммутатор уровня 3 подключен к брандмауэру (CentOS 6.2 с установленными Squid и Shorewall 4);

Брандмауэр имеет eth0: 172.16.1.101, подключенный к модему: 172.16.1.1; eth1: 192.168.99.99, подключенный к коммутатору уровня 3: 192.168.99.100, без порта коммутатора.

VPN-клиент подключается и имеет класс IP: 192.168.10.0/24. Теперь весь трафик из локальной сети в Интернет идет нормально, никаких проблем.

Когда клиенты используют openvpn, успешно подключаются к серверу, но не могут пинговать или получить доступ к каким-либо компьютерам в локальной сети. Что я сделал не так?

решение1

Это может быть как проблема маршрутизации, так и проблема брандмауэра. В первую очередь вам следует проверить, можете ли вы пинговать сервер/брандмауэр с vpn-клиента. Проверьте, можете ли вы пинговать адрес eth1 и tun1.

Если эта проверка не удалась, у вас, вероятно, отсутствует маршрут. Возможно, openVPN не заставляет клиента устанавливать маршруты для внутренней подсети.

На клиенте, если это Linux, вам нужно запустить route -nи проверить, есть ли у него шлюз для вашей удаленной локальной сети.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.99.0    192.168.10.##   255.255.255.0   UG    0      0        0 tun1
...

192.168.10.## должен быть адресом интерфейса tun1 на сервере/брандмауэре.

Если маршрут есть, вы сможете выполнить ping по крайней мере на адрес tun1 iface.

Для более быстрой отладки вы можете отключить shorewall, кстати, вам следует проверить правила брандмауэра, вам нужно включить переадресацию с интерфейса VPN Tun на LAN и наоборот.

Использование IPTables должно выглядеть примерно так:

# iptables -A FORWARD -i tun+ -o eth1 -j ACCEPT
# iptables -A FORWARD -i eth1 -o tun+ -j ACCEPT

tun+ означает «любой tun», вам следует использовать ваше настоящее устройство tun, проверьте его с помощью ifconfig.

Связанный контент