Назад | Перейти на главную страницу

сайт на сайт openvpn с Merlin и DD-WRT

Я пытаюсь настроить сайт OpenVPN на сайт между сайтом A (Server-Merlin) и сайтом B (клиент DD-WRT). Подходит туннель, и оба одноранговых узла могут пинговать друг друга, но когда кто-либо в клиентской подсети (10.1.30.0/24) пытается пинговать любой хост на стороне сервера (10.1.10.0/24), пакеты отбрасываются сервером поскольку сервер не знает, как попасть в подсеть клиента даже после добавления маршрута. Вот конфиги:

Сервер

Автоматически созданная конфигурация

демон

сервер 172.16.254.0 255.255.255.248

прото udp

порт 1198

Dev tun21

шифр AES-256-CBC

comp-lzo адаптивный

Keepalive 15 60

глагол 3

нажмите "маршрут 10.1.10.0 255.255.255.0"

клиент-config-dir ccd

от клиента к клиенту

дубликат-cn

ca ca.crt

dh dh.pem

сертификат server.crt

ключ server.key

статус-версия 2

статус статус

Пользовательская конфигурация

ifconfig 172.16.254.1 255.255.255.248M

управление 127.0.0.1 5001M

auth none

Брандмауэр - Сервер

iptables -I INPUT 2 -p udp --dport 1198 -j ПРИНЯТЬ

iptables -I ВПЕРЕД -i br0 -o tun21 -j ПРИНЯТЬ

iptables -I ВПЕРЕД -i tun21 -o br0 -j ПРИНЯТЬ

Таблица маршрутизации Сервер:

172.16.254.2 dev tun21 ссылка на область видимости ядра прото src 172.16.254.1

Ссылка на область действия x.x.x.x dev eth0

172.16.254.0/29 через 172.16.254.2 dev tun21

x.x.x.x / 28 dev eth0 proto ссылка на область видимости ядра src x.x.x.x

10.1.10.0/24 dev br0 ссылка на область видимости ядра прото src 10.1.10.254

127.0.0.0/8 ссылка на область разработки для разработчиков

по умолчанию через x.x.x.x dev eth0

Конфигурация клиента:

ca /tmp/openvpncl/ca.crt

сертификат /tmp/openvpncl/client.crt

ключ /tmp/openvpncl/client.key

управление 127.0.0.1 5001

кэш-журнал управления 50

глагол 4

немой 3

журнал-добавление / var / журнал / openvpncl

writepid /var/run/openvpncl.pid

клиент

resolv-retry бесконечно

nobind

постоянный ключ

настойчивый туннель

скрипт безопасности 2

mtu-disc да

dev tun1

прото udp

шифр aes-256-cbc

auth none

удаленный x.x.x.x 1198

comp-lzo адаптивный

тун-мту 1500

fast-io

Клиентский брандмауэр

iptables -I INPUT 2 -p udp --dport 1198 -j ПРИНЯТЬ

iptables -I ВПЕРЕД -i br0 -o tun1 -j ПРИНЯТЬ

iptables -I FORWARD -i tun1 -o br0 -j ACCEPT

Таблица маршрутизации клиентов:

Таблица IP-маршрутизации ядра

Шлюз назначения Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.2.253 0.0.0.0 UG 0 0 0 eth1

10.1.10.0 172.16.254.5 255.255.255.0 UG 0 0 0 tun1

10.1.30.0 0.0.0.0 255.255.255.0 U 0 0 0 br0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br0

172.16.254.0 172.16.254.5 255.255.255.248 UG 0 0 0 tun1

172.16.254.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun1

192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

239.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 br0

Что странно, так это то, что на стороне клиента у устройства tun IP 172.16.254.6, у шлюза - 172.16.254.5, на стороне сервера - 172.16.254.1, а у tun IP 172.16.254.2. На стороне сервера я не могу пинговать 172.16.254.2, но я могу пинговать tun IP клиента (172.16.254.6), и наоборот, на стороне клиента я не могу пинговать 172.16.254.5, который является шлюзом, но я могу пинговать 172.16.254.1.

Серверные интерфейсы

IP-адрес

1: lo: mtu 16436 qdisc noqueue

ссылка / петля 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00

inet 127.0.0.1/8 brd 127.255.255.255 область видимости хоста lo

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

ссылка / эфир d8: 50: e6: cb: f5: f0 brd ff: ff: ff: ff: ff: ff

inet x.x.x.x / 28 brd x.x.x.x область видимости global eth0

3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000

ссылка / эфир d8: 50: e6: cb: f5: f0 brd ff: ff: ff: ff: ff: ff

4: eth2: mtu 1500 qdisc pfifo_fast qlen 1000

ссылка / эфир d8: 50: e6: cb: f5: f4 brd ff: ff: ff: ff: ff: ff

5: vlan1 @ eth0: mtu 1500 qdisc noqueue

