Я пытаюсь настроить сайт 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