Привет!
Поднял OpenVPN сервер на Микротике(RouterOS) и два клиента(Windows10, DD-WRT). С виндовым все в порядке, но traceroute с dd-wrt не идет, таблицы и настройки клиентов - похожие. Не могу понять в какую сторону копать, буду благодарен за идеи.
- Mikrotik (LAN: 10.1.0.1/24, OpenVPN: 10.7.0.1/24)
- DD-WRT (LAN: 10.2.0.1/24, OpenVPN 10.7.0.2)
- Windows10 (OpenVPN 10.7.0.9)
OpenVPN конфиг(Windows10)proto tcp-client remote xxx dev tap nobind persist-key tls-client ca ca.crt cert da2.crt key da2.key verb 3 ns-cert-type server cipher AES-256-CBC auth SHA1 pull auth-user-pass auth.cfg route 10.1.0.0 255.255.255.0
route print (Windows10)Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 10.144.78.1 10.144.78.171 35 10.1.0.0 255.255.255.0 10.7.0.1 10.7.0.9 35 10.7.0.0 255.255.255.0 On-link 10.7.0.9 291 10.7.0.9 255.255.255.255 On-link 10.7.0.9 291 (DD-WRT аналогичную .2 не генерирует, добавлял руками - не помогло) 10.7.0.255 255.255.255.255 On-link 10.7.0.9 291 10.144.78.0 255.255.255.0 On-link 10.144.78.171 291 10.144.78.171 255.255.255.255 On-link 10.144.78.171 291 10.144.78.255 255.255.255.255 On-link 10.144.78.171 291 127.0.0.0 255.0.0.0 On-link 127.0.0.1 331 127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
OpenVPN конфиг(DD-WRT)root@gw2:~# cat /tmp/openvpncl/openvpn.conf ca /tmp/openvpncl/ca.crt cert /tmp/openvpncl/client.crt key /tmp/openvpncl/client.key management 127.0.0.1 16 management-log-cache 100 verb 3 mute 3 syslog writepid /var/run/openvpncl.pid client resolv-retry infinite nobind persist-key persist-tun script-security 2 dev tap1 proto tcp-client cipher aes-256-cbc auth sha1 auth-user-pass /tmp/openvpncl/credentials remote 10.33.92.196 1194 comp-lzo no tun-mtu 1500 mtu-disc yes route-delay 30 route 10.1.0.0 255.255.255.0 [br] root@gw2:~# cat /tmp/openvpncl/route-up.sh #!/bin/sh iptables -D POSTROUTING -t nat -o tap1 -j MASQUERADE iptables -I POSTROUTING -t nat -o tap1 -j MASQUERADE iptables -D INPUT -i tap1 -j ACCEPT iptables -I INPUT -i tap1 -j ACCEPT insmod ebtables insmod ebtable_filter insmod ebtable_nat insmod ebt_pkttype ebtables -t nat -D POSTROUTING -o tap1 --pkttype-type multicast -j DROP ebtables -t nat -I POSTROUTING -o tap1 --pkttype-type multicast -j DROP
route print (DD-WRT)Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.33.93.1 0.0.0.0 UG 0 0 0 vlan2 10.1.0.0 10.7.0.1 255.255.255.0 UG 0 0 0 tap1 10.2.0.0 * 255.255.255.0 U 0 0 0 br0 10.7.0.0 * 255.255.255.0 U 0 0 0 tap1 10.33.93.0 * 255.255.255.0 U 0 0 0 vlan2 127.0.0.0 * 255.0.0.0 U 0 0 0 lo 169.254.0.0 * 255.255.0.0 U 0 0 0 br0
tracert 10.1.0.1 (Windows10)Трассировка маршрута к 10.1.0.1 с максимальным числом прыжков 30 1 2 ms 2 ms 2 ms 10.1.0.1 Трассировка завершена.
traceroute 10.1.0.1 (DD-WRT)traceroute to 10.1.0.1 (10.1.0.1), 30 hops max, 38 byte packets 1 10.7.0.2 (10.7.0.2) 2992.232 ms !H 2995.873 ms !H 2996.786 ms !H
UPD1 Судя по tcpdump icmp-пакет зацикливается на локальной петле:root@gw2:~# tcpdump -i lo icmp 15:42:14.922679 IP 10.7.0.2 > 10.7.0.2: ICMP host 10.1.0.1 unreachable, length 46 15:42:17.920105 IP 10.7.0.2 > 10.7.0.2: ICMP host 10.1.0.1 unreachable, length 46 15:42:20.917525 IP 10.7.0.2 > 10.7.0.2: ICMP host 10.1.0.1 unreachable, length 46
Видимо, из-за этого маршрута10.7.0.0 * 255.255.255.0 U 0 0 0 tap1
UPD2
У OpenVPN едет крыша от «comp-lzo no», как только убрать - все едет. Вопрос только в том, как заставить DD-WRT не генерировать это.
UPD3
Оказывается disabled и no — разные вещи %)