ссылка / эфир d8: 50: e6: cb: f5: f0 brd ff: ff: ff: ff: ff: ff

6: vlan2 @ eth0: mtu 1500 qdisc noop

ссылка / эфир d8: 50: e6: cb: f5: f0 brd ff: ff: ff: ff: ff: ff

7: br0: mtu 1500 qdisc noqueue

ссылка / эфир d8: 50: e6: cb: f5: f0 brd ff: ff: ff: ff: ff: ff

inet 10.1.10.254/24 brd 10.1.10.255 область действия глобальная br0

8: tun21: mtu 1500 qdisc

pfifo_fast qlen 100

ссылка / [65534]

inet 172.16.254.1 одноранговый узел 172.16.254.2/32 глобальная область tun21

Клиентские интерфейсы:

ath0 Link encap: Ethernet HWaddr B0: C7: 45: 75: 1C: F6

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:2528056 errors:0 dropped:0 overruns:0 frame:0

     TX packets:3317121 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:177453174 (169.2 MiB)  TX bytes:539912763 (514.9 MiB)

ath1 Link encap: Ethernet HWaddr B0: C7: 45: 75: 1C: F7

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:0 errors:0 dropped:0 overruns:0 frame:0

     TX packets:12502 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:0 (0.0 B)  TX bytes:1688459 (1.6 MiB)

br0 Link encap: Ethernet HWaddr B0: C7: 45: 75: 1C: F6

     inet addr:10.1.30.251  Bcast:10.1.30.255  Mask:255.255.255.0

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:3715741 errors:0 dropped:3772 overruns:0 frame:0

     TX packets:5006361 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:0

     RX bytes:415672171 (396.4 MiB)  TX bytes:6820174338 (6.3 GiB)

br0: 0 Link encap: Ethernet HWaddr B0: C7: 45: 75: 1C: F6

     inet addr:169.254.255.1  Bcast:169.254.255.255  Mask:255.255.0.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0 Link encap: Ethernet HWaddr B0: C7: 45: 75: 1C: F6 UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1

     RX packets:610099 errors:0 dropped:4 overruns:18 frame:0

     TX packets:931175 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000

     RX bytes:263258272 (251.0 MiB)  TX bytes:833541212 (794.9 MiB)
     Interrupt:4

eth1 Link encap: Ethernet HWaddr B0: C7: 45: 75: 1C: F6

     inet addr:192.168.2.254  Bcast:192.168.2.255  Mask:255.255.255.0

     UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1

     RX packets:5071499 errors:0 dropped:787 overruns:0 frame:0

     TX packets:3681042 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:1000

     RX bytes:2519572372 (2.3 GiB)  TX bytes:462892303 (441.4 MiB)

     Interrupt:5

lo Link encap: Локальный шлейф

     inet addr:127.0.0.1  Mask:255.0.0.0

     UP LOOPBACK RUNNING MULTICAST  MTU:16436  Metric:1

     RX packets:421 errors:0 dropped:0 overruns:0 frame:0

     TX packets:421 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:0

     RX bytes:37100 (36.2 KiB)  TX bytes:37100 (36.2 KiB)

mon.ath0 Link encap: UNSPEC HWaddr B0-C7-45-75-1C-F6-00-00-00-00-00-00-00-00-00-00-00-00 ПЕРЕДАЧА ТРАНСЛЯЦИИ МУЛЬТИКАСТ MTU: 1500 Метрическая система: 1

     RX packets:462186 errors:0 dropped:0 overruns:0 frame:0

     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:105722162 (100.8 MiB)  TX bytes:0 (0.0 B)

mon.ath1 Link encap: UNSPEC HWaddr B0-C7-45-75-1C-F7-00-00-00-00-00-00-00-00-00-00-00-00

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:3114 errors:0 dropped:0 overruns:0 frame:0

     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:377428 (368.5 KiB)  TX bytes:0 (0.0 B)

tun1 Link encap: UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

     inet addr:172.16.254.6  P-t-P:172.16.254.5  Mask:255.255.255.255

     UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

     RX packets:268 errors:0 dropped:0 overruns:0 frame:0

     TX packets:14279 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:100

     RX bytes:22488 (21.9 KiB)  TX bytes:775355 (757.1 KiB)

Ping одноранговый IP-адрес с сервера:

пинг 172.16.254.2

PING 172.16.254.2 (172.16.254.2): 56 байтов данных

--- 172.16.254.2 статистика пинга ---

4 пакета передано, 0 пакетов получено, 100% потеря пакетов

Пингуйте IP-адрес клиента tun0 с сервера:

пинг 172.16.254.6

PING 172.16.254.6 (172.16.254.6): 56 байтов данных

64 байта из 172.16.254.6: seq = 0 ttl = 64 time = 30,222 мс

64 байта из 172.16.254.6: seq = 1 ttl = 64 time = 29,536 мс

64 байта из 172.16.254.6: seq = 2 ttl = 64 time = 30.918 мс

