OpenVPN-клиент и сервер на одной машине для других OpenVPN-клиентов

Описание задачи:
На одной машине поднят OpenVPN-сервер и OpenVPN-клиент.
Клиент с адресом 10.6.6.12 смотрит в корпоративную сеть и ее подсети (таблица маршрутизации прилагается).
Нужно чтобы любой другой клиент (уже самого сервера) видел эти же подсети.

Данные:
eth0 Link encap:Ethernet HWaddr 00:1c:14:01:2f:84
inet addr:111.111.111.100 Bcast:111.111.111.101 Mask:255.255.255.240
inet6 addr: fe80::21c:14ff:fe01:2f84/64 Scope:Link

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1

tap0 Link encap:Ethernet HWaddr 76:e9:2e:da:18:3c
inet addr:10.6.6.12 Bcast:10.6.6.255 Mask:255.255.255.0
inet6 addr: fe80::74e9:2eff:feda:183c/64 Scope:Link

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255

10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
111.111.111.96/28 via 111.111.111.97 dev eth0
111.111.111.96/28 dev eth0 proto kernel scope link src 111.111.111.100
10.155.10.0/24 via 10.6.6.1 dev tap0
192.168.22.0/24 via 10.6.6.1 dev tap0
192.168.21.0/24 via 10.6.6.1 dev tap0
10.6.6.0/24 dev tap0 proto kernel scope link src 10.6.6.12
10.8.0.0/24 via 10.8.0.2 dev tun0
192.168.33.0/24 via 10.6.6.1 dev tap0
default via 78.46.203.97 dev eth0

Конфиг сервера(оставил только нужное)
dev tun
server 10.8.0.0 255.255.255.0
push «route 10.6.6.0 255.255.255.0»
client-to-client


Проблема:
При подключении клиента на IOS (Ipad) не видны подсети интерфейса tap0 (21.0/24, 10.0/24).
Виден сам интерфейс 10.6.6.12.

Насколько я понимаю, я должен указать клиенту что-то вроде
ip route add 192.168.21.0/24 via 10.6.6.1 dev tap0

но как это сделать с помощью конфига я не понимаю, а на самом паде это сделать невозможно.
Пытался сделать вот так:
push «route 192.168.21.0 255.255.255.0»
push «route-gateway 10.6.6.1»

к результату не привело.

Какие варианты можно использовать?
  • Вопрос задан
  • 7725 просмотров
Решения вопроса 1
geirby
@geirby Автор вопроса
Решение:
vim /etc/rc.local
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADE

/etc/rc.local restart
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Anastasia_K
@Anastasia_K
push «route 192.168.21.0 255.255.255.0 10.6.6.12»
Ответ написан
У вас проблема скорее всего заключается не в вашем сервере и даже не на клиенте IOS. Проблема в том, что корпоративная сеть и её подсети ничего не знают о сети 10.8.0.0/24. Маршрутизацию необходимо прописывать на шлюзах тех сетей (21.0/24, 10.0/24).

Посмотрите tcpdump'ом на всех устройствах в какую сторону проходят пакеты. Могу предположить что на VPN-сервере (10.6.6.1) нужно добавить: route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.6.6.12 или ещё дальше:

IOS(10.8.0.2) --> VPN-server(10.8.0.1) --> VPN-client (10.6.6.12) --> VPN-server(10.6.6.1) --> GATEWAY(192.168.21.1) --> PC(192.168.21.134) --> GATEWAY(192.168.21.1) --> В интернет

Пробуйте погуглить: www.google.ru/#fp=64f00f11532cad7b&newwindow=1&q=iproute2+quagga+zebra+bgpd
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы