Сеть за клиентом OpenVPN

Сеть за клиентом OpenVPN

Добрый день, у меня проблема с сетью OpenVPN. Основная идея, как показано на рисунке, удаленный сервер OpenVPN, 2 клиента, MyPC и клиент OpenWRT со своей собственной сетью с Client_1 и Client_2. Мне нужно иметь возможность добраться до Client_1 с MyPC и наоборот. Похоже на проблему маршрутизации или пересылки.


|-----------------------|           |-----------------------------------|
|Ubuntu 14.04           |           |OpenWRT router                     |
|OpenVPN Server         |  <----->  |Acts as OpenVPN client             |
|WAN 192.168.1.197      |           |LAN: 192.168.0.1, WAN:192.168.1.1  |
|OpenVPN IP: 172.20.2.1 |           |OpenVPN IP:172.20.1.100            |
|-----------------------|           |-----------------------------------|
            ^                               ^                   ^
            |                               |                   |
            |                               |                   |
            v                               v                   v
|-----------------------|           |-------------------| |------------------|
|MyPC, OpenVPN client   |   (1)     |Network client_1   | |Network client_2  |
|LAN: 192.168.1.205     | <-------> |LAN: 192.168.0.213 | |LAN: 192.168.1.101|
|OpenVPN IP:172.20.2.101|           |-------------------| |------------------|
|-----------------------|

Результат пинга

Пинг MyPC -> сервер OpenVPN в порядке
Пинг MyPC -> OpenWRT OK
Ping MyPC -> client_1 Ответ от 192.168.1.205: Узел назначения недоступен.

Пинг сервера OpenVPN -> MyPC OK
Пинг сервера OpenVPN -> OpenWRT OK
Пинг сервера OpenVPN -> client_1 с 192.168.1.197 icmp_seq=1 Узел назначения недоступен

Пинг OpenWRT -> сервер OpenVPN ОК
Пинг OpenWRT -> MyPC ОК
Пинг OpenWRT -> client_1 ОК

Ping client_1 -> OpenVPN server From 192.168.0.1 icmp_seq=1 Порт назначения недоступен
Ping client_1 -> MyPC С 192.168.0.1 icmp_seq=1 Порт назначения недоступен
Пинг клиент_1 -> OpenWRT ОК

Конфигурации OpenVPN, сервер и клиенты

======OpenVPN configuration ===================================================================
port 1198
proto udp
dev tap2
ca keys/remote_management/ca.crt
cert keys/remote_management/remote_man.crt
key keys/remote_management/remote_man.key
dh keys/remote_management/dh4096.pem
server-bridge 172.20.2.1 255.255.255.0 172.20.2.100 172.20.2.253 #@@ br1 eth2
crl-verify keys/remote_management/crl.pem
ifconfig-pool-persist servers/remote_man/logs/ipp.txt
tls-auth servers/remote_man/ta.key 0
cipher AES-128-CBC
user nobody
group nogroup
status servers/remote_man/logs/openvpn-status.log
log-append servers/remote_man/logs/openvpn.log
verb 2
mute 20
max-clients 10
management 127.0.0.1 7507
keepalive 10 120
client-config-dir /etc/openvpn/servers/remote_man/ccd
tls-server
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 172.20.2.0 255.255.255.0"
route 192.168.0.0 255.255.255.0

======OpenVPN client MyPC configuration ======================================================
client
proto udp
dev tap
ca ca.crt
dh dh4096.pem
cert ***.crt
key ***.key
remote *** 1198
tls-auth ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

======OpenVPN client OpenWRT configuration ===================================================
client
proto udp
dev tap
ca /etc/openvpn/sol102/ca.crt
dh /etc/openvpn/sol102/dh4096.pem
cert /etc/openvpn/sol102/sol102.crt
key /etc/openvpn/sol102/sol102.key
remote *** 1198
tls-auth /etc/openvpn/sol102/ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

Конфигурации OpenWRT

======Конфигурация сети OpenWRT==================================================================
интерфейс конфигурации «loopback»
        опция ifname 'lo'
        вариант proto 'статичный'
        опция ipaddr '127.0.0.1'
        опция сетевой маски '255.0.0.0'

глобальные параметры конфигурации 'глобальные'
        опция ula_prefix 'fdf2:d4ae:ecd5::/48'

интерфейс конфигурации 'lan'
        опция ifname 'eth0.1'
        опция force_link '1'
        тип опции «мост»
        вариант proto 'статичный'
        опция сетевая маска '255.255.255.0'
        опция ip6assign '60'
        опция ipaddr '192.168.0.1'

интерфейс конфигурации 'wan'
        опция ifname 'eth0.2'
        вариант proto 'dhcp'

интерфейс конфигурации 'wan6'
        опция ifname '@wan'
        вариант proto 'dhcpv6'

переключатель конфигурации
        имя опции 'switch0'
        вариант сброса '1'
        опция enable_vlan '1'

конфигурация switch_vlan
        опциональное устройство 'switch0'
        опция vlan '1'
        опциональные порты '1 2 3 4 5t'