64 байта из 172.16.254.6: seq = 3 ttl = 64 time = 30,386 мс

64 байта из 172.16.254.6: seq = 4 ttl = 64 time = 30.788 мс

64 байта из 172.16.254.6: seq = 5 ttl = 64 time = 31,271 мс

--- 172.16.254.6 статистика пинга ---

6 пакетов передано, 6 пакетов получено, потеря пакетов 0%

туда и обратно мин. / сред. / макс. = 29,536 / 30,520 / 31,271 мс

Ping одноранговый IP-адрес от клиента:

пинг 172.16.254.5

PING 172.16.254.5 (172.16.254.5): 56 байтов данных

^ C --- 172.16.254.5 статистика пинга ---

7 пакетов передано, 0 пакетов получено, 100% потеря пакетов

Пинговать IP-адрес tun21 на сервере от клиента

пинг 172.16.254.1

PING 172.16.254.1 (172.16.254.1): 56 байтов данных

64 байта из 172.16.254.1: seq = 0 ttl = 64 time = 29,253 мс

64 байта из 172.16.254.1: seq = 1 ttl = 64 time = 31,730 мс

64 байта из 172.16.254.1: seq = 2 ttl = 64 time = 30.010 мс

^ C

--- 172.16.254.1 статистика пинга ---

3 пакета передано, 3 пакета получено, потеря пакетов 0%

туда и обратно мин. / сред. / макс. = 29,253 / 30,331 / 31,730 мс

Я попытался добавить маршрут к 10.1.30.0 (клиентская локальная сеть) на сервере, используя ip 172.16.254.6, но это позволило мне сопоставить его только с 172.16.254.2

ip route добавить 10.1.30.0/24 через 172.16.254.6 dev tun21

RTNETLINK отвечает: Нет такого процесса

ip route добавить 10.1.30.0/24 через 172.16.254.2 dev tun21

Пинг хоста в клиентской локальной сети с сервера - без кости

PING 10.1.30.100 (10.1.30.100): 56 байтов данных

--- 10.1.30.100 статистика пинга ---

3 пакета передано, 0 пакетов получено, 100% потеря пакетов

Ping хоста в локальной сети сервера от клиента - без кости

пинг 10.1.10.100

PING 10.1.10.100 (10.1.10.100): 56 байтов данных

^ C

--- 10.1.10.100 статистика пинга ---

2 пакета передано, 0 пакетов получено, 100% потеря пакетов

Журналы со стороны сервера:

LOG: 1432700723, D, Client / x.x.x.x: 44820 UDPv4 READ [81] из [AF_INET] x.x.x.x: 44820: P_DATA_V1 kid = 0 DATA len = 80

LOG: 1432700723`` Client / x.x.x.x: 44820 MULTI: неверный адрес источника от клиента [10.1.30.100], пакет отброшен

LOG: 1432700723, D, Client / x.x.x.x: 44820 UDPv4 READ [81] из [AF_INET] x.x.x.x: 44820: P_DATA_V1 kid = 0 DATA len = 80

LOG: 1432700723,, Client / x.x.x.x: 44820 MULTI: неверный адрес источника от клиента [10.1.30.106], пакет отброшен

LOG: 1432700724, D, Client / x.x.x.x: 44820 UDPv4 READ [81] из [AF_INET] x.x.x.x: 44820: P_DATA_V1 kid = 0 DATA len = 80

LOG: 1432700724`` Client / x.x.x.x: 44820 MULTI: неверный адрес источника от клиента [10.1.30.110], пакет отброшен

2700729,, Client / x.x.x.x: 44820 MULTI: неверный адрес источника от клиента [10.1.30.100], пакет отброшен

Журналы со стороны клиента:

ЖУРНАЛ: 1432686050, D, UDPv4 ЗАПИСАТЬ [81] в x.x.x.x: 1198: P_DATA_V1 kid = 0 DATA len = 80

ЖУРНАЛ: 1432686050, D, UDPv4 ЗАПИСАТЬ [81] в x.x.x.x: 1198: P_DATA_V1 kid = 0 DATA len = 80

ЖУРНАЛ: 1432686051, D, UDPv4 ЗАПИСАТЬ [81] на x.x.x.x: 1198: P_DATA_V1 kid = 0 DATA len = 80

Я даже запустил tcpdump на обоих маршрутизаторах и выяснил, что пакеты из локальной сети на стороне сервера даже не доходят до клиентского маршрутизатора.

Любая помощь будет оценена.

Спасибо

Я решил это, добавив следующие строки в свою конфигурацию

маршрут 10.1.30.0 255.255.255.0

нажмите "маршрут 10.1.10.0 255.255.255.0"

нажмите "маршрут 10.1.30.0 255.255.255.0"

и добавил следующие строки для моего клиента в папку CCD

меньше / tmp / и т.д. / openvpn / server1 / ccd / CALPHA

iroute 10.1.30.0 255.255.255.0