Добрый вечер.
Появилась проблема, подключение openVPN перестал резольвить имена через внешние днс.
Что имеем:
сеть 192.168.1.0/24
шлюз 192.168.1.1 он же dhcp сервер.
впн сервер где то на другом полушарии, к которому доступа нет.
днс сервер х.х.х.х, который тоже черт знает где.
ноут с убунтой
lan - addr:192.168.1.30 gw:192.168.1.1 dns:x.x.x.x
tun0 - addr:z.z.z.22 peer:z.z.z.21
route -v
Destination Gateway Genmask Flags Metric Ref Use Iface
default z.z.z.21 128.0.0.0 UG 0 0 0 tun0
default 192.168.1.1 0.0.0.0 UG 600 0 0 wlp3s0
z.z.z.1 z.z.z.21 255.255.255.255 UGH 0 0 0 tun0
z.z.z.21 * 255.255.255.255 UH 0 0 0 tun0
vpnserver.com 192.168.1.1 255.255.255.255 UGH 0 0 0 wlp3s0
128.0.0.0 z.z.z.21 128.0.0.0 UG 0 0 0 tun0
link-local * 255.255.0.0 U 1000 0 0 wlp3s0
192.168.1.0 * 255.255.255.0 U 600 0 0 wlp3s0
без впн все работает, как только подключается впн имена перестаю резольвится.
Вот что говорит tcpdump на момент dns-запроса
19:26:22.682481 IP localhost.52082 > d138db1d.domain: 21447+ A? ex.ua. (23)
19:26:22.682748 IP 192.168.1.30.48780 > 8.8.8.8.domain: 18659+ A? ex.ua. (23)
19:26:22.726975 IP 8.8.8.8.domain > 192.168.1.30.48780: 18659 1/0/0 A 213.133.162.131 (39)
При этом трасса к 8.8.8.8 успешно прокладывается через tun0. Если поднять днс на шлюзе и выдавать его вместо x.x.x.x, то все работает.
как решается:
1.
/etc/init.d/openvpn start
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf
2.
/etc/init.d/openvpn start
ip rule add to 8.8.8.8 lookup 11
ip route add default via 192.168.1.1 table 11
Не помогает(что странно):
/etc/init.d/openvpn start
ip rule add to 8.8.8.8 lookup 11
ip route add default via z.z.z.21 table 11
Как не прибегая к костылям вернуть работоспособность впн? Спасибо!