конфигурация switch_vlan
        опциональное устройство 'switch0'
        опция vlan '2'
        опциональные порты '0 5t'

интерфейс конфигурации 'OVPN'
        вариант proto 'none'
        вариант делегата '0'
        опция ifname 'tap0'

======Конфигурация брандмауэра OpenWRT===================================================================
настройки конфигурации по умолчанию
        опция syn_flood '1'
        вариант ввода «ПРИНЯТЬ»
        выход опции «ПРИНЯТЬ»
        вариант переадресации «ОТКЛОНИТЬ»

зона конфигурации
        имя опции 'lan'
        вариант ввода «ПРИНЯТЬ»
        выход опции «ПРИНЯТЬ»
        вариант переадресации «ОТКЛОНИТЬ»
        опция сети 'lan'

зона конфигурации
        имя опции 'wan'
        вариант ввода «ОТКЛОНИТЬ»
        выход опции «ПРИНЯТЬ»
        вариант переадресации «ОТКЛОНИТЬ»
        опция маска '1'
        опция сети 'wan wan6'

правило конфигурации
        Имя параметра «Разрешить-DHCP-Обновление»
        вариант src 'wan'
        вариант proto 'udp'
        опция dest_port '68'
        вариант цели «ПРИНЯТЬ»
        семейство опций 'ipv4'

правило конфигурации
        название опции «Разрешить пинг»
        вариант src 'wan'
        вариант proto 'icmp'
        опция icmp_type 'echo-request'
        семейство опций 'ipv4'
        вариант цели «ПРИНЯТЬ»

правило конфигурации
        имя параметра «Разрешить-DHCPv6»
        вариант src 'wan'
        вариант proto 'udp'
        опция src_ip 'fe80::/10'
        опция src_port '547'
        опция dest_ip 'fe80::/10'
        опция dest_port '546'
        семейство опций 'ipv6'
        вариант цели «ПРИНЯТЬ»

правило конфигурации
        Имя параметра «Разрешить-ICMPv6-Вход»
        вариант src 'wan'
        вариант proto 'icmp'
        список icmp_type 'echo-request'
        список icmp_type 'echo-reply'
        список icmp_type 'назначение-недоступно'
        список icmp_type 'пакет-слишком-большой'
        список icmp_type 'время-превышено'
        список icmp_type 'плохой заголовок'
        список icmp_type 'неизвестный-тип-заголовка'
        список icmp_type 'router-solicitation'
        список icmp_type 'сосед-собеседование'
        список icmp_type 'router-advertisement'
        список icmp_type 'сосед-реклама'
        ограничение опции «1000/сек»
        семейство опций 'ipv6'
        вариант цели «ПРИНЯТЬ»

правило конфигурации
        Имя параметра «Разрешить-ICMPv6-Forward»
        вариант src 'wan'
        опция назначения '*'
        вариант proto 'icmp'
        список icmp_type 'echo-request'
        список icmp_type 'echo-reply'
        список icmp_type 'назначение-недоступно'
        список icmp_type 'пакет-слишком-большой'
        список icmp_type 'время-превышено'
        список icmp_type 'плохой заголовок'
        список icmp_type 'неизвестный-тип-заголовка'
        ограничение опции «1000/сек»
        семейство опций 'ipv6'
        вариант цели «ПРИНЯТЬ»

конфигурация включает
        путь к опции '/etc/firewall.user'

зона конфигурации
        выход опции «ПРИНЯТЬ»
        имя опции 'OVPN_FW'
        опция маска '1'
        вариант ввода «ПРИНЯТЬ»
        вариант переадресации «ОТКЛОНИТЬ»
        опция сети 'OVPN'
        опция mtu_fix '1'

пересылка конфигурации
        опция назначения 'OVPN_FW'
        вариант src 'lan'

пересылка конфигурации
        вариант назначения 'wan'
        вариант src 'lan'

пересылка конфигурации
        опция назначения 'lan'
        вариант src 'OVPN_FW'

У меня есть tcpdump

======OpenVPN server tcpdump icmp filtered ====================================================  
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:14.652217 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.652244 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:17.656214 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.656241 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:20.660206 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.660233 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:23.666797 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:23.666824 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68


======OpenWRT client tcpdump icmp filtered ==================================================== 
12:44:17.299404 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:18.461809 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:19.464258 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.466652 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.944332 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:32.311732 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 308

Редактировать: Не могу разместить так много кода, поэтомуhttp://pastebin.com/ThgqBUgM(Ссылка больше не действительна)

решение1

Ваша проблема, вероятно, в маршрутизации, сервер Ubuntu должен знать, где найти 192.168.0.0/24 - route add -net 192.168.0.0/24 gw 172.20.1.100, без этого этот маршрут совпадает со шлюзом по умолчанию, и пакеты маршрутизируются с использованием неправильного интерфейса. Каждое устройство, которое пересылает пакеты (OpenWRT и Ubuntu), должно знать о 3 сетях: 192.168.0.0/24, 192.168.1.0/24и 172.20.1.0/24.

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